Monta
Monta API

Schemas


AddVehicleUser

userId
​integer · int64 · required

Id of the user to share the vehicle with. Must belong to the vehicle's team or already be a shared user.

Example: 3

AdditionalPricing

type
​string · enum · required

Type of the additional pricing. absolute means the value is a price.

Enum values:
absolute
percentage
Example: percentage
​object · required

The value of this additional pricing. Both absolute and percentage values here are represented as a money object.

title
​string | null

A title for this additional pricing.

AdditionalPricingType

string · enum
Enum values:
absolute
percentage

Address

address1
​string · required

First line of address

Example: Strandboulevarden 122
zip
​string · required

Zip-code

Example: 2100
city
​string · required

City (readable)

Example: Copenhagen
address2
​string | null

Second line of address

Example: København
address3
​string | null

Third line of address

Example: 5. sal
province
​string | null

Province

Example: Lombardy
country
​string | null

Country (readable)

Example: Denmark
countryAreaId
​integer | null · int64

Country area id

Example: 1

AfirChargePointDto

id
​integer · int64 · required

Id of this charge point.

Example: 1
evseId
​string · required

The EVSE id for this charge point.

Example: DK*MON*E2
​object · required

Location information for this charge point.

​object · required

Indicates public opening hours for this charge point.

​ChargePointConnector[] · required

List of supported connector types at this charge point (e.g. type-2, ccs, ...).

isOperational
​boolean · required

Indicates if this charge point is operational.

Example: true
isAvailable
​boolean · required

Indicates if this charge point is available for charging right now.

Example: true
roamingOperatorId
​string | null

The Roaming Operator ID for this charge point.

Example: MON
roamingOperatorName
​string | null

The Roaming Operator Name for this charge point.

Example: Provided by Monta
roamingOperatorContactEmail
​string | null

The Roaming Operator contact email for this charge point.

Example: support@monta.com
disabledParkingSpots
​integer | null · int32

The amount of disabled parking spots
null indicates this information is not provided.

Example: 2
isRenewableElectricity
​boolean | null

Indicates if this Charge Point is running 100% renewable energy
null indicates this information is not provided.

Example: false
vehicleCompatibility
​array | null

List of vehicle types supported at this charge point.
null indicates this information is not provided.

Example: null
type
​string | null · enum

Type of charge point (AC / DC).

Enum values:
ac
dc
Example: ac
maxKw
​number | null · double

Max KW available at this charge point.

Example: 150
state
​string | null · enum

State of the charge point.

Enum values:
available
busy
busy-blocked
busy-charging
busy-non-charging
busy-non-released
busy-reserved
busy-scheduled
Example: available
publicPriceLabel
​string | null

Public Price label of this charge point.

Example: 0.49 EUR/kWh

AfirChargePointDto.OpeningHours

openTwentyFourSeven
​boolean · required

Indicates if this charge point is available 24/7.

Example: true
​object

If openTwentyFourSeven is false, this field contains the opening hours for this charge point.

AfirChargePointDto.OpeningHours.Schedule

​array | null
​array | null
​array | null
​array | null
​array | null
​array | null
​array | null

AfirChargePointDto.OpeningHours.Schedule.OpeningHourEntry

from
​string · required
to
​string · required

Alert

An operational alert aggregating one or more issues for your operator.
id
​string · required

Id of the alert.

Example: 8821
type
​string · required

The aggregated issue-type token this alert groups.

Example: charge_point_offline
​AlertScope · required

What an alert or issue is about.

status
​string · enum · required

Current status of the alert.

Enum values:
open
acknowledged
snoozed
resolved
unknown
Example: open
operatorId
​integer · int64

Id of the operator this alert belongs to.

Example: 1
title
​string | null

Human label for the alert, if set.

triggerReason
​string | null

Human-readable explanation for why this alert was raised, if set.

issueCount
​integer · int64

Number of issues currently attached to this alert.

Example: 3
eventCount
​integer · int64

Total events across every attached issue.

Example: 47
chargePointCount
​integer · int64

Number of distinct charge points across every attached issue.

Example: 2
firstEventAt
​string | null · date-time

Earliest event across every attached issue, if any.

lastEventAt
​string | null · date-time

Most recent event across every attached issue, if any.

isManual
​boolean

Whether this alert was created by hand rather than by the alerting engine.

Example: false
snoozedUntil
​string | null · date-time

When a snoozed alert automatically re-opens, if set.

​array | null

Day-bucketed event counts across every attached issue.

AlertComment

A comment left on an alert or an issue.
id
​string · required

Id of the comment.

Example: 331
authorName
​string · required

Display name of the author.

Example: Jane Doe
body
​string · required

Comment body.

Example: Escalated to the site owner.
createdAt
​string · date-time · required

When the comment was posted.

Example: 2026-06-26T13:40:00Z
authorId
​string | null

Author's user id, if known.

AlertDetail

An alert with its member issues, delivery notifications and event-source breakdown.
id
​string · required

Id of the alert.

Example: 8821
operatorId
​integer · int64 · required
type
​string · required
​AlertScope · required

What an alert or issue is about.

status
​string · required
issueCount
​integer · int64 · required
eventCount
​integer · int64 · required
chargePointCount
​integer · int64 · required
isManual
​boolean · required
​Issue[] · required

Issues attached to this alert.

​AlertNotification[] · required

Notifications (Monta workflow runs) this alert has produced.

​object · required

Event-source breakdown across every attached issue.

title
​string | null
triggerReason
​string | null
firstEventAt
​string | null · date-time
lastEventAt
​string | null · date-time
snoozedUntil
​string | null · date-time
​array | null

AlertEvent

A single raw event attached to an issue.
id
​string · required

Id of the event.

Example: 990112
source
​string · required

System that produced the event.

Example: ocpp
type
​string · required

Type of the event.

Example: charge_point_offline
occurredAt
​string · date-time · required

When the source system observed this event.

Example: 2026-06-26T13:40:00Z
chargePointId
​string | null

Charge point this event concerns, if any.

connectorId
​integer | null · int32

Connector index this event concerns, if any.

siteId
​string | null

Site this event concerns, if any.

teamId
​string | null

Team this event concerns, if any.

AlertEventFrequencyBucket

Number of events in one day-bucket.
start
​string · date-time · required

Start of the day bucket (UTC).

Example: 2026-06-26T00:00:00Z
count
​integer · int64

Number of events in this bucket.

Example: 12

AlertNotification

One Monta workflow run triggered by this alert.
id
​string · required

Id of the workflow trigger.

Example: 551
workflowName
​string · required

Name of the workflow that ran.

Example: Notify site owner
triggeredAt
​string · date-time · required

When the workflow triggered.

Example: 2026-06-26T13:40:00Z
outcome
​string · enum · required

Outcome of the workflow run.

Enum values:
sent
pending
filtered
resolved
unknown
Example: sent
channels
​string[] · required

Channels the workflow delivered on; populated only for sent.

Example: ["email","sms"]

AlertScope

What an alert or issue is about.
type
​string · enum · required

The kind of entity this alert or issue is scoped to.

Enum values:
operator
site
charge-point
unknown
Example: charge-point
id
​string · required

Id of the scoped entity.

Example: 42

AlertScopeInput

What a new alert or issue is about.
type
​string · enum · minLength: 1 · required

The kind of entity.

Enum values:
operator
site
charge-point
Example: charge-point
id
​string · minLength: 1 · required

Id of the entity. For operator it must be the operator the alert or issue is created under.

Example: 42

Amenity

attribute
​string · enum · required

Amenity attribute name

Enum values:
ATM
DIGITAL_CHARGE_PRICE_DISPLAY
DRIVER_LOUNGE
FUEL_STATION
PARKING_AREA
POWER_SUPPLY
SHOWER
VENDING_MACHINE
Example: wifi
​object | null

Amenity value

Example: true

AmenityAttribute

string · enum
Enum values:
ATM
DIGITAL_CHARGE_PRICE_DISPLAY
DRIVER_LOUNGE
FUEL_STATION
PARKING_AREA
POWER_SUPPLY
SHOWER
VENDING_MACHINE

AmenityRequest

attribute
​string · enum · required

Amenity attribute name

Enum values:
ATM
DIGITAL_CHARGE_PRICE_DISPLAY
DRIVER_LOUNGE
FUEL_STATION
PARKING_AREA
POWER_SUPPLY
SHOWER
VENDING_MACHINE
Example: wifi
value
​boolean | null

Amenity value

Example: true

AmenityUpdate

attribute
​string · enum · required

Amenity attribute name

Enum values:
ATM
DIGITAL_CHARGE_PRICE_DISPLAY
DRIVER_LOUNGE
FUEL_STATION
PARKING_AREA
POWER_SUPPLY
SHOWER
VENDING_MACHINE
Example: wifi
​object | null

Amenity value

Example: true

AppliedPriceGroupTeam

teamId
​integer · int64 · required
teamName
​string · required
totalChargePointCount
​integer · int32 · required
appliedChargePointCount
​integer · int32 · required
appliedCostCount
​integer · int32 · required
appliedRoamingCount
​integer · int32 · required
appliedMemberCount
​integer · int32 · required
totalMemberCount
​integer · int32 · required

ApplyChargePoints

charge_point_ids
​integer[] · required

Ids of the charge points to assign to the payment terminal. Pass an empty list to clear the current assignment. All ids must belong to the payment terminal's team.

Example: [1,2,3]

ApplyPriceGroup

selectedChargePointIds
​array | null

List of charge point ids

selectedSiteIds
​array | null

List of site ids

selectedTeamMemberIds
​array | null

List of team member ids

resetCost
​boolean | null

Flag to indicate if costs should be reset

teamId
​integer | null · int64

Team to apply the price group to. Only relevant for operator-owned price groups: if provided, the price group is applied to that team only; if omitted, it is applied across every team under the operator.

ApplyRevenueShareAgreement

policyCode
​string · minLength: 1 · required

Code of the policy this agreement applies.

Example: P-ACME-3
sourceTeamId
​integer · int64 · required

Id of the team the revenue is shared from.

Example: 1024
recipientTeamId
​integer · int64 · required

Id of the team the revenue is shared to.

Example: 2048
attributionSourceTeamId
​integer | null · int64

Optional id of the team charges are attributed to.

Example: 1024
startedAt
​string | null · date-time

Optional start of the agreement.

Example: 2026-01-01T00:00:00Z

ApplyTeamMemberFeeDto

team_member_ids
​integer[] · minItems: 1 · maxItems: 1000 · required

Ids of the team members the fee should be applied to.

Example: [101,102]

ApproveSubscription

nextPurchaseAt
​string | null · date-time

Date when wallet will be charged for the first time (ISO8601: yyyy-MM-ddTHH:mm:ssZ).

Example: 2022-10-22T09:30:03Z
sendNotifications
​boolean | null

Whether to send the subscription-approved notifications (e.g. the confirmation or add-a-payment-card email to the team's admins). Defaults to true. Set to false to suppress them, e.g. when migrating existing customers from another CPMS.

Default: true

AttachEvseRequest

chargingStationIdentity
​string · required
connectorId
​integer · int32 · required
phaseSetup
​string · required
zeroAllowed
​boolean · required
loadManagementDisabled
​boolean · required
minCurrentA
​number | null · double
maxCurrentA
​number | null · double
maxPowerW
​number | null · double
minPowerW
​number | null · double

AuditEvent

An event describing a single action taken within the system by a user
id
​string · required

A unique identifier used for single retrieval and paging

Example: MTcwNjYyMTcwMDEyM3xfTVF0eG8wQjVXRnNEN194ZC1uaw==
timestamp
​string · date-time · required

The time (UTC) the action was taken

Example: 2024-02-22T18:01:26.242Z
operatorId
​integer · int64 · required

The operator under which the action was taken

Example: 1
​object · required

User details (at the time of the event) of the user that performed the action

action
​string · required

The action (verb) that was performed, like CREATE, UPDATE, DELETE, TRIGGER

Example: UPDATE
entityId
​string · required

The ID of the entity (subject) that the event applies to

Example: 1
entityType
​string · required

The type of the entity (subject) that the event applies to, like Operator, Team, OperatorUser, TeamMember

Example: Team
​object · required

Additional data + context for the action taken

teamId
​integer | null · int64

The team under which the action was taken, if any

Example: 1
operation
​string | null

The specific command that was issued, for actions that carry one (like TRIGGER). Values are open-ended, like REBOOT, UNLOCK, SYNC, FIRMWARE_UPDATE.

Example: REBOOT
​object

What initiated the action, if known

AuditEventSource

What initiated the action that produced the event
type
​string · required

The kind of actor that initiated the action: USER, SYSTEM or ANONYMOUS. This list is open-ended and may gain new values without a version bump.

Example: SYSTEM
authorizeLink
​string · required

Link the user follows to authorize their vehicle account

Example: https://link.enode.com/abc123
provider
​string · required

Vehicle integration provider that issued the link

Example: enode
authFlow
​string · required

Authorization flow the client should use to complete linking

Example: enode-sdk
token
​string | null

Token identifying the authorization session

Example: 8c3f0b2e-1a4d-4f7e-9c2b-1d2e3f4a5b6c

AutoStart

Auto-start status of a charge point
autoStart
​string · enum · required

Current auto-start status. not-available means the charge point is public or its model does not support auto-start.

Enum values:
on
off
not-available
Example: off

AutoStartStatus

string · enum
Enum values:
on
off
not-available

Auto-start status values

AutoStartUpdateState

string · enum
Enum values:
on
off

Allowed values for the auto-start update body

AvailableEvse

chargingStationIdentity
​string · required
connectorId
​integer · int32 · required
name
​string | null
operatorName
​string | null
modelImageUrl
​string | null
brandName
​string | null
modelName
​string | null

AvailableEvseList

​AvailableEvse[] · required

BankAccount

name
​string · required

Name of the bank account

Example: Primary account
createdAt
​string · date-time · required

When the bank account was created

Example: 2022-05-12T15:56:45Z
id
​integer · int64

Id of the bank account

Example: 1
type
​string | null · enum

Which set of fields identifies the account. Determines what the other fields must contain.

Enum values:
iban
swift
bsb
sort_account
routing_account
local_canadian
emirates
Example: iban
iban
​string | null

IBAN of the bank account

Example: DK5000400440116243
swift
​string | null

SWIFT/BIC of the bank account

Example: IIIGGB22
bsb
​string | null

BSB number of the bank account (Australia)

Example: 805050
sortCode
​string | null

Sort code of the bank account (United Kingdom)

Example: 12-34-56
accountNumber
​string | null

Account number of the bank account

Example: 654318465131864
routingNumber
​string | null

Routing number of the bank account (United States)

Example: 123456789
accountType
​string | null · enum

Account type, required with receive option routing_account

Enum values:
checking
savings
Example: checking
transitNumber
​string | null

Transit number of the bank account

Example: 12345
institutionNumber
​string | null

Institution number of the bank account

Example: 001
currencyId
​integer · int64

Id of the bank account's currency

Example: 1
updatedAt
​string | null · date-time

When the bank account was last updated

Example: 2022-05-12T15:56:45Z

BatteryProtectionState

zeroUntil
​string | null · date-time
lockedUntil
​string | null · date-time

Breakdown

subTotalPrice
​integer · int64 · required

The total price for this breakdown entry

Example: 100
subTotalMasterPrice
​integer · int64 · required

The total master price for this breakdown entry

Example: 50
subTotalSecondaryPrice
​integer · int64 · required

The total secondary price for this breakdown entry

Example: 25
​Component[] · required

The list of prices and tariffs relevant for this breakdown entry

from
​string | null · date-time

The initial timestamp for this breakdown entry, currently in hourly format

Example: 2022-04-22T09:00:00Z
to
​string | null · date-time

The final timestamp for this breakdown entry, currently in hourly format

Example: 2022-04-22T09:59:59Z
coveredKwh
​number | null · double

How many kWh of this breakdown entry were paid for by the promotion code's kWh allowance. The allowance covers the earliest kWh of the charge first, so it fills whole entries until it runs out, then one entry partially, then nothing. Null when the charge carries no promotion code, and on the cost breakdown.

Example: 1.25

BreakdownSummary

totalMasterPrice
​integer · int64 · required

Total master price for the given charge

Example: 1000
totalSecondaryPrice
​integer · int64 · required

Total secondary price for the given charge

Example: 500
totalFees
​integer · int64 · required

Total fees for the given charge

Example: 500
totalAdjustments
​integer · int64 · required

Total adjustments for a given charge, for instance, based on certain business rules, the final price may be adjusted to prevent it from exceeding 1000 EUR

Example: 200
totalPrice
​integer · int64 · required

Total price for the given charge

Example: 2220
totalDiscount
​integer | null · int64

Total discount applied for the given charge

Example: 2220

BulkCreatePromotionCode

name
​string · minLength: 1 · required

Name shared by every code in the batch

Example: Newsagent voucher
codes
​string[] · minItems: 1 · maxItems: 5000 · required

The codes to create, chosen by you, up to 5000 per request. Each must be lowercase alphanumeric with optional hyphens, at most 64 characters, and unique within the request. A shared prefix is worth keeping: pass it to GET /promotion-codes?codePrefix= to list the batch again.

Example: ["logista-a7f3k2","logista-b1c9d4"]
amount
​number · double · min: 0.1 · max: 500 · required

Currency amount deposited into the driver's wallet when a code is redeemed (max 500). Every code in the batch carries the same amount and is single-use — send one request per amount.

Example: 45
description
​string | null

Description shared by every code in the batch

Example: 45 EUR welcome credit
startAt
​string | null · date-time

When the codes become redeemable (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Set a future date to issue the batch inactive — a code stays unredeemable until this passes, so vouchers can be printed and distributed before they carry value, then activated per code with PATCH /promotion-codes/{id} when one is sold.

Example: 2030-01-01T00:00:00Z
endAt
​string | null · date-time

When the codes expire (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2026-12-31T23:59:59Z

BulkCreateSubscription

planIds
​integer[] · minItems: 1 · maxItems: 50 · required

Ids of plans the team should be subscribed to. Each plan is processed independently — failures do not abort siblings.

teamId
​integer · int64

Id of the team that should be subscribed to all selected plans

userId
​integer | null · int64

The user that should be assigned as the purchaser of the subscriptions. If not provided, the subscriptions will be assigned to the default user for this consumer.

nextPurchaseAt
​string | null · date-time

Date when the wallet will be charged for the first time (ISO8601). Has to be a date in the future.

Example: 2025-10-22T09:30:03Z
sendNotifications
​boolean | null

Whether to send the subscription-created notifications (e.g. confirmation email to the team's admins). Defaults to true. Set to false to suppress them, e.g. when migrating existing customers from another CPMS. Applies to every subscription in the bulk request.

Default: true

BulkCreateSubscriptionResult

status
​string · enum · required

Outcome of the create attempt for this plan

Enum values:
created
failed
Example: created
planId
​integer · int64

Plan id this result corresponds to

​object

Created subscription, present only when status is created

error
​string | null

Failure reason, present only when status is failed

BulkCreateSubscriptionStatus

string · enum
Enum values:
created
failed

BulkInviteTeamMember

​BulkInviteTeamMemberItem[] · minItems: 1 · maxItems: 50 · required

Members to invite to the team. Each item is processed independently — a failure on one member does not abort siblings. The response lists every input item with its individual outcome.

teamId
​integer · int64

Id of the team that the members will be invited to. All members in the request are added to this team.

Example: 1

BulkInviteTeamMemberItem

role
​string · enum · required

Role for this member within the team

Enum values:
admin
user
other
Example: admin
userId
​integer | null · int64

Id of the user to be invited. When inviting by userId the fields email or phone must not be provided.

Example: 1
email
​string | null · email

Email of the user to be invited. When inviting by email the fields userId or phone must not be provided.

Example: partner-api@monta.com
phone
​string | null · pattern: ^\+[1-9]\d{1,14}$

Phone of the user to be invited. When inviting by phone the fields userId or email must not be provided.

Example: +45123456789
priceGroupId
​integer | null · int64

The price group for this team member, when not provided the default team price group will be applied

Example: 1
costGroupId
​integer | null · int64

The cost group for this team member

Example: 1
teamMemberProfileId
​integer | null · int64

The team member profile id to apply to this team member

Example: 1
canConfigureChargePoints
​boolean

Indicates if the team member can configure charge points

Default: false
canPayWithTeamWallet
​boolean

Gives the team member access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Default: false
canRequestSponsoring
​boolean

Allows the team member to request sponsoring from this team

Default: false
canManageTeamMembers
​boolean

Allows the team member to view and manage other members settings

Default: false
teamWalletChargePaymentType
​string · enum

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
canDepositToWallet
​boolean | null

Gives the team member permission to deposit to the team wallet

canWithdrawFromWallet
​boolean | null

Gives the team member permission to withdraw from the team wallet

canManageChargeKeys
​boolean | null

Gives the team member permission to manage charge keys for the team

canPayForChargesCountryIds
​array | null

List of country ids for which the team member can pay for charges

Example: [1,2,3]
note
​string | null

A note for the team member

Example: Welcome to the Monta team
chargePointIds
​array | null

Ids of the charge points this team member will have access to

Example: [1,2,3,4]
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
notifyUser
​boolean

Controls whether an invitation email and/or SMS is sent to the user based on the provided email and phone fields.

Default: true
immediateAccess
​boolean | null

Grants the invited member access to the team immediately, without waiting for them to accept the invitation.

Default: false
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
costCenterId
​integer | null · int64

The cost center to assign to this team member. Must belong to the same operator, and when it is scoped to a team, to that team.

Example: 1

BulkInviteTeamMemberResult

status
​string · enum · required

Outcome of the invite attempt for this member

Enum values:
created
failed
Example: created
index
​integer · int32

Zero-based index of the member in the request members array this result corresponds to

​object

Created team member, present only when status is created

error
​string | null

Failure reason, present only when status is failed

BulkInviteTeamMemberStatus

string · enum
Enum values:
created
failed

BulkTeamAutoWithdrawal

teamIds
​integer[] · minItems: 1 · maxItems: 50 · required

Ids of the teams to switch automatic withdrawal on or off for: between 1 and 50 distinct, positive ids. Page through larger lists in several requests.

Example: [266672,266673,266674]
enabled
​boolean · required

true switches automatic withdrawal on for every listed team, false switches it off.

Example: true

BulkTeamAutoWithdrawalResult

​object · required

How many teams ended up with each result. The counts add up to requested.

​TeamAutoWithdrawalResult[] · required

One entry per requested team, in request order.

BulkTeamOnboarding

teamIds
​integer[] · minItems: 1 · maxItems: 50 · required

Ids of the teams to apply the onboarding steps to. Duplicates are ignored.

Example: [266672,266673,266674]
​OnboardingStep[] · maxItems: 7 · required

The onboarding steps to enable for every listed team, as {step, config?, displayMode?} entries. Applied identically to each team; the list replaces that team's full enabled set, so an empty list clears onboarding for the team.

BulkTeamOnboardingResult

​TeamOnboardingResult[] · required

Per-team outcome, one entry per distinct team id in the request.

Cdr

id
​integer · int64 · required

Unique CDR identifier.

Example: 12345
operatorId
​integer · int64 · required

ID of the operator that owns this CDR.

Example: 456
chargeId
​integer · int64 · required

ID of the charge session this CDR was generated from.

Example: 789
chargeEndedAt
​string · required

Timestamp (ISO-8601) when the charge ended.

Example: 2026-04-15T10:00:00Z
​object · required

Raw OCPI CDR payload as received from the roaming partner. Structure follows the OCPI CDR specification; treat as opaque.

CdrExportAccepted

status
​string · required

Export request status. Always queued for an accepted request.

Example: queued
message
​string · required

Human-readable confirmation message.

Example: CDR export has been queued and will be sent to ops@example.com

CdrExportRequest

from
​string · minLength: 1 · pattern: \d{4}-\d{2}-\d{2} · required

Start of the export range (inclusive), in yyyy-MM-dd format.

Example: 2025-01-01
to
​string · minLength: 1 · pattern: \d{4}-\d{2}-\d{2} · required

End of the export range (inclusive), in yyyy-MM-dd format. Must be on or after from, and the range may not exceed 31 days.

Example: 2025-01-31
email
​string · email · minLength: 1 · required

Email address that the export will be delivered to. Must belong to a Monta user with the export permission on the target operator.

Example: ops@example.com
operatorId
​integer | null · int64

The ID of the operator whose CDRs will be exported. If not provided, operator ID will be derived from the used api credentials.

Example: 123
format
​string · enum

Output format for the exported file. Defaults to CSV.

Enum values:
CSV
JSON
Example: CSV
Default: CSV
emspIdentifier
​string | null · maxLength: 10

Optional filter. When set, only CDRs whose EMSP identifier ({CountryCode}*{PartyId}) matches are exported. Does not appear as a column in the exported file.

Example: DE*ABC
selfManaged
​boolean | null

Optional filter. When set, only CDRs with the matching self-managed flag (bilateral agreement) are exported.

Example: false
direction
​string · enum

Direction of the CDRs to export. INBOUND (default) exports CDRs Monta issued as CPO to partner eMSPs (Monta operated the charge point). OUTBOUND exports CDRs Monta received as eMSP from partner CPOs (Monta's drivers charged on partner networks). Defaults to INBOUND when omitted.

Enum values:
INBOUND
OUTBOUND
Example: INBOUND
Default: INBOUND

ChangeLogCount

total
​integer · int64 · required

Charge

humanReadableId
​string · required

The human readable id for this charge

​object · required

User that performed the charge

type
​string · enum · required

Type of the charge

Enum values:
external
operator
sponsored
Example: 1
​object · required

The public information about the charge point related to this charge

createdAt
​string · date-time · required

Creation date

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date

Example: 2022-05-12T16:56:45.99Z
state
​string · enum · required

State of the charge. This is a normalized enum value for consistent processing across different charge point types

Enum values:
paying
reserved
starting
charging
stopping
paused
scheduled
stopped
Example: charging
rawState
​string · required

The original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.

Example: charging
​KwhPerTime[] · required

List of consumed kWh split by hour (1 hour buckets)

​KwhPerTime[] · required

List of consumed kWh split by maximum available resolution (ie. 15min buckets)

emaidProviderId
​string · required

The first 5 characters of an EMAID, which is the provider id.

​object · required

The protocol data for this charge, e.g. OICP or OCPI related data.

id
​number · int64

Id of the charge

Example: 1
​object

Team that performed the charge, if part of the charge points' team

chargePointId
​integer · int64

Id of the charge point related to this charge

Example: 21
sponsoredChargePointId
​integer | null · int64

Id of the sponsored charge point related to this charge

Example: 29
priceGroupId
​integer · int64

Id of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)

Example: 21
costPriceGroupId
​integer | null · int64

Id of the cost price group related to this charge

Example: 21
memberCostPriceGroupId
​integer | null · int64

Id of the member cost price group related to this charge

Example: 21
siteId
​integer | null · int64

Id of the site in which the charge point that performed this charge is

Example: 21
promotionCodeId
​integer | null · int64

Id of the promotion code related to this charge

Example: 21
​object

What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.

cablePluggedInAt
​string | null · date-time

Date when cable was plugged in

Example: 2022-05-12T15:56:45.99Z
startedAt
​string | null · date-time

Date when charge started

Example: 2022-05-12T15:56:45.99Z
stoppedAt
​string | null · date-time

Date when charge stopped

Example: 2022-05-12T15:56:45.99Z
fullyChargedAt
​string | null · date-time

When the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.

Example: 2022-05-12T15:56:45.99Z
releasedAt
​string | null · date-time

Date indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.

Example: 2022-05-12T15:56:45.99Z
failedAt
​string | null · date-time

Date when charge failed

Example: 2022-05-12T15:56:45.91Z
timeoutAt
​string | null · date-time

Date when charge timed out

Example: 2022-05-12T15:56:45.91Z
completedAt
​string | null · date-time

Date when charge was considered completed

Example: 2022-05-12T16:56:45.99Z
startSource
​string | null

Indicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks

Example: app-ios
consumedKwh
​number | null · double

Consumed Kwh

Example: 20.4
kwhLimit
​number | null · double

Configured Kwh limit for this charge

Example: 21
startMeterKwh
​number | null · double

Kwh of the meter before charging started

Example: 123.45
endMeterKwh
​number | null · double

Kwh of the meter after charging stopped

Example: 163.85
price
​number | null · double

Price for this charge

Example: 122.4
priceLimit
​number | null · double

Configured price limit for this charge

Example: 212
cost
​number | null · double

Cost incurred for this charge

Example: 120
averagePricePerKwh
​number | null · double

Average price per Kwh

Example: 6
averageCo2PerKwh
​number | null · double

Average CO2 consumption per Kwh. Null when it cannot be determined

Example: 100
averageRenewablePerKwh
​number | null · double

Average percentage of renewable energy per Kwh

Example: 72.5
failureReason
​string | null

Failure reason for this charge

Example: Some reason why we couldn't charge.
stopReason
​string | null

Reason why this charge stopped

Example: Some reason why the charge stopped.
paymentMethod
​string | null · enum

Payment method for this charge

Enum values:
free
team-has-fund
team-has-auto-refill
source
payment
Example: free
note
​string | null

A note taken for this charge

Example: Lorem Ipsum
​object

Currency used for payment.

​object

Team who paid for this charge

​object

Team who sponsored this charge

​object

Operator this of this charge

​object

The object used to authenticate a charge

​object

Information about the state of charge if available

Example: 42
socStart
​number | null · double

State of charge at the start of the session, if available

Example: 22.5
socLimit
​number | null · double

Configured SoC limit for this charge

Example: 80
​object

Generic payment session for this charge. If provided, the charge was paid with this payment session.

partnerExternalId
​string | null

External Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.

Example: ACME-12345
smartChargeId
​integer | null · int64

The smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.

Example: 1
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
chargePointKw
​number | null · double

The charge point KW recorded during the charge.

​object

The signed data of the charge.

vehicleId
​integer | null · int64

The vehicle id for this charge, vehicle details can be fetched from the vehicle API

vid
​string | null

The VID recorded for this charge, if reported by the charge point.

​object

Estimated CO2 impact of this charge. Null until the charge has drawn energy.

ChargeAuthToken

identifier
​string · required

The identifier of the charge auth token, Note: without prefix e.g VID:

Example: 38C58DB85F4
type
​string · enum · required

The method type used for this charge auth token

Enum values:
vehicleId
rfid
Example: vehicleId
createdAt
​string · date-time · required

Creation date of this charge auth token

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this charge auth token

Example: 2022-05-12T16:56:45.99Z
id
​integer · int64

The id of the charge auth token

Example: 1
teamId
​integer · int64

Id of the team that the charge auth token belongs to

Example: 13
userId
​integer | null · int64

Id of the user that the charge auth token is associated to

Example: 1
vehicleId
​integer | null · int64

Id of the vehicle linked to this charge auth token

Example: 1
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
name
​string | null

Name of the charge auth token

Example: Monta Team Key
​object

Operator of this charge auth token

montaNetwork
​boolean

If the charge auth token is active in the Monta network

Example: true
roamingNetwork
​boolean

If the charge auth token is active in the Roaming network

Example: true
operatorNetwork
​boolean

Allow this charge auth token to be used on other teams charge points under the same operator

Example: true
activeUntil
​string | null · date-time

Indicates until when this charge auth token is active, null means indefinitely

Example: 2023-01-11T00:00:00Z
blockedAt
​string | null · date-time

If the charge auth token is blocked, it will not be able to charge.

  • null = not blocked
  • date-time = blocked since date-time
Example: 2023-01-11T00:00:00Z
deleted
​boolean

If the charge auth token is deleted

Example: false
​object

Maximum cumulative spend allowed on this charge auth token over a rolling 30-day window. null means no limit is set. Limits are currently always in EUR. The write side of this field takes a plain decimal amount in the same currency.

dailyChargeCountLimit
​integer | null · int32

Maximum number of charges this charge auth token may start in a rolling 24-hour window. null means no limit is set.

Example: 10
concurrentChargesLimit
​integer | null · int32

Maximum number of concurrent active charges this charge auth token may have. null means no limit is set.

Example: 2

ChargeAuthTokenInventory

An operator-owned charge auth token stock entry.
identifier
​string · required

The card UID.

Example: 38C58DB85F4A21
status
​string · required

Lifecycle status.

Example: available
id
​integer · int64

Inventory entry id.

Example: 1024
printedIdentifier
​string | null

Human readable value printed on the physical card. Used to look the card up when the UID cannot be scanned. Not used for charge authorisation.

Example: TEST-4471-B
chargeAuthTokenId
​integer | null · int64

Id of the charge auth token created when the card was claimed, otherwise null.

Example: 5567
claimedByTeamId
​integer | null · int64

Team the card was claimed by, otherwise null.

Example: 42
claimedAt
​string | null · date-time

When the card was claimed, otherwise null.

blockedAt
​string | null · date-time

When the card was blocked, otherwise null.

createdAt
​string | null · date-time

When the entry was created.

updatedAt
​string | null · date-time

When the entry was last updated.

deletedAt
​string | null · date-time

When the entry was removed

ChargeAuthTokenInventoryBulkLoad

​ChargeAuthTokenInventoryBulkLoadItem[] · minItems: 1 · maxItems: 1000 · required

Cards to load as available stock. Each entry is either a bare UID string or an object carrying the UID and the value printed on the card. Each is validated independently; malformed or already-loaded entries are reported in errors while valid new ones are still created.

ChargeAuthTokenInventoryBulkLoadItem

A card to load as available stock. Accepts a bare UID string or an object.
identifier
​string · minLength: 1 · required

The card UID.

Example: 38C58DB85F4A21
printedIdentifier
​string | null · maxLength: 255

Human readable value printed on the physical card. Optional; must be unique per operator when supplied.

Example: TEST-4471-B
oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = string
type = object · requires: identifier
Properties for Variant 1:
string

ChargeAuthentication

type
​string · enum · required

The method type used to authenticate a charge

Enum values:
vehicleId
rfid
app
Example: vehicleId
id
​string · required

The id of the chosen authentication method

Example: 2C:54:91:88:C9:E3
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345

ChargeAuthenticationType

string · enum
Enum values:
rfid
vehicleId

ChargeBreakdown

chargeId
​integer · int64 · required

The charge id associated with this charge breakdown

Example: 10001
​object · required

The price breakdown, Includes information necessary to understand the composition of the final charge price

​object · required

The cost breakdown is similar to the price breakdown but focuses on the costs incurred for the given charge

ChargeCost

time
​string · date-time · required

Hour for the sum of the cost

Example: 2022-05-12T15:00:00Z
value
​number · double

Sum of cost for this hour

Example: 15.8

ChargeEmissionFactorDto

One emission factor, with the published set it came from.
gramsPerKwh
​number | null · double

The factor applied, in g CO2 per kWh.

Example: 44
emissionFactorSetName
​string | null

Published factor set this figure came from. Null when it came from country configuration instead.

Example: Library 2026

ChargeHistoryItem

internalChargeId
​integer · int64 · required
ocppChargeId
​string · required
status
​string · required
startTime
​string · date-time · required
chargePointIdentity
​string · required
connectorId
​integer · int32 · required
nodeName
​string · required
nodeId
​integer · int64 · required
phpChargeId
​integer | null · int64
endedAt
​string | null · date-time
startingSoc
​number | null · double
startingWh
​integer | null · int32
maxObservedPowerW
​number | null · double
soc
​number | null · double
vehicleId
​integer | null · int64
totalPrice
​number | null · double
currencyId
​string | null
ocppStatus
​string | null
ocppStatusAt
​string | null · date-time

ChargeImpactBasisDto

The emission factors behind the figures above, as they stood when the charge ran. Restating a factor does not change a charge already reported.
asOf
​string | null

When the emission factors were resolved as of, i.e. when the charge began drawing power.

Example: 2026-09-01T10:00:00Z
​object

The grid intensity the charge was priced at.

​object

The combustion baseline the saving was measured against.

ChargeImpactReportDto

Estimated CO2 impact of a single charge.
co2Emitted
​number | null · double

CO2 emitted by this charge, in grams. Measured from hourly grid intensity where available, otherwise estimated at the grid emission factor.

Example: 440
co2SavedVsIce
​number | null · double

CO2 avoided versus the same journey in a combustion-engine car, in grams.

Example: 9760
costSavings
​number | null · double

Estimated saving versus fuelling a combustion-engine car. An indicative comparison against a per-country configured measurementNull where the country has no comparison figure configured.

Example: 14
​object

The emission factors these figures were derived from.

ChargeIntent

type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
​ScheduleOverride[] · required
departureTime
​string | null · partial-time
​object
priority
​integer | null · int32

ChargeIntentInstance

​IntentSource · required
type
​string · required
​Target · required
priority
​integer · int32 · required
departureTime
​string | null · date-time

ChargeIntentType

string · enum
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW

ChargeKeyLimitCap

A set of charge key usage limit caps: the highest usage limits a charge key may be given. An operator has one set per team settings profile (Hub: Operator team settings), and a charge key is bound by the set of the profile its team uses.
​object · required

Monta's recommended values, used as the cap while none is configured

​object · required

Monta's ceiling: the highest value each cap may be set to. null means no ceiling.

id
​integer · int64

Id of this set of caps

Example: 42
operatorId
​integer · int64

Id of the operator these caps belong to

Example: 1
name
​string | null

Name of the team settings profile, as shown in the Hub

Example: Fleet customers
defaultForTeamType
​string | null

Teams of this type get these caps by default: professional, private, all, operator, default_private_team, none, or null when the caps apply only to teams assigned to the profile explicitly. Also sets which recommended and max values apply.

Example: professional
​object

Cap on a charge key's rolling 30-day spend. null means no cap is configured, so recommended applies. Currently always in EUR. The write side takes a plain decimal amount in the same currency.

dailyChargeCountLimit
​integer | null · int32

Cap on a charge key's daily charge count. null means no cap is configured, so recommended applies.

Example: 20
concurrentChargesLimit
​integer | null · int32

Cap on a charge key's concurrent charges. null means no cap is configured, so recommended applies.

Example: 10

ChargeKeyLimitValues

​object

Rolling 30-day spend limit

dailyChargeCountLimit
​integer | null · int32

Daily charge count limit

Example: 14
concurrentChargesLimit
​integer | null · int32

Concurrent charges limit

Example: 7

ChargeKwhConsumption

chargeId
​number

Id of the charge

Example: 1
consumptionPeriodSizeInSeconds
​integer · int64

Specifies the time interval, in seconds

Example: 3600
​array | null

Detailed breakdown of the kwh consumption in time interval of 5, 10, 15, 30 and 60 minutes
Note: Representation is in seconds, 3600 by default

ChargeMetadata

type
​string · enum · required

The type of this metadata

Enum values:
tax-refund-metadata
charge-metadata
default-metadata
id
​integer · int64

The id of the the charge

Example: 1
kwh
​number · double

The total kwh for the charge

Example: 13.77

ChargePoint

id
​integer · int64 · required

Id of this charge point.

Example: 1
teamId
​integer · int64 · required

Id of the team.

Example: 1
createdAt
​string · date-time · required

Creation date of this charge point.

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this charge point was last updated.

Example: 2022-05-12T16:56:45.99Z
visibility
​string · enum · required

Indicates if this charge point is public or private.

Enum values:
private
public
Example: public
​object · required

Location information for this charge point.

​ChargePointConnector[] · required

List of supported connector types at this charge point (e.g. type-2, ccs, ...).

​object · required

Deeplinks to open charge screen in Monta app or web.

cablePluggedIn
​boolean · required

Indicates if a cable is plugged in (true).

Example: true
evseId
​string · required

The EVSE id for this charge point.

Example: DK*MON*E2
isActive
​boolean · required

Indicates if this charge point is active (true) or not (false). Active = fully onboarded to Monta.

Example: true
reservable
​boolean · required

Indicates if the charge point can be reserved.

Example: true
roaming
​boolean · required

Indicates whether roaming is enabled for this charge point.

Example: true
​object · required

Protocol data, containing information about the protocol.
Note: Currently only OCPP is supported.

showOnMap
​boolean · required

Indicates if this charge point should be displayed on the map.

partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
siteId
​integer | null · int64

Id of the site.

Example: 42
​object

Operator of this charge point.

deletedAt
​string | null · date-time

Date this charge point was deleted.

Example: 2022-05-12T16:56:45.99Z
activeAt
​string | null · date-time

Last date when charge point was activated.

Example: 2022-05-12T15:56:45.91Z
serialNumber
​string | null

Serial number of this charge point.

name
​string | null

Name of the charge point.

Example: Monta CPH HQ
maxKw
​number | null · double

Max KW available at this charge point.

Example: 150
type
​string | null · enum

Type of charge point (AC / DC).

Enum values:
ac
dc
Example: ac
note
​string | null

A note you have entered for this charge point, e.g. via our Portal.

Example: In order to access this charge point enter 0000 as code at the gate.
operatorNote
​string | null

An operator note you have entered for this charge point, e.g. via our Portal.

Example: Installer note: XYZ
state
​string | null · enum

State of the charge point.

Enum values:
available
busy
busy-blocked
busy-charging
busy-non-charging
busy-non-released
busy-reserved
busy-scheduled
Example: available
lastMeterReadingKwh
​number | null · double

Last meter reading (KWH) for this charge point.

Example: 913.2
meterId
​string | null

Meter Id of this charge point.

Example: 2200019107351
chargePointModelId
​integer | null · int64

The ID of the charge point model for this charge point.

Example: 42
brandName
​string | null

Brand name for this charge point.

Example: Easee
modelName
​string | null

Model name for this charge point.

Example: Easee - Home
firmwareVersion
​string | null

Current firmware version for this charge point.

Example: v1
integrationType
​string · enum

Indicates what kind of integration this charge point is using (e.g oicp, ocpi, Note: null meaning not integrated).

Enum values:
oicp
ocpi
ocpp
other
Example: oicp
priceGroupId
​integer | null · int64

The id of the public price group for this charge point.

Example: 42
costGroupId
​integer | null · int64

The id of the cost price group for this charge point.

Example: 42
roamingPriceGroupId
​integer | null · int64

The id of the roaming price group for this charge point.

Example: 42
sponsoredPriceGroupId
​integer | null · int64

The id of the sponsored price group for this charge point.

Example: 42
scheduleId
​integer | null · int64

The id of the schedule assigned to this charge point.

Example: 42
reservationTime
​integer | null · int32

The max duration(in minutes) that this Charge Point can be reserved for
null indicates that reservation is not supported.

Example: null
​object

SIM card data for the given charge point.

lastConnectedAt
​string | null · date-time

The last date/time this charge point was reported as connected.

Example: 2023-01-18T00:00:00Z
disconnectedAt
​string | null · date-time

The date/time this charge point was reported as disconnected.

Example: 2023-01-01T00:00:00Z
occupied
​boolean | null

Indicates if the Charge Point is currently occupied. Note: At the moment this is only determined by a charge point sensor attached to it.

Example: true
​object

Additional information for this charge point (e.g. bus compatibility, motorcycle compatibility, etc.).

smartChargeSetting
​string | null · enum
Code
Smart charging setting for this charge point. - `off`: Smart charging is disabled, rules cannot be created - `optional`: Smart charging is optional, rules can be created and applied - `forced`: Smart charging is forced, rules will always be applied - `forced-setting`: Smart charging setting is forced
Enum values:
off
optional
forced
forced-setting
Example: optional
autoStart
​string · enum

Current auto-start status. not-available means the charge point is public or its model does not support auto-start.

Enum values:
on
off
not-available
Example: off
userId
​integer | null · int64

Id of the user that owns this charge point.

Example: 42
autoRegisterRfid
​boolean | null

Whether RFID tags are auto-registered when scanned at this charge point.

Example: true

ChargePointBrand

identifier
​string · required

The identifier of the charge point brand

Example: rolec
name
​string · required

The name of the charge point brand

Example: Rolec
id
​integer · int64

The id of the charge point brand

Example: 1
createdAt
​string | null · date-time

Creation date of this charge point brand

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Update date of this charge point brand

Example: 2022-05-12T16:56:45.99Z

ChargePointCTClamps

chargePointIdentity
​string · required
​object

ChargePointCTClamps_1

result
​CtClampIntegrationResult · enum · required
Enum values:
COULD_NOT_FIND_CHARGE_POINT
BRAND_MODEL_NOT_SUPPORTED
FIRMWARE_NOT_SUPPORTED
COULD_NOT_SET_CONFIGURATION_KEY
NO_DATATRANSFER_RECEIVED
SUCCESS

ChargePointCTClamps_2

chargePointIdentity
​string · required

ChargePointConnector

identifier
​string · required

Identifier of connector

Example: ccs
name
​string · required

Readable name of connector

Example: CCS
id
​integer · int64

Id of this connector

Example: 1

ChargePointDataConsumption

Network (SIM) data consumption for a charge point over a period
​object · required

Total data consumed over the whole period

​DailyDataConsumption[] · required

Data consumption per day

startAt
​string | null · date

Start of the reporting period

Example: 2024-01-01
endAt
​string | null · date

End of the reporting period

Example: 2024-01-31
app
​string · uri · required

Follow this link to open the Monta App with this charge point

web
​string · uri · required

Follow this link to open the Monta Web App with this charge point

ChargePointGridSubscriptionStatus

string · enum
Enum values:
UNKNOWN
OPEN
BETA
OPEN_BETA
OPEN_FOR_REGISTER
REGISTER_ONLY
SUBSCRIBED
SUBSCRIBED_BETA

ChargePointGridV2Response

name
​string · required
​GridSubscriptionV2 · required
​object
infoUrl
​string | null
activeAt
​string | null · date-time
​object
​object

ChargePointIntegration

state
​string · enum · required

The current state of the charge point integration

Enum values:
pending
connected
disconnected
error
unknown
Example: connected
serialNumber
​string · required

The serial number of this charge point integration

Example: 46964534
chargePointIdentity
​string · required

The identity number of this charge point integration

Example: 46964534
integrationTypeIdentifier
​string · required

The integration type (method) used

Example: ocpp
​object · required

The charge point associated to this integration

createdAt
​string · date-time · required

The Creation date of this charge point integration

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

The id of this charge point integration

Example: 1
connectorId
​integer | null · int32

The connector id for this charge point integration

Example: 1
activeAt
​string | null · date-time

The Date this charge point integration was set to active

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

The Date this charge point integration was last updated

Example: 2022-05-12T16:56:45.99Z
deletedAt
​string | null · date-time

The Date this charge point integration was deleted

Example: 2022-05-12T16:56:45.99Z

ChargePointIntegrationStateDto

string · enum
Enum values:
pending
connected
disconnected
error
unknown

Enumerate the possible states for a charge point integration

ChargePointIntegrationType

string · enum
Enum values:
oicp
ocpi
ocpp
other

definitions:

  • oicp - Indicates the current integration is OICP.
  • ocpi - Indicates the current integration is OCPI.
  • ocpp - Indicates the current integration is OCPP.
  • other - Fallback value, Indicates a new type was added but is not mapped/unknown on this API yet.

ChargePointLog

id
​string · required

Unique identifier for the log entry

Example: 12345
timestamp
​string · date-time · required

Timestamp of the OCPP log

Example: 2022-05-12T15:56:45.99Z
message
​string · required

Message content of the OCPP log, can be a string or an array of mixed types

Example: Charge point connected

ChargePointLogResult

ChargePointLogResult.CursorPage

​ChargePointLog[] · required

ChargePointLogResult.CursorPage.CursorPageMeta

paginationType
​PaginationType · enum · required
Enum values:
offset
cursor
perPage
​integer · int64 · required
itemCount
​integer | null · int64
after
​string | null
before
​string | null

ChargePointLogResult.OffsetPage

​ChargePointLog[] · required

ChargePointLogResult.OffsetPage.OffsetPageMeta

paginationType
​PaginationType · enum · required
Enum values:
offset
cursor
itemCount
​integer · int32 · required
currentPage
​integer · int32 · required
perPage
​integer · int32 · required
totalPageCount
​integer · int32 · required
totalItemCount
​integer · int64 · required

ChargePointMetadata

busCompatible
​boolean | null

Bus-compatible charge point

Example: true
motorcycleCompatible
​boolean | null

Motorcycle-compatible charge point

Example: true
lorryCompatible
​boolean | null

Lorry-compatible charge point

Example: true
lorryWithDangerousGoodsCompatible
​boolean | null

Lorry with dangerous goods allowed

Example: false
lorryWithTrailerCompatible
​boolean | null

Lorry with trailer compatible

Example: false
personalVehicleCompatible
​boolean | null

Personal vehicle-compatible charge point

Example: true
personalVehicleWithTrailerCompatible
​boolean | null

Personal vehicle with trailer compatible

Example: false
rigidLoryCompatible
​boolean | null

Rigid lorry compatible

Example: false
vanCompatible
​boolean | null

Van-compatible charge point

Example: false
vehicleWithDisabilityPermitCompatible
​boolean | null

Vehicles with disability permit compatible

Example: false
additionalParkingFeesPolicy
​boolean | null

Additional parking fees policy

Example: true
buildingTenantsOnlyPolicy
​boolean | null

Building tenants only parking policy

Example: false
customersOnlyPolicy
​boolean | null

Customers only parking policy

Example: true
disabilityPermitPolicy
​boolean | null

Disability permit parking policy

Example: false
evOnlyPolicy
​boolean | null

Electric vehicle only parking policy

Example: true
employeesOnlyPolicy
​boolean | null

Employees only parking policy

Example: false
overnightParkingPolicy
​boolean | null

Overnight parking policy

Example: false
parkingOnlyWhileChargingPolicy
​boolean | null

Parking only while charging policy

Example: true
reservationPolicy
​boolean | null

Reservation required parking policy

Example: false
taxisOnlyPolicy
​boolean | null

Taxis only parking policy

Example: false
floorLevel
​string | null

Floor level of the charge point

Example: first
cableLength
​number | null · double

Cable length in centimeters

Example: 100
behindBarrierPolicy
​boolean | null

Behind barrier parking policy

Example: true
​object

HDV parking spot details

dangerousGoodsAllowed
​boolean | null

Dangerous goods are allowed

Example: true
rigidVehiclesAllowed
​boolean | null

Rigid vehicles are allowed

Example: true
twoWheeledStation
​boolean | null

Two wheeled station available

Example: false
vehicleAccessibility
​string | null

Vehicle accessibility description

Example: wheelchair_accessible
heightRestriction
​boolean | null

Height restriction in place

Example: false
reservationRequired
​boolean | null

Reservation is required

Example: false
overnightParkingAllowed
​boolean | null

Overnight parking is allowed

Example: true
accessConditions
​string | null

Access conditions description

Example: permit_required
barrier
​boolean | null

Barrier present at the charge point

Example: true
chargingWhenClosed
​boolean | null

Charging allowed when site is closed

Example: false
trailerPullThrough
​boolean | null

Trailer pull-through available

Example: true

ChargePointModel

identifier
​string · required

The identifier of the charge point model

Example: rolec_securicharge_ev_dual
name
​string · required

The name of the charge point model, name is composed by (Brand name - Model name)

Example: SecuriCharge Dual
​object · required

The brand of the charge point model

​ChargePointModelFeature[] · required

The supported features by this charge point model, only supported features will be included

id
​integer · int64

The id of the charge point model

Example: 1
createdAt
​string | null · date-time

Creation date of this charge point model

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Update date of this charge point model

Example: 2022-05-12T16:56:45.99Z

ChargePointModelDto.ChargePointBrandDto

name
​string · required

The name of the charge point brand

Example: Rolec
id
​integer · int64

The id of the charge point brand

Example: 1

ChargePointModelFeature

key
​string · required

The key that identifies this feature

Example: firmware_management
description
​string | null

The description for this feature

Example: Firmware updates remotely
requirements
​string | null

The requirements for this feature

Example: Support UpdateFirmware functionality
enabled
​boolean

The current status of the feature

Example: true

ChargePointOcpp

status
​string · enum

Status of the OCPP.

Enum values:
available
online
not-connected
error
offline
occupied
preparing
paused-ev
Example: preparing
updatedAt
​string | null · date-time

Indicates when the status was last updated.

Example: 2025-02-27T15:56:45.91Z
errorCode
​string | null

The error code reported by the charge point in its most recent OCPP status notification. NoError means the charge point reported no fault.

Example: ConnectorLockFailure
info
​string | null

Additional free-format information reported by the charge point about its current status or error.

Example: No car attached.
vendorErrorCode
​string | null

A vendor-specific error code reported by the charge point. Its meaning is defined by the charge point vendor.

Example: EK-1042
vendorId
​string | null

Identifies the vendor-specific implementation the charge point uses to report its status and error codes.

Example: ekoenergetyka_v1

ChargePointOcppStatus

string · enum
Enum values:
available
online
not-connected
error
offline
occupied
preparing
paused-ev

Various types of Charge Point OCPP protocol statuses

ChargePointProtocolData

​object

Charge point OCPP protocol data.

ChargePointPublishSettings

Settings that control whether a charge point exposes a public web link showing live charge data.
id
​integer | null · int64

Identifier of the publish settings record.

Example: 42
identifier
​string | null

Public-facing identifier used in the web URL.

Example: abc123-uuid
enabled
​boolean

Whether the public web link is currently enabled.

Example: true
web_url
​string | null

Public web URL that exposes the charge point data when enabled.

Example: https://app.monta.com/charge_point_publishes/abc123-uuid

ChargePointSensor

type
​string · enum · required

Type of the charge point sensor

Enum values:
occupancy
other
Example: occupancy
createdAt
​string · date-time · required

Creation date of this charge point sensor

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this charge point sensor was last updated

Example: 2022-05-12T16:56:45.99Z
id
​integer · int64

Id of this charge point sensor

Example: 1
operatorId
​integer · int64

The operator id to which this charge point sensor is belongs to

Example: 1
chargePointId
​integer | null · int64

The charge point id to which this charge point sensor is assigned to

Example: 1
externalId
​string | null

External Id of this sensor, ideally it references the sensor id in your system

Example: SENSOR-10005
partnerExternalId
​string | null

External Id of this entity, managed by you

Example: ACME-12345
value
​string | null

Value this sensor is reporting, this is sensor specific, this value is managed by you

Example: occupied
valueUpdatedAt
​string | null · date-time

Last date when charge point sensor was changed

Example: 2022-05-12T15:56:45.91Z
deletedAt
​string | null · date-time

Date this charge point sensor was deleted

Example: 2022-05-12T16:56:45.99Z

ChargePointSensorType

string · enum
Enum values:
occupancy
other

Various types of Charge Point Sensors. Definitions:

  • occupancy - The sensor is of type occupancy (presence). accept values for type occupancy are true, false or null

ChargePointState

string · enum
Enum values:
available
busy
busy-blocked
busy-charging
busy-non-charging
busy-non-released
busy-reserved
busy-scheduled

Various types of Charge Point states. Definitions:

  • available - The charge point is available for charging.
  • busy - The charge point is currently in use.
  • busy-blocked - The charge point is currently in use and blocked.
  • busy-charging - The charge point is currently in use and charging.
  • busy-non-charging - The charge point is currently in use and not charging.
  • busy-non-released - The charge point is currently in use and not released.
  • busy-reserved - The charge point is currently in use and reserved.
  • busy-scheduled - The charge point is currently in use and scheduled.
  • error - The charge point is in an error state.
  • disconnected - The charge point is disconnected from Monta.
  • passive - The charge point is in a passive state, charging can only be controlled locally.
  • maintenance - The charge point is in maintenance mode.
  • exempt - The charge point is exempt from downtime reporting due to external factors.

ChargePointStatisticsDto

fromDate
​string · date-time · required

Start date of the statistics period

Example: 2024-03-20T00:00:00Z
toDate
​string · date-time · required

End date of the statistics period

Example: 2024-03-30T00:00:00Z
totalEnergyConsumed
​number · required

Total energy consumed during the period (in kWh)

Example: 500.5
totalSessions
​integer · int32 · required

Total number of charging sessions during the period

Example: 150
sessionSuccessRate
​number · double · required

Success rate of charging sessions during the period (as a percentage)

Example: 95
chargePointId
​integer · int64

Id of the charge point

Example: 42
siteId
​integer | null · int64

Id of the site

Example: 42
systemUptimePercentage
​number | null · double

Percentage of uptime for the system during the period

Example: 99.9
​States[]

Detailed state for the period

​object

Detailed state that is exempt from uptime calculations

Daily statistics for the period

​TimePeriod[]

Monthly statistics for the period

ChargePointTicket

Reference to a ticket in an external maintenance or ticketing system, linked to a charge point.
system
​string · required

External system the ticket lives in

Example: maintainx
externalId
​string · required

Id of the ticket in the external system

Example: 124383489
title
​string · required

Title of the ticket

Example: Charge point offline
status
​string · enum · required

Status of the ticket, normalised across external systems

Enum values:
open
acknowledged
in_progress
on_hold
resolved
closed
cancelled
Example: in_progress
createdAt
​string · date-time · required

Creation date of this ticket reference

Example: 2026-10-01T08:05:10Z
updatedAt
​string · date-time · required

Date this ticket reference was last updated

Example: 2026-10-02T10:00:00Z
id
​integer · int64

Id of this ticket reference

Example: 1
chargePointId
​integer · int64

Id of the charge point this ticket belongs to

Example: 42
nativeStatus
​string | null

Status as reported by the external system

Example: IN_PROGRESS
url
​string | null

Link to the ticket in the external system

Example: https://app.getmaintainx.com/workorders/124383489
alertId
​string | null

Id of the alert that triggered the ticket

Example: 8821
alertOpenedAt
​string | null · date-time

When the triggering alert was opened

Example: 2026-10-01T08:00:00Z
ticketCreatedAt
​string | null · date-time

When the ticket was created in the external system

Example: 2026-10-01T08:05:00Z
commentCount
​integer | null · int32

Number of comments on the ticket in the external system

Example: 3
lastCommentAt
​string | null · date-time

When the last comment was added in the external system

Example: 2026-10-01T09:30:00Z
returnedToServiceAt
​string | null · date-time

When the external system reported the charge point back in service

Example: 2026-10-01T12:00:00Z

ChargePrice

time
​string · date-time · required

Hour for the sum of the price

Example: 2022-05-12T15:00:00Z
value
​number · double

Sum of price for this hour

Example: 15.8

ChargeProtocolData

​object

OICP charge protocol data

​object

OCPI charge protocol data

ChargeScheduleItem

start
​string · required
end
​string · required
currentA
​number · double · required
numberOfPhases
​integer · int32 · required
powerW
​number · double · required

ChargeStateDto

string · enum
Enum values:
paying
reserved
starting
charging
stopping
paused
scheduled
stopped

Enumerate the various types of charge state

ChargeStateDto_1

isPluggedIn
​boolean | null

Vehicle is plugged in

Example: true
isCharging
​boolean | null

Vehicle is charging

Example: true
batteryLevel
​number | null · double

Battery level in percentage

Example: 99
batteryCapacity
​number | null · double

Battery capacity in Kwh

Example: 85
chargeLimit
​number | null · double

Charge limit in percentage

Example: 100
chargeRateKw
​number | null · double

Charge rate in Kw

Example: 7
updatedAt
​string | null · date-time

Charge state was last updated at

Example: 2025-01-12T15:56:45.91Z

ChargeType

string · enum
Enum values:
external
operator
sponsored

ChargeVerification

outcome
​string · enum · required

Whole-charge verdict. not_run means no detector has reported yet — it is not a pass.

Enum values:
flagged
inconclusive
noted
verified
not_run
unknown
Example: flagged
flags
​integer · int32 · required

Number of results that flagged something, resolved ones included

Example: 1
unresolvedFlags
​integer · int32 · required

Number of flags no operator has resolved yet

Example: 1
inconclusive
​integer · int32 · required

Number of checks that could not reach a conclusion, typically for missing data

Example: 1
confirmations
​integer · int32 · required

Number of checks that passed

Example: 1
notApplicable
​integer · int32 · required

Number of checks that did not apply to this charge. These demand no attention and are ignored when deriving outcome.

Example: 2
​object · required

Every detector result, grouped by the bucket it counts towards

highestSeverity
​string | null · enum

Highest severity across every result. Null when there are no results.

Enum values:
info
warn
critical
Example: critical

ChargeVerificationResults

​VerificationResult[] · required

Results that flagged something

​VerificationResult[] · required

Results that could not reach a conclusion

​VerificationResult[] · required

Results that passed

Charge_1

ocppChargeId
​string · required
startTime
​string · date-time · required
chargeId
​integer | null · int64
​object
​array | null
​object
startingWh
​integer | null · int32
startingSoc
​number | null · double
chargedWh
​integer | null · int32
remainingKwh
​number | null · double
soc
​number | null · double
kwh
​number | null · double
​object
maxObservedPowerW
​number | null · double
lastAllocatedCurrent
​number | null · double
lastAllocatedPowerW
​number | null · double
lastAllocatedAt
​string | null · date-time
estimatedEndTime
​string | null · date-time
ocppStatus
​string | null
ocppStatusAt
​string | null · date-time
batteryCapacityKwh
​number | null · double
effectiveTargetKwh
​number | null · double
assumedVehicleMaxPowerW
​number | null · double
topUpDeltaW
​number | null · double

Charger

id
​integer · int64 · required
identity
​string · required
name
​string · required
teamId
​integer · int64 · required
ctClamps
​boolean · required
solarCharge
​boolean · required
phaseMode
​PhaseMode · enum · required
Enum values:
AUTO
ONE
THREE
PHASE_SWITCHING
phaseSwitchMinIntervalSeconds
​integer · int32 · required
connectorId
​integer | null · int32
modelImageUrl
​string | null
brandName
​string | null
modelName
​string | null
configuredNumberOfPhases
​integer | null · int32
​object
lastCurrentLimitA
​number | null · double
lastCurrentLimitAt
​string | null · date-time
lastChargingNumberOfPhases
​integer | null · int32
​object

Charger.Charge

isControlled
​boolean · required
isSolarCharge
​boolean · required
chargeId
​integer | null · int64
externalChargeId
​string | null
​object
fuseProtectionLimitingCounter
​integer | null · int32
​object
​object

Charger.ChargeUser

id
​integer · int64 · required
identifier
​string · required
language
​string | null
languages
​array | null

Charger.ChargingPowerOverride

powerLimitKw
​number | null · double

Charger.ChargingPowerOverrideRange

minKw
​number · double · required
maxKw
​number | null · double

ChargesInsight

type
​string · enum · required

The type of charge insight

Enum values:
completed-charges-insights
unknown
Example: completed-charges-insights
fromDate
​string · date · required

Indicates the starting period (fromDate) used calculate the insights, format (YYYY-MM-DD)

Note: The date will be always in UTC

Example: 2023-11-01
toDate
​string · date · required

Indicates the end period (toDate) used calculate the insights, format (YYYY-MM-DD), always in UCT

Note: The date will be always in UTC

Example: 2023-11-01
title
​string · required

The title for for this charge insight

Example: Completed charge sessions insights
​object · required

The operator to which this charge insight belongs to

​object · required

The currency applicable for this charge insight

​ChargesInsightEntry[] · required

The compilation of insights entries composing this charge insight

ChargesInsightByChargeAuthTokenReportDto

identifier
​string · required

The identifier of the charge auth token, Note: without prefix e.g VID:

Example: 38C58DB85F4
type
​string · enum · required

The method type used for this charge auth token

Enum values:
vehicleId
rfid
Example: vehicleId

Charge consumptions grouped by chargeType

id
​integer · int64

The id of the charge auth token

Example: 1

ChargesInsightByChargeAuthTokenReportDto.Consumption

chargeType
​string · required

Defines the type of charge, ie. if it was a sponsored or public charge.

definitions:

  • sponsored - Charges that have been sponsored.
  • team-operator - Charges that belong to Charge Points of the same operator as paying team operator.
  • public - Any charge that was paid for by this team that does not match the other cases.

Note that more chargeTypes might be added in the future. Make sure to handle this gracefully.

totalSessions
​integer · int64 · required

Number of charging sessions

totalKwh
​number · double · required

Sum of all Kwh consumed

totalNetPrice
​number · double · required

Sum of all charge net prices

totalVat
​number · double · required

Sum of all charge vat amounts

totalGrossPrice
​number · double · required

Sum of all charge gross prices

memberCostGroupId
​integer | null · int64

The ID of the Member Cost Group applied to this charges, or Null if none

memberCostGroupName
​string | null

The name of the Member Cost Group applied to this charges, or Null if none

memberCostGroupPrice
​number | null · double

Sum of all charge costs in the Member Cost Group currency, or Null if none

ChargesInsightChargerReport

teamId
​integer · int64 · required

Team ID used for this report

chargePointId
​integer · int64 · required

ID of the Charge Point

Charge consumptions

lastChargeAt
​string | null · date-time

Date time of the last charge at this charge point during the report period. Null if no charges were made.

ChargesInsightChargerReportDto.Consumption

totalSessions
​integer · int64 · required

Number of charging sessions

totalKwh
​number · double · required

Sum of all Kwh consumed

ChargesInsightDriverMemberCostsReport

teamId
​integer · int64 · required

Team ID used for this report

teamMemberId
​integer · int64 · required

Team Member ID of the Driver

userId
​integer · int64 · required

User ID of the Driver

Charge consumptions grouped by chargeType

ChargesInsightDriverMemberCostsReportDto.Consumption

chargeType
​string · required

Defines the type of charge, ie. if it was a sponsored or public charge.

definitions:

  • sponsored - Charges that have been sponsored.
  • team-operator - Charges that belong to Charge Points of the same operator as paying team operator.
  • public - Any charge that was paid for by this team that does not match the other cases.

Note that more chargeTypes might be added in the future. Make sure to handle this gracefully.

totalSessions
​integer · int64 · required

Number of charging sessions

totalKwh
​number · double · required

Sum of all Kwh consumed

totalNetPrice
​number · double · required

Sum of all charge net prices

totalVat
​number · double · required

Sum of all charge vat amounts

totalGrossPrice
​number · double · required

Sum of all charge gross prices

Breakdown of the charges by country

memberCostGroupId
​integer | null · int64

The ID of the Member Cost Group applied to this charges, or Null if none

memberCostGroupName
​string | null

The name of the Member Cost Group applied to this charges, or Null if none

memberCostGroupPrice
​number | null · double

Sum of all charge costs in the Member Cost Group currency, or Null if none

ChargesInsightDriverMemberCostsReportDto.Consumption.CountryBreakdown

countryCode
​string · required

Two letter Country Code

totalSessions
​integer · int64 · required

Number of charging sessions

totalKwh
​number · double · required

Sum of all Kwh consumed

totalNetPrice
​number · double · required

Sum of all charge net prices

totalVat
​number · double · required

Sum of all charge vat amounts

totalGrossPrice
​number · double · required

Sum of all charge gross prices

memberCostGroupPrice
​number | null · double

Sum of all charge costs in the Member Cost Group currency, or Null if none

ChargesInsightDriverReport

teamId
​integer · int64 · required

Team ID used for this report

teamMemberId
​integer · int64 · required

Team Member ID of the Driver

userId
​integer · int64 · required

User ID of the Driver

​ChargesInsightDriverReportDto.Consumption[] · required

Charge consumptions grouped by chargeType

ChargesInsightDriverReportDto.Consumption

chargeType
​string · required

Defines the type of charge, ie. if it was a sponsored or public charge.

definitions:

  • sponsored - Charges that have been sponsored.
  • team-operator - Charges that belong to Charge Points of the same operator as paying team operator.
  • public - Any charge that was paid for by this team that does not match the other cases.

Note that more chargeTypes might be added in the future. Make sure to handle this gracefully.

totalSessions
​integer · int64 · required

Number of charging sessions

totalKwh
​number · double · required

Sum of all Kwh consumed

totalNetPrice
​number · double · required

Sum of all charge net prices

totalVat
​number · double · required

Sum of all charge vat amounts

totalGrossPrice
​number · double · required

Sum of all charge gross prices

ChargesInsightEntry

type
​string · enum · required

The type for this insight entry

Enum values:
total-completed-sponsored-charges
total-completed-operator-charges
total-completed-external-charges
total-completed-charges
unknown
Example: completed-sponsored-charges-insights
​object · required

The summary for this insight entry, The summary contains the compiled statistics for the entry

ChargesInsightEntryTypeDto

string · enum
Enum values:
total-completed-sponsored-charges
total-completed-operator-charges
total-completed-external-charges
total-completed-charges
unknown

Enumerate the various types of charge insights

ChargesInsightSummary

totalKwh
​number · double · required

The total kWh charged for this entry

Example: 10.5
totalPrice
​integer · int64 · required

The total price for this entry

Example: 50
totalCost
​integer · int64 · required

The total cost for this entry

Example: 25
totalSessions
​integer · int64 · required

The total sessions for this entry

ChargesInsightTypeDto

string · enum
Enum values:
completed-charges-insights
unknown

Enumerate the various types of charges insights

ChargingRuleDto

name
​string · required

Name of the charging rule

Example: Smart charging rule
type
​string · enum · required

The type of the charging rule

Enum values:
smart_charge
scheduled
instant
Example: smart_charge
isActive
​boolean · required

Indicates if this rule is active

Example: true
isSponsored
​boolean · required

Indicates if the charge is sponsored

Example: true
creatorUserId
​integer · int64 · required

User that created this rule

Example: 123
supportedChargingRuleTypes
​ChargingRuleType[] · required

The type of charging rules supported by this charge point

Enum values:
smart_charge
scheduled
instant
Default: []
​object · required

The settings of the charging rule, depending on the type of the rule

id
​integer · int64

Id of this charging rule

Example: 1
vehicleId
​integer | null · int64

Vehicle id of the vehicle this rule applies to

Example: 123
chargePointId
​integer | null · int64

Id of the charge point this rule belongs to

Example: 123

ChargingRuleResponseSettings

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object
type = object · requires: start, stop
Properties for Variant 1:
start
​string | null

The time when the charging should start. Required when delayedStart is true; may be null otherwise

Example: 22:00
beReadyAt
​string | null

The time when the charging should stop

Example: 06:00
delayedStart
​boolean | null

Indicates if the charging should start immediately

Example: false
defaultMaxBatteryPercentage
​integer | null · int64

The maximum battery percentage to charge to. Null when the rule has none

Example: 80

ChargingRuleScheduledChargeSettingsDto

start
​string · required

The time when the charging should start

Example: 22:00
stop
​string · required

The time when the charging should stop

Example: 06:00

ChargingRuleScheduledChargeSettingsResponseDto

start
​string · required

The time when the charging should start

Example: 22:00
stop
​string · required

The time when the charging should stop

Example: 06:00

ChargingRuleSettings

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: beReadyAt, start
type = object · requires: start, stop
Properties for Variant 1:
start
​string · required

The time when the charging should start

Example: 22:00
beReadyAt
​string · required

The time when the charging should stop

Example: 06:00
delayedStart
​boolean

Indicates if the charging should start immediately

Example: false
defaultMaxBatteryPercentage
​integer · int64

The maximum battery percentage to charge to

Example: 80

ChargingRuleSmartChargeSettingsDto

start
​string · required

The time when the charging should start

Example: 22:00
beReadyAt
​string · required

The time when the charging should stop

Example: 06:00
delayedStart
​boolean

Indicates if the charging should start immediately

Example: false
defaultMaxBatteryPercentage
​integer · int64

The maximum battery percentage to charge to

Example: 80

ChargingRuleSmartChargeSettingsResponseDto

start
​string | null

The time when the charging should start. Required when delayedStart is true; may be null otherwise

Example: 22:00
beReadyAt
​string | null

The time when the charging should stop

Example: 06:00
delayedStart
​boolean | null

Indicates if the charging should start immediately

Example: false
defaultMaxBatteryPercentage
​integer | null · int64

The maximum battery percentage to charge to. Null when the rule has none

Example: 80

ChargingRuleType

string · enum
Enum values:
smart_charge
scheduled
instant

Types of Charge Point Charging Rules

CircuitSettings

voltageLevelVLN
​number · double · required
numPhases
​integer · int32 · required
continuousConsumptionW
​number | null · double

CircuitSettingsUpdate

voltageLevelVLN
​number | null · double
numPhases
​integer | null · int32
continuousConsumptionW
​number | null · double

ClearChargingProfile

id
​integer | null · int64 · min: 0

The id of the charge point profile.

Example: 1
connectorId
​integer | null · int64 · min: 0

The connector id to clear the profile for.

Example: 1
chargingProfilePurpose
​string | null

The charging profile purpose type.

ClearChargingProfileConfirmation

status
​string · required

The status of the clear charging profile request.

Example: Accepted

Component

type
​string · enum · required

The type of price/fee for this component

Enum values:
tariff
spot-price
spot-price-additions-absolute
spot-price-additions-percent
time-based-tariff
fixed-kwh
fee
starting-fee
Example: tariff
price
​integer · int64 · required

The price of this component

Example: 1200
description
​string · required

The readable description of this component

Example: Tariff for 10 kwh charged at 1.20 DKK
masterPricing
​boolean · required

Indicates this component is master a master pricing

Example: true
​object

The tag for this component

​object

Additional information (metadata) for this component, e.g tariffId, kwh and others

ComponentMetadataDto

type
​ComponentMetadataTypeDto · enum · required

Enumerate the various types of metadata.The content of metadata payloads may differ depending on the typefor example, a tariff payload is different from a spot-price payload. This type offers reliable means to associate the metadata with the appropriate model class

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object
type = object · requires: kwh
type = object
type = object
type = object · requires: from, to
type = object
type = object
Properties for Variant 1:
type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: spot-price-metadata
kwh
​number · double

The kwh for this metadata entry

Example: 12.5
pricePerKwh
​integer · int64

The price per kwh for this metadata entry

Example: 120

ComponentMetadataTypeDto

string · enum
Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata

Enumerate the various types of metadata.The content of metadata payloads may differ depending on the typefor example, a tariff payload is different from a spot-price payload. This type offers reliable means to associate the metadata with the appropriate model class

ComponentTypeDto

string · enum
Enum values:
tariff
spot-price
spot-price-additions-absolute
spot-price-additions-percent
time-based-tariff
fixed-kwh
fee
starting-fee

Enumerate the various component types.component types identify the component inside a break down

ConnectThirdPartyIntegrationDto

Request body for connecting a third-party integration
name
​string · enum · minLength: 1 · required

Name of the third-party integration to connect. Currently only allStar is supported.

Enum values:
allStar
Example: allStar

ConsentRequest

consent_type
​ConsentType · enum · required
Enum values:
FUSE_PROTECTION
PEAK_PROTECTION

ConsentResponse

fuse_protection_ticked_at
​string | null · date-time

ConsentType

string · enum
Enum values:
FUSE_PROTECTION
PEAK_PROTECTION

Consumer

name
​string · required

A name for this credential (e.g. Monta Team A)

Example: Monta Team A
operatorIds
​integer[] · required

List of operator ids that are authorized for API operations. If empty, all child operators of this operator are authorized.

teamIds
​integer[] · required

List of team ids that are authorized for API operations. If empty, all teams of this operator are authorized.

clientId
​string · required

Your client id

Example: 2cae3a14-3dfd-414b-8965-7814370ec324
scopes
​string[] · required

List of scopes for this account

Enum values:
all
charge-points
map
charge-transactions
wallet-transactions
control-charging
createdAt
​string · date-time · required

Creation date of this consumer

Example: 2022-05-12T15:56:45.99Z
operatorId
​integer · int64

Your operator id

Example: 42
rateLimit
​integer · int64

Rate-limit for your account; requests per rateLimitIntervalInSeconds

Example: 1000
rateLimitIntervalInSeconds
​integer · int64

Rate-limit interval for your rateLimit

Example: 600
updatedAt
​string | null · date-time

Update date of this consumer

Example: 2022-05-12T16:56:45.99Z

Coordinates

latitude
​number · double

Latitude value of coordinate

Example: 55.6760968
longitude
​number · double

Longitude value of coordinate

Example: 12.5683371

CostCenter

name
​string · required

Name of the cost center

Example: Sales department
externalId
​string · required

External Id of this cost center, managed by you.

Example: ACME-12345
createdAt
​string · date-time · required

Creation date of this cost center

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this cost center was last updated

Example: 2022-05-12T16:56:45.99Z
id
​integer · int64

Id of this cost center

Example: 1
operatorId
​integer · int64

Id of the operator this cost center belongs to

Example: 1
teamId
​integer | null · int64

Id of the team this cost center belongs to. Null when the cost center is operator-scoped.

Example: 10
description
​string | null

Description of the cost center

Example: Costs attributed to the sales department
teamsCount
​integer | null · int64

Number of teams assigned to this cost center. Only returned when retrieving a single cost center.

Example: 3
teamMembersCount
​integer | null · int64

Number of team members assigned to this cost center. Only returned when retrieving a single cost center.

Example: 12
teamMemberProfilesCount
​integer | null · int64

Number of team member profiles assigned to this cost center. Only returned when retrieving a single cost center.

Example: 4
vehiclesCount
​integer | null · int64

Number of vehicles assigned to this cost center. Only returned when retrieving a single cost center.

Example: 7
chargeKeysCount
​integer | null · int64

Number of charge keys assigned to this cost center. Only returned when retrieving a single cost center.

Example: 9

Country

id
​integer · int64 · required

Id of the country

Example: 1
name
​string · required

Name of the country

Example: Bangladesh
alpha2Code
​string · required

Country code in Alpha-2 format, following ISO-3166

Example: dk
sanctioned
​boolean · required

Specifies if the country is sanctioned or not

Example: true

CountryArea

id
​integer · int64 · required

Id of the country area

Example: 1
countryId
​integer · int64 · required

Id of the country for the country area

Example: 194
name
​string · required

Name of the country area

Example: United Kingdom
level
​string · enum · required

The level of depth for this country area

Enum values:
bidding-area
dso
tso
other
Example: bidding-area
externalId
​string | null

The external id of the country area

Example: GB

CountryAreaLevel

string · enum
Enum values:
bidding-area
dso
tso
other

CreateAdditionalPricingDto

type
​string · enum · required

Type of the additional pricing. absolute means the value is a price.

Enum values:
absolute
percentage
Example: percentage
value
​number · required

The value of this additional pricing.

title
​string | null

A title for this additional pricing.

CreateAlert

A manual alert, optionally attached to existing issues.
type
​string · minLength: 1 · maxLength: 255 · required

The alert type token.

Example: charge_point_offline
​AlertScopeInput · required

What a new alert or issue is about.

operatorId
​integer | null · int64

Operator to create the alert under. Defaults to your own operator.

title
​string | null · maxLength: 512

Human label for the alert.

triggerReason
​string | null · maxLength: 2000

Why the alert was raised.

issueIds
​array | null · maxItems: 100

Ids of existing issues of the same operator to attach, at most 100.

CreateAlertComment

A comment on an alert or an issue.
body
​string · minLength: 1 · maxLength: 5000 · required

Comment body, at most 5000 characters.

Example: Escalated to the site owner.
userId
​integer · int64 · required

Id of the application user the authorization link is created for

Example: 10000
redirectUri
​string · minLength: 1 · pattern: ^https://\S+$ · required

URI the user is redirected to after authorizing their vehicle account. Must be an https:// URL.

Example: https://example.com/vehicle/callback
provider
​string | null · enum · pattern: enode|smartcar

Vehicle integration provider. Defaults to enode when omitted.

Enum values:
enode
smartcar
Example: enode
brandId
​integer | null · int64

Vehicle brand id used to pick a provider-specific authorization flow

Example: 1234
scopes
​array | null

Scopes requested from the vehicle account. Defaults to charge-state and control-charging. charge-state also grants the odometer, location the vehicle's location, all every scope. Smartcar always requests every scope.

Enum values:
all
charge-state
location
control-charging
Example: ["charge-state","location"]

CreateBankAccount

name
​string · minLength: 1 · required

Name of the bank account

Example: Primary account
type
​string · enum · minLength: 1 · required

Which set of fields identifies the bank account.

iban requires iban. swift requires swift. bsb requires bsb. sort_account requires sortCode and accountNumber. routing_account requires routingNumber, accountNumber and accountType. local_canadian requires institutionNumber, transitNumber and accountNumber. emirates requires iban.

Enum values:
iban
swift
bsb
sort_account
routing_account
local_canadian
emirates
Example: iban
iban
​string | null

IBAN of the bank account. Validated against its check digits.

Example: DK5000400440116243
swift
​string | null

SWIFT/BIC of the bank account

Example: IIIGGB22
bsb
​string | null

BSB number of the bank account (Australia)

Example: 805050
sortCode
​string | null

Sort code of the bank account (United Kingdom)

Example: 12-34-56
accountNumber
​string | null

Account number of the bank account

Example: 654318465131864
routingNumber
​string | null

Routing number of the bank account (United States)

Example: 123456789
accountType
​string | null · enum

Account type, required with receive option routing_account

Enum values:
checking
savings
Example: checking
transitNumber
​string | null

Transit number of the bank account (Canada, 5 digits)

Example: 12345
institutionNumber
​string | null

Institution number of the bank account (Canada, 3 digits)

Example: 001

CreateChargeAuthToken

teamId
​integer · int64 · required

Id of the team the charge auth token belongs

Example: 42
identifier
​string · minLength: 1 · pattern: ^(?!VID:)[\s\S]* · required

Identifier of the the charge auth token, Note: without prefix e.g VID:

Example: 38C58DB85F4
type
​string · enum · required

Type of the charge auth token

Enum values:
rfid
vehicleId
Example: vehicleId
userId
​integer | null · int64

Id of the user the charge auth token should be associated to

Example: 1
vehicleId
​integer | null · int64

Id of the vehicle to link to this charge auth token

Example: 1
name
​string | null

Name of the charge auth token

Example: Monta Office Charge Key
montaNetwork
​boolean

If the charge auth token should be active in the Monta network

Example: true
Default: true
roamingNetwork
​boolean

If the charge auth token should be active in the Roaming network

Example: true
Default: true
operatorNetwork
​boolean | null

Indicates that the charge auth token can be used on other teams charge points underthe same operator

Example: true
Default: true
activeUntil
​string | null · date-time

Indicates until when this charge auth token should be active, null means indefinitely

Example: 2023-01-11T00:00:00Z
blockedAt
​string | null · date-time

If the charge auth token is blocked, it will not be able to charge.

  • null = not blocked
  • date-time = blocked since date-time
Example: 2023-01-11T00:00:00Z
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

CreateChargePoint

teamId
​integer · int64 · required

Id of the team that the charge point belongs to

Example: 13
siteId
​integer · int64 · required

Id of the site the charge point belongs to

Example: 20
chargePointModelId
​integer · int64 · required

Id of the charge point model

Example: 20
name
​string · minLength: 1 · required

Name of the charge point

Example: CP - CPH Office
maxKw
​number · double · required

Max Kw (Max Power) the charge point can output

Example: 22
visibility
​string · enum · required

Visibility type of the charge point

Enum values:
private
public
Example: private
type
​string · enum · required

Electric current type the charge point support

Enum values:
ac
dc
other
Example: ac
active
​boolean | null

Indicates the charge point is active

Example: true
Default: true
showOnMap
​boolean | null
Code
Indicates the charge point should be displayed on map. By setting this to false, the charge point will not be shown on the app's map, but will still be fully functional for users of the charge point.
Example: true
Default: true
connectorIds
​array | null
Code
Ids of the connectors this charge point support, When not present the provide charge point model connectors will be used instead.
Example: [1,2,3,4]
note
​string | null

A note (instructions, warning, information) you have entered for this charge point

Example: In order to access this charge point enter 0000 as code at the gate.
latitude
​number | null · min: -90 · max: 90
Code
Latitude coordinate for the charge point location. When provided along with longitude, overrides the site's location.
Example: 55.6761
longitude
​number | null · min: -180 · max: 180
Code
Longitude coordinate for the charge point location. When provided along with latitude, overrides the site's location.
Example: 12.5683
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
smartChargeSetting
​string | null · enum · pattern: ^(off|optional|force…
Code
Smart charging setting for this charge point. - `off`: Smart charging is disabled, rules cannot be created - `optional`: Smart charging is optional, rules can be created and applied - `forced`: Smart charging is forced, rules will always be applied - `forced-setting`: Smart charging setting is forced
Enum values:
off
optional
forced
forced-setting
Example: optional
userId
​integer | null · int64

Id of the user that owns this charge point

Example: 42
meterId
​string | null · maxLength: 255

Meter id of the charge point.

Example: 2200019107351
autoRegisterRfid
​boolean | null

Whether RFID tags are auto-registered when scanned at this charge point. Ignored unless RFID auto-registration is enabled for your operator.

Example: true

CreateChargePointOcppConfig

key
​string · required

The unique configuration key for the OCPP setting

Example: 13
store
​boolean · required

Persist Configuration (this means this configuration will be kept across reboots, please do not set this to true if you are changing the OCPP url of a charge point)

Example: false
Default: false
value
​string | null

The value associated with the configuration key

Example: config_value_example

CreateChargePointSensor

type
​string · enum · required

Type of the charge point sensor

Enum values:
occupancy
other
Example: occupancy
chargePointId
​integer | null · int64

The charge point id to which this charge point sensor is assigned to

Example: 1
value
​string | null

Value this sensor is reporting, this is sensor specific, this value is managed by you

Example: true
valueUpdatedAt
​string | null · date-time

Indicates when the value for this sensor was last updated

Example: 2023-01-11T00:00:00Z
externalId
​string | null

External Id of this sensor, ideally it references the sensor id in your system

Example: SENSOR-10005
partnerExternalId
​string | null

External Id of this entity, managed by you

Example: ACME-12345

CreateChargingRule

name
​string · required

Name of the charging rule

Example: Smart charging rule
type
​string · enum · required

The type of the charging rule

Enum values:
smart_charge
scheduled
instant
Example: smart_charge
isActive
​boolean · required

Indicates if this rule is active

Example: true
isSponsored
​boolean · required

Indicates if the charge is sponsored

Example: true
creatorUserId
​integer · int64 · required

User ID of the rule creator that you ware impersonating

Example: 123
​object · required

The settings of the charging rule, depending on the type of the rule

vehicleId
​integer | null · int64

Vehicle id of the vehicle this rule applies to

Example: 123

CreateCostCenter

name
​string · minLength: 1 · required

Name of the cost center.

Example: Sales department
externalId
​string · minLength: 1 · required

External Id of this cost center, managed by you.

Example: ACME-12345
teamId
​integer | null · int64

Id of the team this cost center belongs to. When omitted, the cost center is operator-scoped.

Example: 10
description
​string | null

Description of the cost center.

Example: Costs attributed to the sales department
destinationType
​string · enum · required

Type of destination for the deeplink

Enum values:
link
resource
Example: link
​object · required

Destination details for the deeplink

comment
​string | null

Optional comment for the deeplink

Example: Marketing campaign link
operatorId
​integer | null · int64

The ID of the operator for whom the deeplink will be created. If not provided, operator ID will be derived from the used api credentials

Example: 123

CreateFeatureGroup

relationType
​string · enum · required

Relation type that the feature group should apply to.

Enum values:
team
Example: team
ids
​integer[] · minItems: 1 · maxItems: 100 · required

List of IDs that the feature group should be applied to. If one of the IDs does not belong to your operator, applying feature group will fail. Therefore, make sure all the Ids belong to your operator.

Example: [1,2,3]

CreateInstallerJobDto

siteId
​integer · int64 · required

Site id of the site where the installer job will be created.

Example: 13
description
​string | null

A description of the installer job, visible for the installer.

Example: You will find the site in Parking Lot 2A. You can contact the site manager at 123456789.
email
​string | null

The email of the installer. If provided, an email will be sent to the installerwith the description of the installer job.

Example: installer@acme.com

CreateIssue

A manually reported issue.
type
​string · minLength: 1 · maxLength: 255 · required

The issue type token.

Example: cp.offline
​AlertScopeInput · required

What a new alert or issue is about.

operatorId
​integer | null · int64

Operator to create the issue under. Defaults to your own operator.

teamId
​integer | null · int64

Team the issue belongs to, if any. Must belong to the same operator.

siteId
​integer | null · int64

Site the issue belongs to, if any. Must belong to the same operator.

CreateLocalPaymentTerminalDto

teamId
​integer · int64 · required

The team that owns the local payment terminal.

Example: 19
payingTeamId
​integer · int64 · required

The team that pays for charges started on this terminal.

Example: 19
idTag
​string · minLength: 1 · required

The id tag (or prefix) used to authorize charges on this terminal.

Example: ABC123
idTagPrefix
​boolean · required

If true, the id tag is treated as a prefix (any tag starting with this value is accepted).

Example: false
name
​string · minLength: 1 · required

Display name of the local payment terminal.

Example: Office Garage Reader
priceLimit
​number | null · double · min: 0

Optional spending limit (in the team's currency) per charge.

Example: 20

CreateNodeRequest

parentNodeId
​integer · int64 · required
name
​string · required
fuseLimitA
​number | null · double
bufferA
​number | null · double
powerLimitW
​number | null · double
maxExpectedResidualCurrentA
​number | null · double
maxExpectedResidualPowerW
​number | null · double

CreateOdometerReading

odometerKm
​integer · int32 · min: 0 · max: 4000000 · required

Odometer reading in whole kilometres. Values outside 0-4000000 are rejected with 422.

Example: 42500
readingAt
​string | null · date-time

When the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Defaults to the time of the request.

Example: 2026-05-21T11:55:00Z
sourceRef
​string | null · maxLength: 128

Your own identifier for this reading, echoed back on reads. Maximum 128 characters.

Example: fleet-run-9

CreateOnboardingProfile

name
​string · minLength: 1 · required

Name of the profile, unique per operator.

Example: Fleet drivers
​OnboardingStep[] · minItems: 1 · required

The onboarding steps a linked team receives, as {step, config?, displayMode?} entries. Present in the list means enabled.

description
​string | null

Description of the profile.

Example: Company car drivers
enabled
​boolean | null

Whether the profile can be assigned to teams. Defaults to true.

Example: true
​object

Optional welcome screen text overrides.

CreateOperatorList

name
​string · minLength: 1 · maxLength: 255 · required

Name of the operator list.

Example: VIP customers
listType
​string · enum · required

The single entity type this list is restricted to.

Enum values:
user
team
charge_point
charge_points_public
site
charge_key
vehicle
Example: user
description
​string | null · maxLength: 65535

Optional free-text description of the operator list.

Example: Customers eligible for discounted charging
source
​string · enum

How the list is populated. MANUAL (default) for a hand-curated list, or FILTER for a dynamic list that reconciles from filterDefinition. Immutable after creation.

Enum values:
MANUAL
FILTER
Example: FILTER
syncMode
​string · enum

Reconciliation mode for a FILTER list. Only AUTO is supported on the Partner API (changes are applied automatically); defaults to AUTO.

Enum values:
MANUAL
AUTO
Example: AUTO
​object | null

Required when source is FILTER: the saved filter the list resolves its members from. Charge-point lists only.

CreateOrUpdateChargePointIntegration

chargePointId
​integer · int64 · required

Id of the charge point to setup the integration

Example: 13
chargePointModelId
​integer · int64 · required

Id of the charge point model to be integrated

Example: 20
serialNumber
​string · minLength: 1 · required

The serial number for the charge point integration

Example: 46964534
connectorId
​integer | null · int32

Connector id for the charge point integration. when null the connectorId will default to 1

Example: 1
autoConnect
​boolean | null

Indicates that an attempt to connect the charge point should happen, when autoConnect is set to true the Charge Point needs to point to Monta (via OCPP websocket)

Note: when false the integration will be create but the state will be to pending

Example: true
Default: true
ocppPassword
​string | null

Basic authentication password that will be required for the OCPP websocket connection. Gets ignored, i.e. does not clear the password, when null

Example: hunter2

CreateOrUpdateGracePeriod

startTime
​string · partial-time · required

Start time for the grace period

Example: 09:00:00
endTime
​string · partial-time · required

End time for the grace period

Example: 17:00:00

CreateOrUpdatePriceGroupDto

name
​string · required

Name of the price group

Example: Public Price Group
type
​string · enum · required

Type of the price group

Enum values:
public
member
sponsored
cost
roaming
reimbursement
member_cost
other
Example: public
​object · required

The master price

teamId
​integer | null · int64

Team ID. When omitted the price group is created at operator scope and owned by the calling operator.

Example: 1
​array | null

All the fees for the price group

CreateOrUpdatePricingDto

type
​string · enum · required

Type of the pricing. minute is used for Minute fee. min is used for the master price.

Enum values:
kwh
min
spot
tariff
starting
charging
idle
minute
Example: kwh
endAtFullyCharged
​boolean · required

Used by the Minute fee. True means it will stop charging the fee when the charge is complete. False means it will stop charging the fee when the cable is unplugged

Example: false
vat
​boolean · required

Used by Spot Price. True means it will add 25% VAT in the price calculations

Example: false
price
​number · required

The price of this Fee or Master price,
Note: the master price cannot be a negative value

description
​string | null

Name of the pricing. It is null when it's the master price

Example: Starting Fee
percentage
​number | null

Used by Spot Price. It will multiply the fallback price by this percentage

Example: 10.2
Default: 100
tariffId
​integer | null · int64

The id of the selected Tariff

Example: 5
tagId
​integer | null · int64

The id of the selected charge pricing tag

Example: 10
applyAfterMinutes
​integer | null · int32

Used by Charging, Minute and Idle Fees. After how many minutes the fee should start being applied.

Example: 30
priceMin
​number | null

Used by spot price. The minimum that the raw spot price can be. This will be used in calculations if spot price is lower than this

priceMax
​number | null

Used by spot price. The maximum that the raw spot price can be. This will be used in calculations if spot price is higher than this

feePriceMax
​number | null

Used by Idle fee. The maximum the user will be charged for the idle fee

​array | null

Used by spot price. Additional absolute money or percentages values to be added on top of the previous calculations

from
​string | null · date-time

DateTime "from" time to which this pricing should apply from

Example: 2023-03-16T15:37:23Z
to
​string | null · date-time

DateTime "to" time to which this pricing should apply to

Example: 2023-03-16T15:37:23Z
interval
​string · enum

Specifies the time resolution used for spot price calculations.

Note: Only has an effect if such resolution is available (, ie 15-min MTU from 30.09.25).

Enum values:
hourly
quarterHourly
Example: hourly
​array | null

Grace periods during which idle fees are not applied

CreatePriceGroupTag

name
​string · minLength: 1 · required

Name of the tag. names are unique and cannot be reused.

Example: Energy
description
​string | null

Description of the tag.

Example: Can be used to group `Energy` pricing elements
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

CreatePromotionCode

name
​string · minLength: 1 · required

Name of the promotion code

Example: Summer Sale
code
​string · pattern: ^[a-z0-9]+(?:-[a-z0-… · required

Unique code string. Must be lowercase alphanumeric, optionally hyphen-separated (e.g. summer-2025).

Example: summer-2025
amount
​number · double · min: 0.1 · max: 500 · required

Percentage off for the discount types (max 100), or the currency amount deposited into the driver's wallet for credit (max 500). The cap is enforced per type by the server, so a percentage type above 100 is rejected with 422 even though the schema maximum is 500.

Example: 25
description
​string | null

Description of the promotion code

Example: 25% off all charges this summer
maxUsesCount
​integer | null · int32 · min: 1

Maximum number of times the code can be used. For credit this must be 1 or omitted — a higher value is rejected with 422, and omitting it creates the code as single-use.

Example: 100
startAt
​string | null · date-time

When the promotion code becomes active (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
endAt
​string | null · date-time

When the promotion code expires (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
type
​string · enum

What the code gives the driver.

  • ongoing-charge-discount-percentage — a percentage off each charge.
  • charge-package-discount-percentage — a percentage off a charge package.
  • credit — deposits amount as currency into the driver's wallet instead of applying any discount. Must be enabled for your operator.
Enum values:
credit
ongoing-charge-discount-percentage
charge-package-discount-percentage
charge-package-price-group
Example: credit
userId
​integer | null · int64

User ID to limit this code to a specific user

Example: 42
maxDiscountAmount
​number | null · min: 0.01 · max: 999999.99

Cap on the total discount a single driver can accumulate from this code. Once a driver reaches it the code stops discounting for them; the code stays usable for everyone else. Ignored for credit. Omit to set no cap.

Example: 500
selectedTeamIds
​array | null

Team IDs the promotion code is restricted to. Omit or pass an empty array to leave the code unrestricted.

Example: [1,2,3]
amountKwh
​number | null · min: 0.01

kWh allowance the discount covers per budget period. Ignored for credit, and must be enabled for your operator. Omit or pass null for no kWh cap.

Example: 300
budgetPeriodType
​string | null · pattern: calendar-month

Reset window for the kWh allowance; calendar-month resets on the 1st, null means a lifetime cap. Ignored for credit.

Example: calendar-month
includeHomeCharging
​boolean | null

Whether the kWh allowance also covers charge points owned by the subscribing team, so home charging draws on the same allowance as public charging.

Example: true
selectedListIds
​array | null

List IDs the promotion code is restricted to. Omit or pass an empty array to leave the code unrestricted.

Example: [1,2,3]
maxChargeUsesCount
​integer | null · int32 · min: 1 · max: 10000

Max charges per driver eligible for the discount after redeeming. Omit to set no limit.

Example: 3

CreateRevenueSharePolicy

name
​string · minLength: 1 · required

Human-readable name.

Example: Fleet 85/15
kind
​string · enum · required

Who the revenue is shared between.

Enum values:
team_to_team
operator_to_team
Example: operator_to_team
seller
​string · enum · required

Who sells the electricity.

Enum values:
cpo
site_owner
Example: cpo
policyType
​string · enum · required

How the share is measured.

Enum values:
percentage
per_kwh
Example: percentage
policyValue
​number · min: 0 · required

The share value: a percentage of net, or an amount per kWh.

Example: 15
moneyFlow
​string · enum · required

How the settled share reaches the recipient.

Enum values:
wallet_live
wallet_monthly
external
Example: wallet_live
validFrom
​string · date-time · required

Start of the validity window.

Example: 2026-01-01T00:00:00Z
description
​string | null

Optional internal description.

validTo
​string | null · date-time

Optional end of the validity window.

Example: 2026-12-31T23:59:59Z

CreateRfidChargeIntent

rfid
​string · required
type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
​ScheduleOverride[] · required
departureTime
​string | null · partial-time
​object

CreateScheduleDto

teamId
​integer · int64 · required

Id of the team that should own this schedule

Example: 12
name
​string · minLength: 1 · maxLength: 255 · required

Name of the schedule

Example: Weekday Hours
timezone
​string · minLength: 1 · required

Timezone for interpreting the schedule entry times

Example: Europe/Copenhagen
visibility
​string · enum

Default visibility for charge points in this schedule. Defaults to public when omitted.

Enum values:
private
public
Example: public
priceGroupId
​integer | null · int64

Id of the default price group applied during scheduled windows. Defaults to the team's default price group when omitted.

Example: 99
selectedChargePointIds
​array | null · maxItems: 1000

Ids of charge points to assign to this schedule

Example: [1,2]
selectedSiteIds
​array | null · maxItems: 1000

Ids of sites to assign to this schedule

Example: [10]
​array | null · maxItems: 100

Time windows that make up this schedule

CreateScheduleEntryDto

dayOfWeek
​string · enum · required

Day of week this entry applies to

Enum values:
mon
tue
wed
thu
fri
sat
sun
Example: mon
from
​string · pattern: ^([01]\d|2[0-3]):[0-… · required

Start time of this entry (HH:mm)

Example: 08:00
to
​string · pattern: ^([01]\d|2[0-3]):[0-… · required

End time of this entry (HH:mm)

Example: 18:00
visibility
​string · enum

Visibility override for this time window. Null means the schedule's default visibility is used.

Enum values:
private
public
Example: public
priceGroupId
​integer | null · int64

Price group override for this time window. Null means the schedule's default price group is used.

Example: 42

CreateSite

teamId
​integer · int64 · required

Id of the team that the site belongs to

Example: 13
name
​string · minLength: 1 · required

Name of the site

Example: Monta CPH Site
​object · required

Address of the site. countryId is always required. address1, city, and zipCode must either all be provided (geocoding will resolve coordinates) or all be left null — in which case latitude and longitude must be supplied instead. Partial addresses are rejected.

visibility
​string · enum · required

Visibility type of the site. Controls who can charge at the site: public means any Monta user can charge here, private restricts charging to team members / access-token holders. This field does NOT control whether the site appears on the consumer map — use showOnMap for that.

Enum values:
private
public
Example: private
latitude
​number | null · min: -90 · max: 90

Latitude coordinate for the site location. Required when the address (address1/city/zipCode) is omitted. When provided along with longitude, overrides geocoding from address.

Example: 55.6761
longitude
​number | null · min: -180 · max: 180

Longitude coordinate for the site location. Required when the address (address1/city/zipCode) is omitted. When provided along with latitude, overrides geocoding from address.

Example: 12.5683
showOnMap
​boolean | null

Whether this site should be visible on the consumer map. If omitted, the site will be visible on the map by default. This is independent of visibility — a private site can still be shown on the map, and a public site can be hidden.

Example: true
driverSupportVisibility
​string · enum

Whether Monta's AI Driver Support may reach drivers at this site. Defaults to inherit when omitted.
- inherit — follow the site's visibility: a public site is reachable, a private site is not.
- public — always reachable, even when the site's visibility is private.
- off — never reachable, even when the site is public.

Enum values:
inherit
public
off
Example: public
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
​object

Metadata for the site including amenities, energy mix, opening hours, site developer, and pictures.

note
​string | null

A free-text note for this site, visible in the app.

Example: Main entrance on north side

CreateSolarPanelRequest

latitude
​number · double · required
longitude
​number · double · required
declination
​number · double · required
azimuth
​number · double · required
peakProductionKw
​number · double · required
externalId
​string | null

CreateSponsoredChargePointDto

payoutSchedule
​string · enum · required

The payout schedule for this sponsored charge point

Enum values:
end-of-month
realtime
other
Example: realtime
sponsoringTeamId
​integer · int64

Id of the team that is sponsoring this charge point

Example: 1
chargePointId
​integer · int64

Id of the charge point to be sponsored

Example: 1
userId
​integer · int64

Id of the user to have a charge point sponsored

Example: 1
priceGroupId
​integer | null · int64

The price group for this sponsorship, Only price groups of type reimbursement or sponsored are allowed

Note: if the priceGroupId is null the charge point cost price group will be used instead, if the charge point has no cost price group set the request will fail, please ensure that charge point has a valid cost group assigned when not providing a priceGroupId

Example: 1
payForSubscriptions
​boolean

Indicates that company pay for subscriptions

Example: false
Default: false
autoApproveElectricityCost
​boolean | null

When true, employee-submitted electricity costs on this sponsored charge point are auto-approved without manual review. When omitted, the value is inherited from the team member's (or team-member-profile's) auto_approve_electricity_cost setting.

Example: false
note
​string | null

Note for the sponsored charge point

Example: This is a note
sendEmailNotification
​boolean | null

Whether to email the charge point owner that their reimbursement is set up. Defaults to true. Set to false to suppress it, e.g. when migrating existing customers from another CPMS.

Default: true

CreateSubscription

customerType
​string · enum · required

Type of the customer that the subscription is created for. e.g. team or charge-point

Enum values:
team
charge-point
operator
other
planId
​integer · int64

Id of the plan to subscribe to

customerId
​integer · int64

Id of the customer the subscription is created for, e.g. team or charge-point id

discountAbsolute
​number | null · double · min: 0

Allows to modify the absolute discount on a subscription if provided. If not provided, the discount of the plan is used. Note: If you want to set it on an existing subscription, you have to cancel the subscription first.

discountPercentage
​number | null · double · min: 0

Allows to modify the percentage discount on a subscription if provided. If not provided, the discount of the plan is used. Note: If you want to set it on an existing subscription, you have to cancel the subscription first.

​object

Configure the subscription, based on the plans serviceType.Currently you can configure tax-refund subscriptions only.

userId
​integer | null · int64

The user that should be assigned as the purchaser of the subscription. If not provided, the subscription will be assigned to the default user for this consumer.

nextPurchaseAt
​string | null · date-time

Date when wallet will be charged for the first time (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Has to be a date in the future.

Example: 2025-10-22T09:30:03Z
sendNotifications
​boolean | null

Whether to send the subscription-created notifications (e.g. confirmation email to the team's admins). Defaults to true. Set to false to suppress them, e.g. when migrating existing customers from another CPMS.

Default: true

CreateTariffPricesRequest

start
​string · date · required

Start date that marks when prices should be created for a tariff (yyyy-MM-dd)

Example: 2023-01-01
end
​string · date · required

End date that marks when prices should be created for a tariff (yyyy-MM-dd)

Example: 2023-01-31

CreateTariffRequest

externalId
​string · required

external id

Example: 1
name
​string · required

Radius Elnet A/S

Example:
description
​string · required

Short description of this tariff

Example: Net tariff A high
countryId
​integer · int64 · required

Id of the country where the tariff is applicable

Example: 1
currencyId
​integer · int64 · required

Id of the currency in which the tariff is applicable

Example: 1
pricesWithVat
​boolean · required

Indication if prices are with vat

Example: true
zipCodes
​string[] · required

Zip codes where this tariff is applicable

Example: ["2200","2100"]
timeZone
​string · required

What time zone is the tariff active in

Example: Europe/Copenhagen
area
​string · required

Human description of the area the tariff is active in

Example: Fyn
countryAreaId
​integer | null · int64

Id of the country area where the tariff is applicable

Example: 1
teamId
​integer | null · int64

Team id

Example: 1
tariffType
​string · enum

Dynamic or weekly

Enum values:
WEEKLY
DYNAMIC
Example: WEEKLY
active
​boolean

Indication if this tariff is active

Example: false
customerType
​string · enum

What kind of customer types are the tariff for?

Enum values:
A_ZERO
A_HIGH
A_LOW
B_HIGH
B_LOW
C_CUSTOMER
Example: C_CUSTOMER

CreateTeamDto

name
​string · minLength: 1 · required

Name of the team.

Example: Monta CPH Team
contactEmail
​string · email · required

Contact email of the team. Named "email" in the GET APIs.

Example: contact@monta.com
type
​string · enum · required

type of the team.

Enum values:
private
professional
operator
Example: private
​object · required

Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.

userId
​integer | null · int64

Id of the user that owns the team.

Example: 42
userEmail
​string | null · email

Email of the user that owns the team, useful when the userId is not known.

Example: user@monta.com
operatorId
​integer | null · int64

Id of the operator this team should be assigned to
Note: if not provided the team will be assigned to the default operator for the given consumer, if the default operator cannot be assigned the request will be rejected.

Example: 1
financeEmail
​string | null · email

Finance contact email of the team.

Example: finance_contact@monta.com
financeCommunicationEmail
​string | null · email · minLength: 1 · maxLength: 255

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null · email

Legal contact email of the team.

Example: legal_contact@monta.com
companyName
​string | null

The company name for the team.

Example: Monta ApS
vatNumber
​string | null

The vat number for the team.

Example: DK13585628
companyRegistrationNumber
​string | null

The company registration number for the team.

Example: 13585628
​object | null

Custom fields to set on this entity: a flat map of string keys (1-64 characters, no : or ,, not starting with monta) to string values (up to 256 characters), at most 20 pairs per entity. Fields are scoped to your operator. externalId is the same value as the deprecated partnerExternalId.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
paymentMethod
​string · enum

The payment method for the team.
Note: if not provided the team will be created with the default payment method source.

Enum values:
invoice
operator_transaction
source
Example: source
themeId
​integer | null · int64

The theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team

Example: 721
​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Present in the list means enabled; the list is the full enabled set.

onboardingProfileId
​integer | null · int64

Onboarding profile to apply, from GET /onboarding-profiles. Copies the profile's steps onto the team and locks them to the profile. Cannot be combined with onboardingSteps.

Example: 12
​object

The app-onboarding welcome-screen text override. Omit to use Monta's default copy.

category
​string | null

Category identifier of the team, one of: housing-association, cpo, parking, hotel, fleet, company, priced-by-site-owner.
Note: if not provided Monta assigns a default based on the team type.

Example: priced-by-site-owner
selfRegisterChargeKeys
​boolean | null

Whether team members can register their own charge keys.
Note: defaults to false when omitted. Self-registration is also enabled when the team's operator team settings template enables it.

Example: true
joinCode
​string | null · minLength: 4 · maxLength: 50

Custom code users enter in the app to join the team, 4-50 characters. Monta generates one when omitted.
Note: stored slugified (lowercased, spaces and symbols become dashes, e.g. MVV Energie 042 → mvv-energie-042); the response returns the stored value. Join codes are unique across all teams on Monta, so a code that is already taken (after slugifying) is rejected with 422.

Example: mvv-energie-042

CreateTeamMember

role
​string · enum · required

Role for this member within the team

Enum values:
admin
user
other
Example: admin
teamId
​integer · int64

Id of the team that the user will be invited

Example: 1
userId
​integer | null · int64

Id of the user to be invited
Note: When inviting by userId the fields email or phone must not be provided.

Example: 1
email
​string | null · email

Email of the user to be invited
Note: When inviting by email the fields userId or phone must not be provided.

Example: partner-api@monta.com
phone
​string | null · pattern: ^\+[1-9]\d{1,14}$

Phone of the user to be invited
Note: When inviting by phone the fields userId or email must not be provided.

Example: +45123456789
priceGroupId
​integer | null · int64

The price group for this team member, when not provided the default team price group will be applied

Example: 1
costGroupId
​integer | null · int64

The cost group for this team member

Example: 1
teamMemberProfileId
​integer | null · int64

The team member profile id to apply to this team member

Example: 1
canConfigureChargePoints
​boolean

Indicates if the team member can configure charge points

Example: false
Default: false
canPayWithTeamWallet
​boolean

Gives the team member access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canRequestSponsoring
​boolean

Allows the team member to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean

Allows the team member to view and manage other members settings

Example: false
Default: false
teamWalletChargePaymentType
​string · enum

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
canDepositToWallet
​boolean | null

Gives the team member permission to deposit to the team wallet

canWithdrawFromWallet
​boolean | null

Gives the team member permission to withdraw from the team wallet

canManageChargeKeys
​boolean | null

Gives the team member permission to manage charge keys for the team

canPayForChargesCountryIds
​array | null

List of country ids for which the team member can pay for charges

Example: [1,2,3]
note
​string | null

A note for the team member

Example: Welcome to the Monta team
chargePointIds
​array | null

Ids of the charge point this team member with will have access

Example: [1,2,3,4]
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
notifyUser
​boolean

Controls whether an invitation email and/or SMS is sent to the user based on the provided email and phone fields.

Example: true
Default: true
immediateAccess
​boolean | null

Grants the invited member access to the team immediately, without waiting for them to accept the invitation. When true and the user already exists, the team member is created in accepted state so the operator can configure pricing, charge-point access and other settings right away. When true and the user does not yet exist, the immediate-access intent is persisted on the invitation and applied when the user registers — the team member is then created in accepted state with the inviter recorded as the acceptor (operator-initiated acceptance). If both immediateAccess and the deprecated autoAccept are sent, immediateAccess takes precedence.

Example: true
Default: false
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse this team member for home charging. Omit or set null to use the employee's own cost price group (cloned at SCP creation time).

Example: 1
autoApproveElectricityCost
​boolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for this team member.

Example: false
Default: false
reimbursementEnabled
​boolean

Master switch — whether the team member participates in home reimbursement.

Example: false
Default: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for this team member.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean

Whether the operator reimburses the charge-point subscription price.

Example: false
Default: false
costCenterId
​integer | null · int64

The cost center to assign to this team member. Must belong to the same operator, and when it is scoped to a team, to that team.

Example: 1

CreateTeamMemberFeeDto

name
​string · minLength: 1 · maxLength: 255 · required

Name of the member fee.

Example: Standard monthly fee
monthly_price
​number · min: 0 · required

Monthly price charged per member, in the team's currency. Use 0 for a free tier.

Example: 5.67

CreateTeamMemberProfile

name
​string · required

The team member profile name

Example: Example profile 1
description
​string · required

The team member profile description

Example: Example profile 1
role
​string · enum · required

Role for team member profile

Enum values:
admin
user
other
Example: admin
teamWalletChargePaymentType
​TeamWalletChargePaymentType · enum · required

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
canPayForChargesCountryIds
​integer[] · required

List of country ids for which the team member can pay for charges

Example: [1,2,3]
teamId
​integer · int64

Id of the team

Example: 1
priceGroupId
​integer | null · int64

The price group, when not provided the default team price group will be applied

Example: 1
costGroupId
​integer | null · int64

The cost group

Example: 1
canConfigureChargePoints
​boolean

Allows the team applying member profile to configure charge points

Example: false
Default: false
canPayWithTeamWallet
​boolean

Gives the team member applying this profile access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canRequestSponsoring
​boolean

Allows the team applying member profile to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean

Allows the team applying member profile to view and manage other members settings

Example: false
Default: false
canDepositToWallet
​boolean | null

Gives the team member permission to deposit to the team wallet

canWithdrawFromWallet
​boolean | null

Gives the team member permission to withdraw from the team wallet

canManageChargeKeys
​boolean | null

Gives the team member permission to manage charge keys for the team

kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse members in this profile for home charging. Omit or set null to use the employee's own cost price group (cloned at SCP creation time).

Example: 1
autoApproveElectricityCost
​boolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for members in this profile.

Example: false
Default: false
reimbursementEnabled
​boolean

Master switch — whether members in this profile participate in home reimbursement.

Example: false
Default: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for members in this profile.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean

Whether the operator reimburses the charge-point subscription price.

Example: false
Default: false

CreateUser

countryId
​integer · int64 · required

Country Id of the user

Example: 1
email
​string | null · email

Email address of the user. Required unless phone is provided. Without an email, phone must match an existing Monta user, which is then linked to your application; a new user can't be created without an email.

Example: example@monta.com
phone
​string | null · pattern: ^\+[1-9]\d{1,14}$

Phone number of the user in E.164 format

Example: +4512345678
firstName
​string | null

First name of the user

Example: John
lastName
​string | null

Last name of the user

Example: Doe
sendWelcomeEmail
​boolean

Controls whether a welcome email is sent to the user after creation. For new users, the email includes a link to set their password. For existing users, the email welcomes them to the operator's platform.

Example: false
language
​string | null · maxLength: 10

User preferred language

Example: en
legalEmail
​string | null · email · minLength: 1

User legal email address

Example: legal@example.com
address1
​string | null · maxLength: 255

User address line 1

Example: Strandboulevarden 122
address2
​string | null · maxLength: 255

User address line 2

Example: Apt 4B
address3
​string | null · maxLength: 255

User address line 3

Example: 5. sal
zip
​string | null · maxLength: 20

User zip/postal code

Example: 2100
city
​string | null · maxLength: 255

User city

Example: Copenhagen
province
​string | null · maxLength: 255

User province/state

Example: Capital Region
isEmailOrPhoneProvided
​boolean

CreateVehicle

name
​string · minLength: 1 · required

Name of the vehicle

Example: Viking Bus 42
teamId
​integer · int64 · required

Id of the team the vehicle belongs to

Example: 100
modelId
​integer | null · int64

Id of the vehicle model

Example: 1234
licensePlate
​string | null

License plate of the vehicle

Example: AB12345
brand
​string | null · maxLength: 100

Manual vehicle brand name. Required when modelId is not provided.

Example: Volvo
modelName
​string | null · maxLength: 100

Manual vehicle model name. Required when modelId is not provided.

Example: FH Electric
vehicleType
​string | null · maxLength: 50

Vehicle type. Required when modelId is not provided.

Example: truck
vid
​string | null · pattern: ^VID:[0-9A-Fa-f]{6,2…

VID identifier for auto-charge. Format: VID:xxxxxxxxxxxx

Example: VID:001681036794

CreateVehicleIdIntent

vehicleIdTag
​string · minLength: 1 · required
batteryCapacityKwh
​number · double · required
type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
​ScheduleOverride[] · required
vehicleId
​integer | null · int64
departureTime
​string | null · partial-time
​object

CreatedOrUpdateAddress

Address information
countryId
​integer · int64 · required

The country id.
Note: If the chosen countryId is under sanctions the request will get rejected.

Example: 194
address1
​string | null · minLength: 1

First line of address

Example: Strandboulevarden 122
address2
​string | null

Second line of address

Example: København
address3
​string | null

Third line of address

Example: 5. sal
city
​string | null · minLength: 1

The city name

Example: Berlin
zipCode
​string | null · minLength: 1

The address zip code

Example: 10011
countryAreaId
​integer | null · int64

The country area id

Example: 1

CreatedPromotionCode

id
​integer · int64 · required

ID of the created promotion code

Example: 604
code
​string · required

The code a driver redeems

Example: logista-a7f3k2

CtClampIntegrationResult

string · enum
Enum values:
COULD_NOT_FIND_CHARGE_POINT
BRAND_MODEL_NOT_SUPPORTED
FIRMWARE_NOT_SUPPORTED
COULD_NOT_SET_CONFIGURATION_KEY
NO_DATATRANSFER_RECEIVED
SUCCESS

Currency

identifier
​string · required

Currency identifier, e.g. dkk

Example: dkk
name
​string · required

Readable name of currency

Example: Danish krone
decimals
​integer · int32

Number of decimals for this currency

Example: 2

CurrencyDto

id
​integer · int64 · required
identifier
​string · required
name
​string · required
decimals
​integer · int32 · required
Default: 2
​object · required

CurrencyDto_1

id
​integer | null · int64

id of the currency

Example: 1
identifier
​string | null

Currency identifier

Example: DKK
name
​string | null

Readable name of currency

Example: Danish krone
decimals
​integer · int32

Number of decimals for this currency

Example: 2

Currency_1

identifier
​string · minLength: 3 · maxLength: 3 · required

3 characters identifier

Example: DKK
decimals
​integer · int32 · min: 0 · required

How many decimals the currency has

Example: 2
id
​integer | null · int64

id of the currency

Example: 1
master
​boolean

Whether the currency is master or not, master meaning the default currency

Example: true
name
​string

Name of the currency

Example: Danish krone

CursorBasedPageMeta

itemCount
​integer | null · int64

The number of items in the result

Example: 10
perPage
​integer · int64

The requested maximum number of items returned

Example: 50
after
​string | null

A cursor to retrieve the next page of items in a new request

Example: 1290
before
​string | null

A cursor to retrieve the previous page of items in a new request

Example: 1200

CursorBasedResponse

​AfirChargePointDto[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_1

​AuditEvent[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_2

​Cdr[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_3

​ChargeAuthToken[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_4

​EInvoice[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_5

​EReport[] · required
​CursorBasedPageMeta · required

CursorBasedResponse_6

​Message[] · required
​CursorBasedPageMeta · required

CursorPage_ChargeHistoryItem_

​ChargeHistoryItem[] · required
totalSize
​integer · int64 · required
perPage
​integer · int32 · required
currentSize
​integer · int32 · required
before
​string | null
after
​string | null

CustomHeaders

​object · required

DailyDataConsumption

date
​string · date · required

Day of the consumption

Example: 2024-01-01
bytes
​integer · int64

Bytes consumed on the day

Example: 524288
megabytes
​number · double

Megabytes consumed on the day (1 MB = 1,000,000 bytes)

Example: 0.52

DashboardNetworkOverviewDto

disconnectedCount
​integer · int64 · required

Number of disconnected charge points

Example: 5
errorCount
​integer · int64 · required

Number of charge points in error state

Example: 2
maintenanceCount
​integer · int64 · required

Number of charge points in maintenance state

Example: 1
totalChargePointCount
​integer · int64 · required

Total number of charge points

Example: 50

DataConsumptionTotal

bytes
​integer · int64

Total bytes consumed

Example: 1048576
megabytes
​number · double

Total megabytes consumed (1 MB = 1,000,000 bytes)

Example: 1.05

DataTransferMeterIntegration

chargePointIdentity
​string · minLength: 1 · required
timeoutSeconds
​integer · int32 · min: 1 · max: 300 · required

DayOfWeek

string · enum
Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

DayOfWeek_1

string · enum
Enum values:
mon
tue
wed
thu
fri
sat
sun

DeeplinkDto

destinationType
​string · enum · required

Type of destination for the deeplink

Enum values:
link
resource
Example: link
createdAt
​string · required

Creation timestamp

Example: 2024-01-01T12:00:00Z
updatedAt
​string · required

Last update timestamp

Example: 2024-01-01T12:00:00Z
id
​integer · int64

Unique identifier of the deeplink

Example: 1
​object

Destination details for the deeplink

comment
​string | null

Optional comment for the deeplink

Example: Marketing campaign link
visits
​integer · int64

Number of visits to this deeplink

Example: 42
operatorId
​integer | null · int64

ID of the operator who created the deeplink. Null for deeplinks without an operator (e.g.: permanent charge point links)

Example: 123
qrCodeUrl
​string | null

URL to the QR code image

Example: https://example.com/qr/abc123
appUrl
​string | null

Optional URL for the mobile app

Example: monta://deeplink/abc123
deletedAt
​string | null

Deletion timestamp, if deleted

Example: 2024-01-01T12:00:00Z

DefaultComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: default
kwh
​number | null · double

The kwh for this metadata entry

Example: 12.5
price
​integer | null · int64

The kwh for this metadata entry

Example: 1200

DeleteMontaMqttMeter

meterUuid
​string · minLength: 1 · required

DeleteTariffConfirmationDto

confirm
​boolean · required

Must be true to confirm this bulk destructive operation. Omitting this field or setting it to false will result in a 422 error.

Example: true
url
​string | null

URL of the link

Example: https://example.com

DestinationLinkOrResource

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object
type = object
Properties for Variant 1:
url
​string | null

URL of the link

Example: https://example.com

DestinationResource

resourceType
​string | null · enum

Type of the resource

Enum values:
charge-point
Example: charge-point
Default: charge-point
resourceId
​integer | null · int64

ID of the resource

Example: 12345

DestinationType

string · enum
Enum values:
link
resource

DetailedBreakdown

​object · required

The summary of the total prices for this breakdown

​object · required

The currency applicable for this breakdown (for all the components: prices, fees, adjustments)

​Breakdown[] · required

The breakdown entries for this breakdown, currently organized on an hourly basis

​Component[] · required

The fees that compose this breakdown

​Component[] · required

The adjustments applied for this breakdown

DriverReportDatesFilteredBy

string · enum
Enum values:
charge-transaction
wallet-transaction

DriverSupportVisibility

string · enum
Enum values:
inherit
public
off

DurationFeeComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: default-metadata
totalMinutes
​number · float

The total duration in minutes for this metadata entry

Example: 12.5
feePerMinute
​integer · int64

For the fee per minute for this metadata entry

Example: 10

DynamicPriceEntry

A single price-interval entry to upsert on a DYNAMIC tariff.
timeStart
​string · date-time · required

Inclusive start of the price interval (UTC, RFC 3339). Must align to the batch resolution grid.

Example: 2026-01-01T00:00:00Z
timeEnd
​string · date-time · required

Exclusive end of the price interval (UTC, RFC 3339). timeEnd - timeStart must equal the batch resolution.

Example: 2026-01-01T01:00:00Z
price
​number · min: 0 · required

Non-negative price per kWh in the parent tariff's currency. Up to 4 decimal places.

Example: 0.4567

DynamicTariffPrice

A single dynamic price entry on a DYNAMIC tariff. The currency for `price` is the one declared on the parent tariff.
timeStart
​string · date-time · required

Inclusive start of the price interval (UTC, RFC 3339)

Example: 2026-01-01T00:00:00Z
timeEnd
​string · date-time · required

Exclusive end of the price interval (UTC, RFC 3339)

Example: 2026-01-01T01:00:00Z
price
​number · required

Price per kWh in the parent tariff's currency, with up to 4 decimal precision

Example: 0.4567
resolution
​string · enum · required

Time granularity of the price entry

Enum values:
quarter-hour
half-hour
hour
Example: hour
source
​string · enum · required

Where the price came from. dagster denotes Monta-ingested DSO data, manual denotes a partner upsert, dso-import denotes a one-off DSO file import.

Enum values:
dagster
manual
dso-import
Example: dagster
id
​integer · int64

Id of the dynamic price entry

Example: 39127
tariffId
​integer · int64

Id of the parent tariff (always a DYNAMIC tariff)

Example: 7612

EInvoice

id
​integer · int64 · required

Id of the e-invoice

Example: 412
walletId
​integer · int64 · required

Id of the wallet the e-invoice was issued from

Example: 21
invoiceNumber
​string · required

Serial number carried on the transmitted document

Example: 2170695-4
documentType
​string · enum · required

Whether the document was issued by the seller or self-billed by the buyer

Enum values:
INVOICE
SELF_BILLED_INVOICE
Example: INVOICE
issueDate
​string · date · required

Date the document was issued

Example: 2026-08-03
currencyCode
​string · required

ISO 4217 currency of every amount on the document

Example: EUR
netAmount
​number · required

Total excluding VAT, in major units

Example: 41.32
vatAmount
​number · required

Total VAT, in major units

Example: 8.68
grossAmount
​number · required

Total including VAT, in major units

Example: 50
periodFrom
​string · date-time · required

Start of the period the document covers

Example: 2026-07-01T00:00:00Z
periodTo
​string · date-time · required

End of the period the document covers

Example: 2026-08-01T00:00:00Z
​object

The other party on the document — the buyer on an invoice, the seller on a self-billed invoice

​object

Delivery state of the document on the e-invoicing network

EInvoiceDetail

id
​integer · int64 · required

Id of the e-invoice

Example: 412
walletId
​integer · int64 · required

Id of the wallet the e-invoice was issued from

Example: 21
invoiceNumber
​string · required

Serial number carried on the transmitted document

Example: 2170695-4
documentType
​string · enum · required

Whether the document was issued by the seller or self-billed by the buyer

Enum values:
INVOICE
SELF_BILLED_INVOICE
Example: INVOICE
issueDate
​string · date · required

Date the document was issued

Example: 2026-08-03
currencyCode
​string · required

ISO 4217 currency of every amount on the document

Example: EUR
periodFrom
​string · date-time · required

Start of the period the document covers

Example: 2026-07-01T00:00:00Z
periodTo
​string · date-time · required

End of the period the document covers

Example: 2026-08-01T00:00:00Z
​EInvoiceLine[] · required

Line items on the document

​object · required

Document totals, in major units

​EInvoiceTaxSubtotal[] · required

VAT breakdown, one entry per rate and category

note
​string | null

Free-text note carried on the document

Example: Summary invoice for July purchases.
​object

Party that issued the document

​object

Party the document was issued to

​object

Delivery state of the document on the e-invoicing network

EInvoiceIdentifier

scheme
​string · required

Identifier scheme, as used on the e-invoicing network

Example: BE:VAT
id
​string · required

Identifier value within the scheme

Example: BE0406479092

EInvoiceLine

id
​integer · int64 · required

Id of the line

Example: 638
itemName
​string · required

Name of the item charged for

Example: Shop purchase
quantity
​number · required

Quantity charged for, in unitCode units

Example: 1
unitCode
​string · required

UN/ECE Recommendation 20 code for the unit quantity is measured in

Example: EA
unitPrice
​number · required

Price per unit excluding VAT, in major units

Example: 41.3223
netAmount
​number · required

Line total excluding VAT, in major units

Example: 41.32
​EInvoiceLineTax[] · required

VAT applied to the line

itemDescription
​string | null

Longer description of the item charged for

Example: Charging at Nørrebrogade 42

EInvoiceLineTax

taxPercent
​number · required

VAT rate applied, as a percentage

Example: 21
taxCategory
​string · enum · required

VAT category applied

Enum values:
STANDARD
EXPORT
EXEMPT
REVERSE_CHARGE
ZERO_RATED
Example: STANDARD
countryCode
​string · required

ISO 3166-1 alpha-2 country whose VAT rules apply

Example: BE

EInvoiceParty

ownerType
​string · required

Type of owner: operator, team

Example: team
ownerId
​integer · int64 · required

Id of the owner, either a teamId or an operatorId depending on ownerType

Example: 4129366
companyName
​string · required

Registered company name

Example: EMBUILD
countryCode
​string · required

ISO 3166-1 alpha-2 country of registration

Example: BE
​EInvoiceIdentifier[] · required

Tax and routing identifiers registered for the party

EInvoiceSubmission

status
​string · enum · required

Delivery state of the document on the e-invoicing network

Enum values:
PENDING
DRAFT
PROCESSING
DELIVERED
FAILED
Example: DELIVERED
errorDetails
​string | null

Why the submission failed, when status is FAILED

Example: Buyer identifier is not registered on the network
submittedAt
​string | null · date-time

When the document was handed to the network

Example: 2026-08-03T08:40:03Z
deliveredAt
​string | null · date-time

When the network confirmed delivery to the buyer

Example: 2026-08-03T17:33:37Z
paymentLifecycleStatus
​string · enum

Latest payment state the buyer reported back over the network

Enum values:
UNKNOWN
RECEIVED
SUCCEEDED
CLEARED
FAILED
NO_ACTION_TAKEN
NOT_TRANSPORTABLE
ACKNOWLEDGED
Example: CLEARED
paymentLifecycleStatusAt
​string | null · date-time

When the buyer reported paymentLifecycleStatus

Example: 2026-08-03T17:33:37Z

EInvoiceTaxSubtotal

taxPercent
​number · required

VAT rate applied, as a percentage

Example: 21
taxCategory
​string · enum · required

VAT category applied

Enum values:
STANDARD
EXPORT
EXEMPT
REVERSE_CHARGE
ZERO_RATED
Example: STANDARD
countryCode
​string · required

ISO 3166-1 alpha-2 country whose VAT rules apply

Example: BE
taxableAmount
​number · required

Amount the rate was applied to, in major units

Example: 41.32
taxAmount
​number · required

VAT charged at this rate, in major units

Example: 8.68

EInvoiceTotals

netAmount
​number · required

Total excluding VAT, in major units

Example: 41.32
vatAmount
​number · required

Total VAT, in major units

Example: 8.68
grossAmount
​number · required

Total including VAT, in major units

Example: 50

EReport

id
​integer · int64 · required

Monta's id for the e-report

Example: 412
typeCode
​string · enum · required

IN for an initial declaration, RE for a rectificative that restates it in full

Enum values:
IN
RE
Example: IN
revision
​integer · int32 · required

Revision of the declaration for this window. A rectificative restates the whole window, so only the highest revision is current.

Example: 1
periodFrom
​string · date-time · required

Start of the declaration window, inclusive

Example: 2026-08-01T00:00:00Z
periodTo
​string · date-time · required

End of the declaration window, exclusive

Example: 2026-08-11T00:00:00Z
​EReportB2cLine[] · required

Domestic B2C sales, aggregated per day, category and rate

​EReportCrossBorderInvoice[] · required

Cross-border sales, declared one invoice at a time

documentId
​string | null

The id DGFiP assigned to the declaration. Null until the declaration is accepted.

Example: FR12345678900011-20260801-20260810-IN-1
status
​string · enum

Transmission status of the declaration

Enum values:
PENDING
DRAFT
PROCESSING
DELIVERED
FAILED
Example: DELIVERED
errorDetails
​string | null

Why the transmission failed, present when status is FAILED

Example: Declarant identifier is not registered with the tax authority
submittedAt
​string | null · date-time

When the declaration was transmitted

Example: 2026-08-11T08:40:03.058Z
deliveredAt
​string | null · date-time

When DGFiP acknowledged the declaration

Example: 2026-08-11T17:33:37.314Z
​object

The declarant this e-report was filed for

EReportB2cCategory

string · enum
Enum values:
GOODS
SERVICES

Whether a domestic B2C line declares goods or services

EReportB2cLine

date
​string · date · required

Day the sales were made

Example: 2026-08-03
category
​string · enum · required

Whether the line declares goods or services

Enum values:
GOODS
SERVICES
Example: SERVICES
currencyCode
​string · required

Currency of the amounts on this line

Example: EUR
transactionCount
​integer · int32 · required

How many transactions the line aggregates

Example: 184
netAmount
​number · required

Net amount, in major units

Example: 41.32
vatAmount
​number · required

VAT amount, in major units

Example: 8.68
​EReportB2cTaxSubtotal[] · required

The line split by VAT rate

EReportB2cTaxSubtotal

vatPercentage
​number · required

VAT rate applied, as a percentage

Example: 20
netAmount
​number · required

Net amount at this rate, in major units

Example: 41.32
vatAmount
​number · required

VAT amount at this rate, in major units

Example: 8.68
transactionCount
​integer · int32 · required

How many transactions fell at this rate

Example: 184

EReportCrossBorderInvoice

invoiceNumber
​string · required

Invoice number as issued

Example: 2170695-4
issueDate
​string · date · required

Date the invoice was issued

Example: 2026-08-03
currencyCode
​string · required

Currency of the amounts on this invoice

Example: EUR
buyerName
​string · required

Registered name of the buyer

Example: EMBUILD
buyerCountryCode
​string · required

Country the buyer is registered in

Example: BE
buyerIdentifierScheme
​string · required

Identifier scheme the buyer was identified by

Example: BE:VAT
buyerIdentifierValue
​string · required

Identifier value the buyer was identified by

Example: BE0406479092
netAmount
​number · required

Net amount, in major units

Example: 41.32
vatAmount
​number · required

VAT amount, in major units

Example: 0
​EReportCrossBorderTaxSubtotal[] · required

The invoice split by tax category and rate

EReportCrossBorderTaxSubtotal

taxCategory
​string · enum · required

Tax treatment applied to this portion

Enum values:
STANDARD
EXPORT
EXEMPT
REVERSE_CHARGE
ZERO_RATED
Example: REVERSE_CHARGE
vatPercentage
​number · required

VAT rate applied, as a percentage

Example: 0
netAmount
​number · required

Net amount at this rate, in major units

Example: 41.32
vatAmount
​number · required

VAT amount at this rate, in major units

Example: 0

EReportDeclarant

ownerType
​string · enum · required

Whether the declarant is a team or an operator

Enum values:
team
operator
Example: team
ownerId
​integer · int64 · required

Id of the declarant

Example: 5938
companyName
​string · required

Registered company name of the declarant

Example: Monta France SAS
countryCode
​string · required

Country the declarant is registered in

Example: FR
​EReportIdentifier[] · required

Registration identifiers held for the declarant

EReportDeclarantRef

ownerType
​string · enum · required

Whether the declarant is a team or an operator

Enum values:
team
operator
Example: team
ownerId
​integer · int64 · required

Id of the declarant, to pass as ownerId when listing e-reports

Example: 5938

EReportIdentifier

scheme
​string · required

Identifier scheme

Example: FR:SIRENE
id
​string · required

Identifier value

Example: 123456789

EReportOwnerType

string · enum
Enum values:
team
operator

Whether a declarant is a team or an operator

EReportTypeCode

string · enum
Enum values:
IN
RE

IN for an initial declaration, RE for a rectificative that restates it in full

EinvoiceDocumentType

string · enum
Enum values:
INVOICE
SELF_BILLED_INVOICE

EinvoicePaymentLifecycleStatus

string · enum
Enum values:
UNKNOWN
RECEIVED
SUCCEEDED
CLEARED
FAILED
NO_ACTION_TAKEN
NOT_TRANSPORTABLE
ACKNOWLEDGED

EinvoiceSubmissionStatus

string · enum
Enum values:
PENDING
DRAFT
PROCESSING
DELIVERED
FAILED

EinvoiceTaxCategory

string · enum
Enum values:
STANDARD
EXPORT
EXEMPT
REVERSE_CHARGE
ZERO_RATED

ElectricCurrentType

string · enum
Enum values:
ac
dc
other

definitions:

  • ac - Indicates the charge point use ac (alternating current) as electric current.
  • dc - Indicates the charge point use ac (direct current) as electric current.
  • other - Indicates the team member has only access to the selected charge points.

EnergyMeterValues

measuredAt
​string · date-time · required
currentL1A
​number | null · double
currentL2A
​number | null · double
currentL3A
​number | null · double
voltageL1V
​number | null · double
voltageL2V
​number | null · double
voltageL3V
​number | null · double
powerL1W
​number | null · double
powerL2W
​number | null · double
powerL3W
​number | null · double
powerW
​number | null · double

EnergyMix

isGreenEnergy
​boolean | null

Indicates if the energy is green

Example: true
​array | null

List of energy sources with their category and percentage

​array | null

List of environmental impacts for this energy mix

supplierName
​string | null

Name of the energy supplier

Example: Green Energy Supplier
energyProductName
​string | null

Name of the energy product

Example: EcoPower 2025

EnergyMixRequest

isGreenEnergy
​boolean | null

Whether the site's electricity comes from renewable sources. true is a claim that has to be backed up in the same energy mix by at least one of: supplier_name, energy_product_name, or energy_sources with percentages adding up to 100. Blank names and partial source lists don't count, and the request is rejected with a 422. false or null needs no other fields.

Example: true
​array | null

List of energy sources with their category and percentage

​array | null

List of environmental impacts for this energy mix

supplierName
​string | null

Name of the energy supplier

Example: Green Energy Supplier
energyProductName
​string | null

Name of the energy product

Example: EcoPower 2025

EnergySource

source
​string · enum · required

Energy source category

Enum values:
NUCLEAR
GENERAL_FOSSIL
COAL
GAS
GENERAL_GREEN
SOLAR
WIND
WATER
Example: SOLAR
percentage
​number · double

Percentage of this energy source

Example: 40

EnergySourceCategory

string · enum
Enum values:
NUCLEAR
GENERAL_FOSSIL
COAL
GAS
GENERAL_GREEN
SOLAR
WIND
WATER

EnergySourceItem

source
​string · enum · required

Energy source category

Enum values:
NUCLEAR
GENERAL_FOSSIL
COAL
GAS
GENERAL_GREEN
SOLAR
WIND
WATER
Example: SOLAR
percentage
​number · double

Percentage of this energy source (0–100)

Example: 40

EnergySourceRequest

source
​string · enum · required

Energy source category

Enum values:
NUCLEAR
GENERAL_FOSSIL
COAL
GAS
GENERAL_GREEN
SOLAR
WIND
WATER
Example: SOLAR
percentage
​number · double · min: 0 · max: 100

Percentage of this energy source (0–100)

Example: 40

EnergySource_1

string · enum
Enum values:
NUCLEAR
GENERAL_FOSSIL
COAL
GAS
GENERAL_GREEN
SOLAR
WIND
WATER

EnergyVehicleListItem

vehicleIdTag
​string · required
type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
siteId
​integer · int64 · required
siteName
​string · required
operatorId
​integer · int64 · required
vehicleId
​integer | null · int64
batteryCapacityKwh
​number | null · double
maxKwAc
​number | null · double
maxKwDc
​number | null · double
integrationCapacityKwh
​number | null · double

Enode

vendorType
​Integrations.Enode.VendorType · enum · required
Enum values:
INVERTER
deviceId
​string | null
vendorName
​string | null
​object

EnodeIntegrationResult

string · enum
Enum values:
API_NOT_RESPONDING
VENDOR_TYPE_NOT_SUPPORTED
SUCCESS
ALREADY_INTEGRATED
NO_REGISTRATION_LINK
UNSUCCESSFUL

EnodeRegistrationLinkResult

EnodeRegistrationLinkResult
result
​EnodeRegistrationLinkResult.EnodeLinkResult · enum · required
Enum values:
SUCCESS
ALREADY_INTEGRATED
API_NOT_RESPONDING
link
​string | null
token
​string | null

EnodeRegistrationLinkResult.EnodeLinkResult

string · enum
Enum values:
SUCCESS
ALREADY_INTEGRATED
API_NOT_RESPONDING

Enode_1

result
​EnodeIntegrationResult · enum · required
Enum values:
API_NOT_RESPONDING
VENDOR_TYPE_NOT_SUPPORTED
SUCCESS
ALREADY_INTEGRATED
NO_REGISTRATION_LINK
UNSUCCESSFUL

Enode_2

vendorType
​IntegrationsSetupRequest.Enode.VendorType · enum · required
Enum values:
INVERTER

EnvironmentalImpact

category
​string · enum · required

Category of the environmental impact.

Enum values:
CO2
NOX
SO2
PARTICULATE_MATTER
WATER_USE
LAND_USE
OTHER
Example: CO2
amount
​number · float

Amount of environmental impact

Example: 12.5

EnvironmentalImpactCategory

string · enum
Enum values:
CO2
NOX
SO2
PARTICULATE_MATTER
WATER_USE
LAND_USE
OTHER

EnvironmentalImpactCategory_1

string · enum
Enum values:
NUCLEAR_WASTE
CARBON_DIOXIDE

EnvironmentalImpactItem

category
​string · enum · required

Category of the environmental impact

Enum values:
NUCLEAR_WASTE
CARBON_DIOXIDE
Example: CARBON_DIOXIDE
amount
​number · double

Amount of environmental impact

Example: 12.5

EnvironmentalImpactRequest

category
​string · enum · required

Category of the environmental impact

Enum values:
NUCLEAR_WASTE
CARBON_DIOXIDE
Example: CARBON_DIOXIDE
amount
​number · double · min: 0

Amount of environmental impact

Example: 12.5

Evse

chargingStationIdentity
​string · required
connectorId
​integer · int32 · required
phaseSetup
​string · required
zeroAllowed
​boolean · required
loadManagementDisabled
​boolean · required
minPowerW
​number | null · double
maxPowerW
​number | null · double
minCurrentA
​number | null · double
maxCurrentA
​number | null · double
​object
phpChargerId
​integer | null · int64
rampUpProtectionState
​string | null
externalPowerLimitW
​number | null · double
externalPowerLimitExpiresAt
​string | null · date-time
​object
ocppStatus
​string | null
ocppStatusAt
​string | null · date-time

EvseAllocationSeries

evseId
​string · required
time
​string[] · required
allocatedPowerW
​number[] · required
allocatedCurrentA
​number[] · required

EvseAllocations

​EvseAllocationSeries[] · required

EvseMove

targetNodeId
​integer · int64 · required

EvseStateHistoryResponse

startAt
​string · date-time · required
endAt
​string · date-time · required
​EvseStateMeasurement[] · required

EvseStateItem

chargePointIdentity
​string · required
connectorId
​integer · int32 · required
state
​string · required

EvseStateMeasurement

timestamp
​string · date-time · required
​EvseStateItem[] · required

ExceptionalPeriod

periodBegin
​string · required

Exceptional period begin in HH:mm format (e.g. 08:00)

Example: 08:00
periodEnd
​string · required

Exceptional period end in HH:mm format (e.g. 17:00 or 00:00 for end of day)

Example: 17:00

ExceptionalPeriodRequest

periodBegin
​string · pattern: ^\d{4}-\d{2}-\d{2}T\… · required

Period begin in ISO 8601 datetime format

Example: 2025-06-01T08:00:00Z
periodEnd
​string · pattern: ^\d{4}-\d{2}-\d{2}T\… · required

Period end in ISO 8601 datetime format

Example: 2025-06-01T18:00:00Z

ExemptState

percentage
​number · required

Percentage of the time spent in exempt state

Example: 75
duration
​integer · int64 · required

Duration in exempt state (in seconds)

Example: 3600

ExportFormat

string · enum
Enum values:
CSV
JSON

FeatureCatalog

type
​string · enum · required

Type of the feature catalog.

Enum values:
team
unknown
Example: team
name
​string · required

Name of the feature catalog.

Example: vehicle

FeatureCatalogType

string · enum
Enum values:
team
unknown

FeatureConfigurationType

string · enum
Enum values:
on
off
hidden
unknown

FeatureGroupConfiguration

id
​integer · int64 · required

Id of the feature group configuration.

Example: 1
​object · required

Feature catalog.

featureConfiguration
​string · enum · required

Feature configuration.

Enum values:
on
off
hidden
unknown
Example: FeatureConfiguration1

FeatureGroupDto

id
​integer · int64 · required

Id of the feature group.

Example: 1
name
​string · required

Name of the feature group.

Example: FeatureGroup1

FilterMatchCount

count
​integer · int32 · required

How many charge points the filter definition matches right now.

Example: 120

FilterMatchCountRequest

​object · required

The filter definition to preview, in the same shape a FILTER list stores it.

FiscalChorusProRequest

serviceCodeRequired
​boolean | null

true if this public-sector customer requires a service code on invoices sent through Chorus Pro.

Example: false
serviceCode
​string | null

The Chorus Pro service code that routes invoices to the right department. Leave empty if none is required.

FiscalDeclarationRequest

issuanceScope
​string | null · enum · required

Which wave of France's mandatory e-invoicing rollout the company belongs to (the company declares this itself):

  • IN_SCOPE_2026 — large and mid-size companies, required to issue e-invoices from September 2026.
  • IN_SCOPE_2027 — small and very small companies, required from September 2027.
  • OUT_OF_SCOPE — the company is not covered by the mandate.
Enum values:
IN_SCOPE_2026
IN_SCOPE_2027
OUT_OF_SCOPE
Example: IN_SCOPE_2026

FiscalRegistrationRequest

​object · required

The company's own declaration about when it must start using mandatory e-invoicing. Required.

vatPaymentBasis
​string | null · enum

When the company owes VAT to the tax authority:

  • ENCAISSEMENTS — once the customer pays the invoice (the usual French default).
  • DEBITS — as soon as the invoice is issued, even if not yet paid. Leave empty for VAT-exempt companies.
Enum values:
ENCAISSEMENTS
DEBITS
Example: ENCAISSEMENTS
vatGroupId
​string | null

If several related companies file VAT together as a single taxable entity (a French "assujetti unique" VAT group), this is that group's identifier. There is no default value — leave it empty if the company is not part of such a group.

legalFormCode
​string | null

The company's legal form, as a 4-digit code from the French national business registry (INSEE "catégorie juridique"). For example, 5710 is a simplified joint-stock company (SAS). The first digit gives the broad type: 1 = sole trader, 5 = commercial company, 7 or 4 = public body, 9 = association.

Example: 5710
vatExemptionReasonCode
​string | null · enum

If the company is exempt from VAT, this is the standard code (from the European e-invoicing standard EN 16931) that says why, and it is required whenever an exemption applies. Possible values:

  • VATEX-FR-FRANCHISE — small business below the French turnover threshold (franchise en base).
  • VATEX-EU-132-1A — postal services provided by the public postal operator (La Poste).
  • VATEX-EU-132-1B — hospital and medical care provided by public bodies.
  • VATEX-EU-132-1C — medical and paramedical care provided directly by healthcare professionals.
  • VATEX-EU-132-1D — supply of human organs, blood and breast milk.
  • VATEX-EU-132-1E — services and dental prostheses supplied by dental technicians.
  • VATEX-EU-132-1G — services closely linked to welfare and social-security work.
  • VATEX-EU-132-1H — services closely linked to the protection of children and young persons.
  • VATEX-EU-132-1I — school, university or vocational education provided by certified bodies.
  • VATEX-EU-132-1J — private tuition given independently by teachers, covering regular school curricula.
  • VATEX-EU-135-1A — insurance and reinsurance, including related broker services.
  • VATEX-EU-135-1B — granting, negotiating and managing credit or loans.
  • VATEX-EU-135-1C — managing bank accounts, deposits, debts and payments.
  • VATEX-EU-135-1D — transactions in currency, bank notes and cash conversion.
  • VATEX-EU-135-1E — transactions in shares, bonds, company interests and other securities.
  • VATEX-EU-135-1K — financial leasing or long-term letting of residential real estate.
Enum values:
VATEX-FR-FRANCHISE
VATEX-EU-132-1A
VATEX-EU-132-1B
VATEX-EU-132-1C
VATEX-EU-132-1D
VATEX-EU-132-1E
VATEX-EU-132-1G
VATEX-EU-132-1H
Example: VATEX-FR-FRANCHISE
routingIdentifier
​string | null · pattern: ^\d{9}(_[A-Za-z0-9._…

Where the company wants to receive its electronic invoices. Leave it empty and invoices go to the company as a whole, addressed to its SIREN — which is what most companies want. Set it to send invoices to one particular place instead:

  • the whole company — the 9-digit SIREN on its own, e.g. 840227060.
  • one establishment — the SIREN, an underscore, then that site's 14-digit SIRET, e.g. 840227060_84022706000012.
  • one department — the SIREN, an underscore, then a code the company chooses, e.g. 840227060_SERVICEACHATS.

Always send the full value including the SIREN, and it must be this company's own SIREN — send compliance_identifiers.FR_SIREN in the same request so it can be checked. After the underscore you may use letters, digits, dots, hyphens and underscores, up to 115 characters. A 14-digit code after the underscore is read as a SIRET and must be a real SIRET of this company.

Example: 840227060_SERVICEACHATS
​object

Settings for Chorus Pro, the French government portal used to send invoices to public-sector customers. Only relevant if the company invoices public bodies.

ForecastItem

timestamp
​string · date-time · required
forecastPowerKw
​number · double · required
isPowerEnoughForCharging
​boolean · required

FullTariff

​object · required

tariff

​Price[] · required

list of the tariff prices

​object

Price specification

FuseProtectionOperationalState

string · enum
Enum values:
DISABLED
ACTIVATED
ACTIVE_LIMITING
NULL_DATA
OUTDATED_DATA

FuseProtectionSettings

fuseProtectionEnabled
​boolean · required
fuseLimitCurrentA
​number · double · required
fuseSafetyMarginCurrentA
​number · double · required
fuseProtectionNotificationEnabled
​boolean · required
dataSource
​string · enum
Enum values:
CT_CLAMPS
SAVEEYE
ENODE
POWERFOX
changedAt
​string | null · date-time

FuseProtectionSettingsUpdate

fuseProtectionEnabled
​boolean | null
fuseLimitCurrentA
​number | null · double
fuseSafetyMarginCurrentA
​number | null · double
fuseProtectionNotificationEnabled
​boolean | null
dataSource
​string · enum
Enum values:
CT_CLAMPS
SAVEEYE
ENODE
POWERFOX
changedAt
​string | null · date-time

FuseProtectionState

fuseProtectionOperationalState
​FuseProtectionOperationalState · enum · required
Enum values:
DISABLED
ACTIVATED
ACTIVE_LIMITING
NULL_DATA
OUTDATED_DATA
lastDataAt
​string | null · date-time

GenericPaymentSession

provider
​string · required

The provider of the payment session

Example: logos
externalId
​string · required

The external id of the payment session. Allows retrieving receipts via receipt.monta.com by using date and externalId or cardLast4.

Example: 76BB1FCF-946D-4040-A8F7-8FD6ECDEE5B1
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
cardBrand
​string | null

The brand of the card used for the payment session

Example: VISA
cardLast4
​string | null

The last 4 digits of the card used for the payment session. Allows retrieving receipts via receipt.monta.com by using date and externalId or cardLast4.

Example: 1234
amount
​number | null

The amount of the payment session. Negative amounts will be rejected by the API

Example: 1234

GracePeriod

startTime
​string · partial-time · required

Start time for the grace period

Example: 09:00:00
endTime
​string · partial-time · required

End time for the grace period

Example: 17:00:00

GridAutoSubscribeRequest

meterId
​string | null

GridConnectionType

string · enum
Enum values:
THREE_PHASE_230_400V
THREE_PHASE_277_480V
SPLIT_PHASE_120_240V

GridServiceMeterIdStatus

string · enum
Enum values:
MANDATORY
NOT_REQUIRED
OPTIONAL

GridServiceProviderFeedbackMessages

configurationSaved
​string · required
meterIdUpdated
​string · required
subscribeSuccess
​string · required
unsubscribeSuccess
​string · required

GridServiceProviderMeterId

status
​GridServiceMeterIdStatus · enum · required
Enum values:
MANDATORY
NOT_REQUIRED
OPTIONAL
label
​string · required
id
​string | null
title
​string | null
subtitle
​string | null
description
​string | null
formatRegex
​string | null
formatDescription
​string | null
formatHint
​string | null
requiredLabel
​string | null
invalidFormatLabel
​string | null

GridSubscriptionV2

status
​ChargePointGridSubscriptionStatus · enum · required
Enum values:
UNKNOWN
OPEN
BETA
OPEN_BETA
OPEN_FOR_REGISTER
REGISTER_ONLY
SUBSCRIBED
SUBSCRIBED_BETA
title
​string · required
description
​string · required
gridPartner
​string | null
statusReason
​string | null
teaser
​string | null
terms
​string | null
termsAgreement
​string | null
smartMeterConsentTitle
​string | null
smartMeterConsentText
​string | null
smartMeterConsentAgreement
​string | null
statusLabel
​string | null

GridTariff

externalId
​string · required

External id of the tariff

Example: 3143
name
​string · required

Name of the tariff

Example: Cerius
description
​string · required

Description of the tariff

Example: DSO tariff for Cerius grid area
zipCodes
​string[] · required

Zip codes covered by this tariff

Example: ["5610","5960"]
tariffType
​string · enum · required

Type of the tariff

Enum values:
WEEKLY
DYNAMIC
Example: WEEKLY
timeZone
​string · required

Time zone of the tariff

Example: Europe/Copenhagen
area
​string · required

Area of the tariff

Example: Jylland
createdAt
​string · date-time · required

Creation date of the tariff

Example: 2023-03-23T14:54:56Z
​GridTariffPeriodGroup[] · required

Period groups with pricing schedules

id
​integer · int64

Id of the tariff

Example: 1
countryId
​integer · int64

Country Id of the tariff

Example: 194
countryAreaId
​integer | null · int64

Country area Id of the tariff

Example: 1
currencyId
​integer · int64

Currency Id of the tariff

Example: 1
pricesWithVat
​boolean

Indicates if VAT is already in the price of the tariff

Example: false
active
​boolean

Indicates if the tariff is active

Example: true
customerType
​string · enum

Customer type of the tariff

Enum values:
A_ZERO
A_HIGH
A_LOW
B_HIGH
B_LOW
C_CUSTOMER
Example: B_HIGH
updatedAt
​string | null · date-time

Last update date of the tariff

Example: 2023-03-23T16:54:56Z

GridTariffPeriodGroup

activeFrom
​string · date · required

Start date when this period group becomes active

Example: 2026-01-01
activeTo
​string · date · required

End date when this period group stops being active

Example: 2026-12-31
description
​string · required

Description of the period group

Example: 2026 pricing schedule
​GridTariffRecurringPeriod[] · required

Recurring periods within this period group

id
​integer · int64

Id of the period group

Example: 1

GridTariffRecurringPeriod

dayOfWeek
​string · enum · required

Day of the week when this period starts

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: MONDAY
price
​number · required

Price for this period in the tariff's currency

Example: 0.25
id
​integer · int64

Id of the recurring period

Example: 1
endDayOfWeek
​string · enum

Day of the week when this period ends (null if same as start)

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: FRIDAY
startHour
​integer · int32

Hour when this period starts (0-23)

Example: 0
endHour
​integer · int32

Hour when this period ends (0-24)

Example: 6
startMinute
​integer · int32

Minute within startHour when this period starts (0, 15, 30 or 45)

Example: 30
endMinute
​integer · int32

Minute within endHour when this period ends (0, 15, 30 or 45; 0 when endHour is 24)

Example: 0
isHoliday
​boolean

Whether this period applies to holidays

Example: false
rateName
​string | null

Name of the rate

Example: Peak

HdvParkingSpot

height
​integer | null · int64

Height in centimeters

Example: 400
width
​integer | null · int64

Width in centimeters

Example: 300
length
​integer | null · int64

Length in centimeters

Example: 600
weight
​integer | null · int64

Weight in kilograms

Example: 5000
angledOrientation
​boolean | null

Angled orientation

Example: true
driveThroughOrientation
​boolean | null

Drive-through orientation

Example: false
parallelOrientation
​boolean | null

Parallel orientation

Example: false
perpendicularOrientation
​boolean | null

Perpendicular orientation

Example: false
turningRadius
​number | null · double

Turning radius in meters

Example: 3.5
cpPosition
​string | null

cpPosition, if any

Example: null

HistoricalMeterValues

​object
​object
​object
​object

HistoricalMeterValuesData

time
​string[] · required
currentL1A
​number[] · required
currentL2A
​number[] · required
currentL3A
​number[] · required
voltageL1V
​number[] · required
voltageL2V
​number[] · required
voltageL3V
​number[] · required
powerL1W
​number[] · required
powerL2W
​number[] · required
powerL3W
​number[] · required
powerW
​number[] · required
kwh
​number[] · required
soc
​number[] · required

HomeState

homeIdentity
​string · required
​Charger[] · required
​Integrations · required
​Settings · required
teamId
​integer | null · int64
operatorId
​integer | null · int64
​object
​object
​object
​object
​object
​object
​object

HomeStateDto

homeIdentity
​string · required
​Charger[] · required
​Integrations · required
​Settings · required
teamId
​integer | null · int64
operatorId
​integer | null · int64
​object
​object
​object
​object
​object
​object
​object

Hours

twentyFourSeven
​boolean | null

Is the location open 24/7?

Example: false
​object

List of regular weekly opening hours

​object

List of exceptional opening periods

​object

List of exceptional closing periods

IdleFeeComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: default-metadata
from
​string · date-time · required

The starting date for when the idle fee started to count

Example: 2022-05-12T15:56:45.99Z
to
​string · date-time · required

The end date for when the idle fee stopped counting

Example: 2022-05-12T15:56:45.99Z
amountPerMinute
​integer · int64

The idle fee per minute for this metadata entry

Example: null
minutes
​number · float

For how long the the charge stayed idle after fully charged

Example: 10

InstallerJob

​object · required

The operator of this installer job

publicLink
​string · required

Public link of this installer job, shareable with the installer

Example: https://app.monta.app/installer-page/149ffbb6-7b69-47a1-9698-90177c2027da
​InstallerJobTask[] · required

List of tasks of this installer job

createdAt
​string · date-time · required

Date this installer job was created

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

Id of this installer job

Example: 42
siteId
​integer · int64

Id of the site related to this installer job

Example: 22
teamId
​integer · int64

Id of the team of this installer job

Example: 4124
description
​string | null

Description of this installer job, will be visible to the installer

Example: 5
chargePointCount
​integer · int32

Number of charge points included in this installer job

Example: 5
chargePointActiveCount
​integer · int32

Number of active (finished) charge points in this installer job

Example: 3
email
​string | null

Email of the installer assigned to this job.

Example: installer@acme.org
completedAt
​string | null · date-time

Date this installer job was completed

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date this installer job was updated

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

Date this installer job was deleted

Example: 2022-05-12T15:56:45.99Z

InstallerJobTask

createdAt
​string · date-time · required

Creation date of this installer job task

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

Id of this installer job task

Example: 42
installerJobId
​integer · int64

Id of the installer job of this installer job task

Example: 5
chargePointId
​integer · int64

Id of the charge point to install

Example: 21
serialNumber
​string | null

Serial number of the charge point to install

Example: 1
connector
​integer · int32

Connector ID of the charge point to install

Example: 1
note
​string | null

Note of this installer job task, will be visible to the installer

Example: 1
installerNote
​string | null

Note provided by installer during this installer job task

Example: 1
activeAt
​string | null · date-time

Date this installer job task was active

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date this installer job task was last updated

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

Date this installer job task was deleted

Example: 2022-05-12T15:56:45.99Z

IntegrationFeature

string · enum
Enum values:
SOLAR_CHARGE
FUSE_PROTECTION
PEAK_PROTECTION

IntegrationSource

string · enum
Enum values:
CT_CLAMPS
SAVEEYE
ENODE
POWERFOX

Integrations

​object
​object
​array | null
​object
​object
​object
​object
​object

Integrations.Enode.VendorType

string · enum
Enum values:
INVERTER

IntegrationsSetupRequest

homeIdentity
​string | null
feature
​string · enum
Enum values:
SOLAR_CHARGE
FUSE_PROTECTION
PEAK_PROTECTION
​object
​object
​object
​object
​object
​object
​object
​object

IntegrationsSetupRequest.Enode.VendorType

string · enum
Enum values:
INVERTER

IntegrationsSetupResponse

​object
​object
​object
​object
​object
​object
​object
​object
​object

IntegrationsUpdate

​object

IntegrationsUpdate.SolarPanel

peakPowerKw
​number | null · double
declination
​number | null · double
azimuth
​number | null · double
currentProduction
​number | null · double

IntentSource

type
​string · required
idTag
​string | null

Interval

string · enum
Enum values:
hourly
quarterHourly

InvoiceDto

id
​integer · int64 · required

Id of the invoice

Example: 123
displayNumber
​string · required

Human-readable invoice number shown on the PDF and in Monta Hub. For invoices issued after the sequencing rollout this is the official serial number (e.g. 3508-2026-6577); older invoices fall back to the stringified id.

Example: 3508-2026-6577
walletId
​integer · int64 · required

Id of the wallet

Example: 123
from
​string · date-time · required

Invoice from date

Example: 2024-03-01T00:00:00Z
to
​string · date-time · required

Invoice to date

Example: 2024-03-30T00:00:00Z
totalPayableBalance
​number · required

Total payable balance

Example: 12.22
​object · required

Currency

status
​string · enum · required

status of the invoice

Enum values:
paid
unpaid
settled
Example: paid
createdAt
​string · date-time · required

Invoice creation date

Example: 2024-03-30T00:00:00Z
dueAt
​string | null · date-time · required

Invoice due date

Example: 2024-03-30T00:00:00Z
approvedAt
​string | null · date-time

The date it was approved

Example: 2024-03-30T00:00:00Z
totalStatement
​number | null

Total statement

Example: 12.22
pdfUrl
​string | null

URL to the invoice PDF

Example: https://monta.imgix.net/production/wallet/invoices/xyxy.pdf

InvoiceRequest

id
​integer · int64 · required

Id of the invoice request

Example: 12345
status
​string · enum · required

Status of the invoice request

Enum values:
pending
approved
rejected
Example: pending
requestedAt
​string · date-time · required

The timestamp when the invoice request was created

Example: 2025-07-08T15:56:45.99Z
approvedAt
​string | null · date-time

The timestamp when the invoice request was approved

Example: 2025-07-08T16:00:00Z
rejectedAt
​string | null · date-time

The timestamp when the invoice request was rejected

Example: 2025-07-08T16:05:00Z
rejectionReason
​string | null

The reason for rejecting the invoice request

Example: Missing required data
updatedAt
​string | null · date-time

The timestamp when the invoice request was last updated

Example: 2025-07-08T16:10:00Z

Issue

A single operational issue for your operator.
id
​string · required

Id of the issue.

Example: 5510
type
​string · required

The issue-type token.

Example: charge_point_offline
​AlertScope · required

What an alert or issue is about.

status
​string · enum · required

Current status of the issue.

Enum values:
open
resolved
unknown
Example: open
operatorId
​integer · int64

Id of the operator this issue belongs to.

Example: 1
teamId
​string | null

Id of the team this issue is scoped to, when service-alerts exposes it. Null today.

siteId
​string | null

Id of the site this issue is scoped to, when service-alerts exposes it. Null today.

eventCount
​integer · int64

Number of events attached to this issue.

Example: 14
firstEventAt
​string | null · date-time

Earliest event on this issue, if any.

lastEventAt
​string | null · date-time

Most recent event on this issue, if any.

resolvedAt
​string | null · date-time

When this issue was resolved, if it has been.

IssueDetail

An issue with its day-bucketed event trend and paginated events.
id
​string · required

Id of the issue.

Example: 5510
operatorId
​integer · int64 · required
type
​string · required
​AlertScope · required

What an alert or issue is about.

status
​string · required
eventCount
​integer · int64 · required
​AlertEventFrequencyBucket[] · required

Day-bucketed event counts for this issue.

​object · required

Events attached to this issue, most recent first.

teamId
​string | null
siteId
​string | null
firstEventAt
​string | null · date-time
lastEventAt
​string | null · date-time
resolvedAt
​string | null · date-time

IssueSourceBreakdown

One dimension's top entries, e.g. by site or by charge point.
dimension
​string · required

Stable machine key for this dimension.

Example: site
title
​string · required

Human-readable label for this dimension.

Example: Site
​IssueSourceEntry[] · required

IssueSourceEntry

One breakdown row. `assetType`/`assetId` are present only for entries that denote a Monta entity (today: `team`, `site`, `charge-point`); `assetType` is an open vocabulary — always fall back to `label` for a type you don't recognise, never fail.
label
​string · required

The raw grouped value.

Example: Copenhagen HQ
count
​integer · int64

Number of events in this row.

Example: 9
assetType
​string | null

Open-vocabulary asset type, if this row denotes a Monta entity.

assetId
​string | null

Opaque id of the asset; not necessarily numeric.

IssueSources

Sentry-style tag breakdowns aggregated over an issue's events.
​IssueSourceBreakdown[] · required

JsonNullable_Set_Long__

present
​boolean
undefined
​boolean

KafkaEventType

string · enum
Enum values:
created
updated
deleted
scanned
monta:ocpp:OcppRequestResponse
monta:ocpp:ChargePointConnected
monta:ocpp:ChargePointDisconnected
monta:ocpp:OcppProtocolError

KwhConsumption

time
​string · date-time · required

Time interval

Example: 2022-05-12T15:00:00Z
value
​number · double

The amount of energy consumed (in kWh) during the corresponding time interval

Example: 15.8

KwhPerTime

time
​string · date-time · required

Start time for the sum of the kWh

Example: 2022-05-12T15:00:00Z
value
​number · double

Sum of kWh

Example: 15.8

Location

​object

Coordinates (lat, lng)

addressLabel
​string | null

The full address.

Example: Strandboulevarden 122, 5. sal, 2100 København, Denmark
​object

Address

LocationDto

latitude
​number · double · required

Latitude of the vehicle

Example: 45.5017
longitude
​number · double · required

Longitude of the vehicle

Example: -73.5673
updatedAt
​string | null · date-time

Location was last updated at

Example: 2025-01-12T15:56:45.91Z

MapResult

​MapResultChargePoint[] · required

Charge points in that area not belonging to a site. A charge point that belongs to a site is never returned here, at any zoom level - it is represented by its site in sites instead, so that one location shows as a single pin rather than a stack of pins. To list the charge points inside a site, call GET /charge-points?siteId={id}.

​MapResultSite[] · required

Sites in that area. A site groups several charge points at one location, and is returned in place of those charge points. chargePointCount tells you how many it contains.

​MapResultCluster[] · required

Clusters (of charge points and sites) in that area. Only returned below zoom 14; from zoom 14 upwards the individual chargePoints and sites entries are returned instead.

MapResultChargePoint

Reduced model of Charge Point
visibility
​string · enum · required

Indicates if this charge point is public or private

Enum values:
private
public
Example: public
​object · required

Location information for this charge point

​ChargePointConnector[] · required

List of supported connector types at this charge point (e.g. type-2, ccs, ...)

​object · required

Deeplinks to open charge screen in Monta app or web.

id
​integer · int64

Id of this charge point

Example: 1
siteId
​integer | null · int64

Id of the site

Example: 42
name
​string | null

Name of the site

Example: Monta CPH HQ
maxKw
​number | null · double

Max KW available at this charge point.

Example: 150
type
​string | null · enum

Type of charge point (AC / DC)

Enum values:
ac
dc
Example: ac
note
​string | null

A note you have entered for this charge point, e.g. via our Portal.

Example: In order to access this charge point enter 0000 as code at the gate.
state
​string | null · enum

Chargepoint state

Enum values:
available
busy
error
disconnected
passive
other
Example: available

MapResultCluster

Cluster model
​object · required

Coordinates of the cluster

count
​integer · int64

Number of entities (Charge points and sites) clustered.

MapResultSite

Reduced model of Site
name
​string · required

Name of the site

Example: Monta CPH HQ
visibility
​string · enum · required

Indicates if this site is public or private

Enum values:
private
public
Example: public
​object · required

Location information for this site

​ChargePointConnector[] · required

List of supported connector types at this site (e.g. type-2, ccs, ...)

id
​integer · int64

Id of the site

Example: 1
chargePointCount
​integer · int64

Number of charge points at this site

Example: 42
maxKw
​number | null · double

Max KW available at this site.

Example: 150
type
​string | null · enum

Type of charge points at this site (AC / DC)

Enum values:
ac
dc
Example: ac
note
​string | null

A note you have entered for this site, e.g. via our Portal.

Example: In order to access this site enter 0000 as code at the gate.

Message

A message your operator sent to a user. Note: messages do not support the `partnerExternalId` / `partnerCustomPayload` custom-data fields (§11) — they are transient delivery records, not partner-managed entities.
id
​string · required

Id of the message.

Example: 1024
body
​string · required

The message body.

Example: Your charge at Main Street is complete.
​object · required

The channels the message was sent on.

​object · required

Per-channel delivery status. Populated asynchronously after send, so channels may be absent immediately after sending.

createdAt
​string · date-time · required

When the message was created.

Example: 2026-06-26T13:40:00Z
userId
​integer · int64

Id of the user the message was sent to.

Example: 42
subject
​string | null

Subject / title, if one was set.

Example: Charge complete
actionUrl
​string | null

Deep link carried by the message, if any.

readAt
​string | null · date-time

When the recipient read the message, or null if unread.

Example: 2026-06-26T13:47:14.123Z

MessageChannels

The channels a message is delivered on. The in-app inbox is on by default; push, email, and SMS are opt-in. At least one channel must be enabled.
webInbox
​boolean

Deliver to the user's in-app inbox.

Example: true
Default: true
mobilePush
​boolean

Deliver as a mobile push notification.

Example: false
Default: false
email
​boolean

Deliver as an email.

Example: false
Default: false
sms
​boolean

Deliver as an SMS.

Example: false
Default: false

MessageDeliveryResults

Per-channel delivery outcome. A channel is absent until its delivery is attempted.
​object

In-app inbox delivery.

​object

Mobile push delivery.

​object

Email delivery.

​object

SMS delivery.

MessageDeliveryStatus

Delivery outcome for a single channel.
status
​string · enum · required

Delivery status.

Enum values:
queued
delivered
failed
token_invalid
rate_limited
skipped
Example: delivered
at
​string · date-time · required

When this status was recorded.

Example: 2026-06-26T13:40:01Z

MetadataDto

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object
type = object
Properties for Variant 1:
type
​string · enum · required

The type of this metadata

Enum values:
tax-refund-metadata
charge-metadata
default-metadata
id
​integer · int64

The id of the the tax refund

Example: 1
kwh
​number · double

The total kwh for the tax refund

Example: 13.77
chargeId
​integer | null · int64

The reference to chargeId for the tax refund

MetadataTypeDto

string · enum
Enum values:
tax-refund-metadata
charge-metadata
default-metadata

Meter

type
​string · required
​MeterProperties · required
​object

MeterMove

targetNodeId
​integer · int64 · required

MeterProperties

meterUuid
​string | null
chargePointIdentity
​string | null
isReceivingData
​boolean | null
timeoutSeconds
​integer | null · int32
meterIdentifier
​string | null
digitalInputNumber
​integer | null · int32
digitalInputActiveLevel
​string | null
lastDi1
​integer | null · int32
lastDi2
​integer | null · int32
lastDiAt
​string | null · date-time
mqttTopic
​string | null
topicPrefix
​string | null

MeterValues

measuredAt
​string · required
currentL1A
​number | null · double
currentL2A
​number | null · double
currentL3A
​number | null · double
voltageL1V
​number | null · double
voltageL2V
​number | null · double
voltageL3V
​number | null · double
powerL1W
​number | null · double
powerL2W
​number | null · double
powerL3W
​number | null · double
powerW
​number | null · double
kwh
​number | null · double
soc
​number | null · double
currentDcA
​number | null · double
voltageDcV
​number | null · double
powerDcW
​number | null · double

Money

amount
​integer · int64 · required

The amount of money

Example: 12312
​object · required

Currency

locale
​string · minLength: 1 · required

Current user locale

Example: en

MontaAppResponse

Standard response format for all Monta API endpoints
status
​string · enum · required

HTTP status of the response

Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT
Example: OK
origin
​string · required

Name of the service that generated this response

Example: user-service
Default: unknown-service
environment
​string · required

Environment where this response was generated

Example: PRODUCTION
statusCode
​integer · int32 · required

Numeric HTTP status code

Example: 200
message
​string | null

Primary response message for developers/logging

Example: Successfully retrieved user profile
localizedMessage
​string | null

User-friendly message that can be displayed to end users

Example: Your profile was successfully updated
errorCode
​string | null

Optional error code for categorizing errors

Example: USER_NOT_FOUND
​object | null

Additional metadata related to the response

Example: {"userId":"123","requestId":"abc-123"}
​array | null

Detailed validation errors for form fields

MontaAppResponse.ErrorDetail

Field validation error details
field
​string | null

Name of the field that failed validation

Example: email
​array | null

List of validation issues for the field

MontaAppResponse.ErrorDetail.Body

Individual validation error message
message
​string · required

Error message describing the validation issue

Example: Email must be in a valid format

MontaHttpStatus

string · enum
Enum values:
CONTINUE
SWITCHING_PROTOCOLS
PROCESSING
OK
CREATED
ACCEPTED
NON_AUTHORITATIVE_INFORMATION
NO_CONTENT

HTTP status codes used in Monta API responses

MontaMqttMeterIntegration

meterUuid
​string · minLength: 1 · required
timeoutSeconds
​integer · int32 · min: 1 · max: 300 · required

MontaPage.Meta

itemCount
​integer · int32 · required
currentPage
​integer · int32 · required
perPage
​integer · int32 · required
totalPageCount
​integer · int32 · required
totalItemCount
​integer · int64 · required

NestedTeam

​object · required

Parent team, the one who sends the invite

userRole
​string · enum · required

The role assigned to the nested team

Enum values:
user
Example: user
access
​string · enum · required

Access to parent team CPs / sites: to all or selected charge points and/or sites

Enum values:
all
selected
Example: all
state
​string · enum · required

State of the nested team invitation

Enum values:
requested
invited
accepted
rejected_at
blocked
expired
Example: accepted
createdAt
​string · date-time · required

Datetime of the creation of nested team invite

Example: 2022-07-27T18:11:41Z
id
​integer · int64

Id of the nested team relation

Example: 1
​object

Parent team, the one who receives the invite

​object

Price group applied to the nested team

​object

User who requested the invitation

selectedChargePointIds
​array | null

Selected charge points nested team has access to

Example: [41,72,93]
note
​string | null

Internal note for this nested team

Example: Internal note placeholder
updatedAt
​string | null · date-time

Datetime of the update of nested team invite

Example: 2022-07-28T18:11:41Z
invitedAt
​string | null · date-time

Datetime nested team was invited

Example: 2022-07-28T18:11:41Z

NestedTeamInvite

parentTeamId
​integer · int64 · required

Id of the parent team, the one who sends the invite

Example: 1
nestedTeamId
​integer · int64 · required

Id of the nested team, the one who receives the invite

Example: 2
priceGroupId
​integer · int64 · required

Price group applied to the nested team

Example: 3
access
​string · enum · required

Is access granted to all or selected charge points and sites

Enum values:
all
selected
Example: all
selectedChargePointIds
​array | null

List of charge point ids nested team access will be assigned to

selectedSiteIds
​array | null

List of site ids nested team access will be assigned to

Node

id
​integer · int64 · required
name
​string · required
fuseLimitA
​number | null · double
powerLimitW
​number | null · double
​array | null
​object
​object
​array | null
​array | null
​array | null
bufferA
​number | null · double
externalPowerLimitW
​number | null · double
externalPowerLimitExpiresAt
​string | null · date-time
maxExpectedResidualCurrentA
​number | null · double
maxExpectedResidualPowerW
​number | null · double

NodeThresholds

time
​string[] · required
fuseLimitA
​number[] · required
bufferA
​number[] · required
powerLimitW
​number[] · required
​array[] · required

OcpiChargeProtocolData

cdrId
​string | null

The unique identifier assigned to the charge data record (CDR)

Example: 123e4567-e89b-12d3-a456-426614174000
emspAuthId
​string | null

The eMSP auth id (contract id) of the roaming driver that authorized the charge, stable across that driver's sessions

Example: DK-MON-C12345-6

OdometerReading

id
​integer · int64 · required

Id of the odometer reading

Example: 1
chargeId
​integer · int64 · required

Id of the charge the reading belongs to

Example: 1234
odometerKm
​integer · int32 · required

Odometer reading in whole kilometres

Example: 42500
readingAt
​string · date-time · required

When the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2026-05-21T11:55:00Z
source
​string · enum · required

Where the reading came from

Enum values:
vehicle_integration
manual_app
manual_hub
partner_api
Example: partner_api
sourceLabel
​string · required

Human-readable label for source

Example: Partner API
capturePhase
​string · enum · required

Point in the charge lifecycle the reading was captured at. Readings you push are always manual.

Enum values:
start
stop
manual
Example: manual
confidence
​string · enum · required

How trustworthy the value is: verified for a Monta vehicle integration, declared for anything a human or a partner reported

Enum values:
verified
declared
Example: declared
confidenceLabel
​string · required

Human-readable label for confidence

Example: Declared
editable
​boolean · required

True only for readings you pushed yourself. Readings from a vehicle integration, the driver app or the operator hub are another party's evidence and cannot be patched or deleted.

Example: true
vehicleId
​integer | null · int64

Id of the vehicle the reading was taken from. Null when the charge has no vehicle assigned.

Example: 99
sourceRef
​string | null

Your own identifier for this reading, echoed back as you sent it

Example: fleet-run-9
createdAt
​string | null · date-time

When the reading was recorded (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2026-05-21T12:00:00Z

OffsetBasedResponse

​Alert[] · required
​MontaPage.Meta · required

OffsetBasedResponse_1

​AlertComment[] · required
​MontaPage.Meta · required

OffsetBasedResponse_10

​ChargePointIntegration[] · required
​MontaPage.Meta · required

OffsetBasedResponse_11

​ChargePointBrand[] · required
​MontaPage.Meta · required

OffsetBasedResponse_12

​ChargingRuleDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_13

​ChargePointConnector[] · required
​MontaPage.Meta · required

OffsetBasedResponse_14

​ChargePointModel[] · required
​MontaPage.Meta · required

OffsetBasedResponse_15

​ChargePointSensor[] · required
​MontaPage.Meta · required

OffsetBasedResponse_16

​CostCenter[] · required
​MontaPage.Meta · required

OffsetBasedResponse_17

​Country[] · required
​MontaPage.Meta · required

OffsetBasedResponse_18

​CountryArea[] · required
​MontaPage.Meta · required

OffsetBasedResponse_19

​CurrencyDto_1[] · required
​MontaPage.Meta · required

OffsetBasedResponse_2

​Issue[] · required
​MontaPage.Meta · required

OffsetBasedResponse_20

​DeeplinkDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_21

​SiteListItem[] · required
​MontaPage.Meta · required

OffsetBasedResponse_22

​SolarPanel[] · required
​MontaPage.Meta · required

OffsetBasedResponse_23

​EnergyVehicleListItem[] · required
​MontaPage.Meta · required

OffsetBasedResponse_24

​FeatureGroupDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_25

​FeatureGroupConfiguration[] · required
​MontaPage.Meta · required

OffsetBasedResponse_26

​ChargesInsightDriverReport[] · required
​MontaPage.Meta · required

OffsetBasedResponse_27

​MontaPage.Meta · required

OffsetBasedResponse_28

​MontaPage.Meta · required

OffsetBasedResponse_29

​ChargesInsightChargerReport[] · required
​MontaPage.Meta · required

OffsetBasedResponse_3

​AlertEvent[] · required
​MontaPage.Meta · required

OffsetBasedResponse_30

​InstallerJob[] · required
​MontaPage.Meta · required

OffsetBasedResponse_31

​InstallerJobTask[] · required
​MontaPage.Meta · required

OffsetBasedResponse_32

​InvoiceDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_33

​NestedTeam[] · required
​MontaPage.Meta · required

OffsetBasedResponse_34

​OnboardingProfile[] · required
​MontaPage.Meta · required

OffsetBasedResponse_35

​OperatorList[] · required
​MontaPage.Meta · required

OffsetBasedResponse_36

​OperatorListItem[] · required
​MontaPage.Meta · required

OffsetBasedResponse_37

​OperatorListSyncRun[] · required
​MontaPage.Meta · required

OffsetBasedResponse_38

​OperatorTeamSetting[] · required
​MontaPage.Meta · required

OffsetBasedResponse_39

​PaymentTerminal[] · required
​MontaPage.Meta · required

OffsetBasedResponse_4

​Charge[] · required
​MontaPage.Meta · required

OffsetBasedResponse_40

​PaymentTerminalSession[] · required
​MontaPage.Meta · required

OffsetBasedResponse_41

​Plan[] · required
​MontaPage.Meta · required

OffsetBasedResponse_42

​PriceGroup_1[] · required
​MontaPage.Meta · required

OffsetBasedResponse_43

​AppliedPriceGroupTeam[] · required
​MontaPage.Meta · required

OffsetBasedResponse_44

​PriceGroupTag[] · required
​MontaPage.Meta · required

OffsetBasedResponse_45

​PromotionCode_1[] · required
​MontaPage.Meta · required

OffsetBasedResponse_46

​ReasonDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_47

​ReportDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_48

​RevenueShareAgreement[] · required
​MontaPage.Meta · required

OffsetBasedResponse_49

​RevenueShareCalculation[] · required
​MontaPage.Meta · required

OffsetBasedResponse_5

​ChargeAuthToken[] · required
​MontaPage.Meta · required

OffsetBasedResponse_50

​RevenueSharePolicy[] · required
​MontaPage.Meta · required

OffsetBasedResponse_51

​RevenueShareSettlement[] · required
​MontaPage.Meta · required

OffsetBasedResponse_52

​Schedule[] · required
​MontaPage.Meta · required

OffsetBasedResponse_53

​Site_1[] · required
​MontaPage.Meta · required

OffsetBasedResponse_54

​SplitBillingItem[] · required
​MontaPage.Meta · required

OffsetBasedResponse_55

​SplitBillingSettlement[] · required
​MontaPage.Meta · required

OffsetBasedResponse_56

​SponsoredChargePoint[] · required
​MontaPage.Meta · required

OffsetBasedResponse_57

​Subscription[] · required
​MontaPage.Meta · required

OffsetBasedResponse_58

​SubscriptionPurchase[] · required
​MontaPage.Meta · required

OffsetBasedResponse_59

​DynamicTariffPrice[] · required
​MontaPage.Meta · required

OffsetBasedResponse_6

​ChargeAuthTokenInventory[] · required
​MontaPage.Meta · required

OffsetBasedResponse_60

​Team[] · required
​MontaPage.Meta · required

OffsetBasedResponse_61

​TeamMember[] · required
​MontaPage.Meta · required

OffsetBasedResponse_62

​TeamMemberFeeDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_63

​TeamMemberProfile[] · required
​MontaPage.Meta · required

OffsetBasedResponse_64

​ThemeDto[] · required
​MontaPage.Meta · required

OffsetBasedResponse_65

​User[] · required
​MontaPage.Meta · required

OffsetBasedResponse_66

​Vehicle_1[] · required
​MontaPage.Meta · required

OffsetBasedResponse_67

​VehicleBrand[] · required
​MontaPage.Meta · required

OffsetBasedResponse_68

​VehicleConnector[] · required
​MontaPage.Meta · required

OffsetBasedResponse_69

​VehicleModel[] · required
​MontaPage.Meta · required

OffsetBasedResponse_7

​ChargeKeyLimitCap[] · required
​MontaPage.Meta · required

OffsetBasedResponse_70

​VehicleUser[] · required
​MontaPage.Meta · required

OffsetBasedResponse_71

​Wallet[] · required
​MontaPage.Meta · required

OffsetBasedResponse_72

​WalletTransaction[] · required
​MontaPage.Meta · required

OffsetBasedResponse_73

​WebhookEntry[] · required
​MontaPage.Meta · required

OffsetBasedResponse_76

​Operator[] · required
​MontaPage.Meta · required

OffsetBasedResponse_8

​ChargePoint[] · required
​MontaPage.Meta · required

OffsetBasedResponse_9

​ChargePointTicket[] · required
​MontaPage.Meta · required

OicpChargeProtocolData

sessionId
​string | null

The unique identifier of the session

Example: 123e4567-e89b-12d3-a456-426614174000

OnboardingProfile

name
​string · required

Name of the profile, unique per operator

Example: Fleet drivers
​OnboardingStep[] · required

The onboarding steps a linked team receives, as {step, config?, displayMode?} entries.

id
​integer · int64

Id of this onboarding profile

Example: 1
operatorId
​integer · int64

Id of the operator this profile belongs to

Example: 1
description
​string | null

Description of the profile

Example: Company car drivers
enabled
​boolean

Whether the profile can be assigned to teams

Example: true
inUseCount
​integer · int64

Number of teams currently linked to this profile

Example: 3
​object

Welcome screen text overrides applied to linked teams; null when not configured.

createdAt
​string | null · date-time

Creation date of this profile

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date this profile was last updated

Example: 2022-05-12T16:56:45.99Z

OnboardingStep

step
​string · enum · minLength: 1 · required

The onboarding step key. Present in the list means the step is enabled for the team.

Enum values:
ADD_VEHICLE
ADD_PAYMENT_METHOD
ADD_RFID
ADD_CHARGER
ADD_TEAM_MEMBER
SETUP_CHARGING_RULE
SETUP_REIMBURSEMENT
Example: SETUP_CHARGING_RULE
config
​string | null · enum

Optional per-step configuration, interpreted by the step. SETUP_CHARGING_RULE: the charging rule type, one of scheduled, smart. ADD_TEAM_MEMBER: the member type the invite creates, one of member, admin; null/absent keeps the app's native invite flow, which picks the role. Null/absent for all other steps.

Enum values:
scheduled
smart
member
admin
Example: scheduled
displayMode
​string | null · enum

How the app presents the step: full_screen (default) or waiting_step (a passive card). waiting_step is rejected for SETUP_CHARGING_RULE. Absent/null defaults to full_screen.

Enum values:
full_screen
waiting_step
Example: full_screen

OnboardingWelcomeSlot

mode
​string · enum · required

custom shows text, follows reuses another slot's text, default uses Monta's copy.

Enum values:
custom
follows
default
Example: custom
text
​string | null

Custom text, used when mode is custom.

Example: Your charger is ready
follows
​string | null

Slot whose text to reuse, used when mode is follows.

Example: ready

OnboardingWelcomeText

enabled
​boolean · required

Whether the welcome text overrides are shown.

Example: true
type
​string | null · enum

Welcome screen flavour. Required when enabled is true.

Enum values:
home
public
semi_public
Example: home
​object | null

Per-charger-state text overrides, keyed by slot (e.g. ready). Omitted slots use Monta's default copy.

OnboardingWelcomeTextSlot

mode
​string | null · enum · required

custom shows text, follows reuses another slot's text, default shows Monta's copy.

Enum values:
custom
follows
default
Example: custom
text
​string | null

The operator's text (max 200 characters). Required when mode is custom.

Example: Plug in your car to start charging.
follows
​string | null

The slot whose text to reuse. Required when mode is follows.

Example: ready

OnboardingWelcomeText_1

The team's app-onboarding welcome-screen text override. Null when never configured: the app shows Monta's default copy.
enabled
​boolean | null · required

Whether the operator's own text is active. false reverts the app to Monta's default copy.

Example: true
type
​string | null · enum

Which onboarding flow the text is written for: home (private charger, one slot per charger state) or public / semi_public (shared chargers, the single shared_chargers slot). Required when enabled is true.

Enum values:
home
public
semi_public
Example: home
​object | null

Override per slot. Keys: no_charger, awaiting_installation, ready (home) or shared_chargers (public/semi_public). A slot left out uses Monta's default copy. Required on writes: the map replaces the saved one.

OpeningHour

​object

Opening times for the location

chargingWhenClosed
​boolean | null

Indicates if charging is allowed when closed

Example: true

OpeningHoursRequest

​object

Opening times for the location

chargingWhenClosed
​boolean | null

Indicates if charging is allowed when closed

Example: true

OpeningTimesRequest

twentyFourSeven
​boolean | null

Is the location open 24/7?

Example: false
​array | null

List of regular weekly opening hours

​array | null

List of exceptional opening periods

​array | null

List of exceptional closing periods

Operator

name
​string · required

Name of operator

Example: Monta
identifier
​string · required

Identifier of operator

Example: monta
id
​integer · int64

ID of the operator

Example: 14
partnerId
​integer | null · int64

Id of the partner

Example: 1
vatNumber
​string | null

VAT number

Example: FOO-123-ABC

OperatorAdjustmentTransaction

fromWalletId
​integer · int64 · required

Id of the wallet to transfer from

Example: 1
toWalletId
​integer · int64 · required

Id of the wallet to transfer to

Example: 2
note
​string | null

Note for the transaction

Example: Adjustment for user 12345
currencyId
​integer · int64

Currency identifier

Example: null
amount
​number · double

Amount to transfer

Example: 13.77

OperatorList

id
​integer · int64 · required

Id of the operator list.

Example: 1
operatorId
​integer · int64 · required

Id of the operator that owns this list.

Example: 42
name
​string · required

Name of the operator list.

Example: VIP customers
source
​string · required

Origin of the list. partner for lists created via the Monta API.

Example: partner
itemCount
​integer · int32 · required

Total number of items in the list.

Example: 12
​object · required

Per-entity-type breakdown of the item count, keyed by entity type.

Example: {"user":8,"team":4}
description
​string | null

Free-text description of the operator list.

Example: Customers eligible for discounted charging
listType
​string | null · enum

The single entity type a homogeneous list is restricted to. null for mixed lists that can hold multiple entity types.

Enum values:
user
team
charge_point
charge_points_public
site
charge_key
vehicle
Example: user
createdByUserId
​integer | null · int64

Id of the user who created the list, when known.

Example: 20
createdAt
​string | null

When the list was created (ISO-8601).

Example: 2024-03-16T15:37:23Z
updatedAt
​string | null

When the list was last updated (ISO-8601).

Example: 2024-03-16T15:37:23Z
syncMode
​string | null · enum

Reconciliation mode of a FILTER list; null for a manually-curated list.

Enum values:
MANUAL
AUTO
Example: AUTO
​object | null

The saved filter a FILTER-source list resolves its membership from; null for a manual list.

lastSyncedAt
​string | null

When the list was last reconciled (ISO-8601); null if it never has been.

Example: 2024-03-16T15:37:23Z
lastSyncStatus
​string | null · enum

Status of the last reconciliation.

Enum values:
PENDING
RUNNING
COMPLETED
FAILED
Example: COMPLETED
​object

The reconcile run kicked off by creating or editing the filter, to poll; null otherwise.

OperatorListEntityType

string · enum
Enum values:
user
team
charge_point
site
charge_key
vehicle

OperatorListItem

id
​integer · int64 · required

Id of the operator list item.

Example: 1
entityType
​string · enum · required

Type of the referenced entity.

Enum values:
user
team
charge_point
charge_points_public
site
charge_key
vehicle
Example: user
entityId
​integer · int64 · required

Id of the referenced entity.

Example: 20
label
​string | null

Human-readable label for the referenced entity, when available.

Example: Jane Doe
addedAt
​string | null

When the item was added to the list (ISO-8601).

Example: 2024-03-16T15:37:23Z

OperatorListItemAction

string · enum
Enum values:
add
remove

OperatorListItemRef

entityType
​string · enum · required

Type of the referenced entity.

Enum values:
user
team
charge_point
site
charge_key
vehicle
Example: user
entityId
​integer · int64

Id of the referenced entity.

Example: 20

OperatorListSource

string · enum
Enum values:
MANUAL
FILTER

OperatorListSyncMode

string · enum
Enum values:
MANUAL
AUTO

Reconciliation mode of a filter list. The Partner API only accepts `AUTO` (changes are applied automatically); `MANUAL` can appear on a list created through the Hub and is therefore representable on reads.

OperatorListSyncRun

id
​integer · int64 · required

Id of the sync run.

Example: 1
listId
​integer · int64 · required

Id of the list this run reconciled.

Example: 42
status
​string · enum · required

Status of the run.

Enum values:
PENDING
RUNNING
COMPLETED
FAILED
Example: COMPLETED
trigger
​string · enum · required

What triggered the run.

Enum values:
MANUAL
AUTO
CREATED
UPDATED
Example: MANUAL
matchedCount
​integer | null · int32

How many entities the filter matched. Null until the run finishes.

Example: 120
addedCount
​integer | null · int32

How many members were added. Null until the run finishes.

Example: 5
removedCount
​integer | null · int32

How many members were removed. Null until the run finishes.

Example: 2
proposedCount
​integer | null · int32

How many changes were proposed. Null until the run finishes.

Example: 0
excludedSkippedCount
​integer | null · int32

How many candidates were skipped because they are excluded. Null until the run finishes.

Example: 0
errorMessage
​string | null

Error message when the run failed.

Example: Search is unavailable; please retry.
startedAt
​string | null

When the run started (ISO-8601).

finishedAt
​string | null

When the run finished (ISO-8601).

createdAt
​string | null

When the run was created (ISO-8601).

updatedAt
​string | null

When the run was last updated (ISO-8601).

​object | null

The charge-point ids behind each outcome tally, keyed by outcome. Only returned by the single-run endpoint.

Example: {"matched":[1,2,3],"added":[3]}

OperatorListType

string · enum
Enum values:
user
team
charge_point
charge_points_public
site
charge_key
vehicle

OperatorRole

string · enum
Enum values:
owner
payer

Enumerate the possible filters for operator role

OperatorTeamSetting

id
​integer · int64 · required

Id of the account template, as accepted by operatorTeamSettingId on team update

Example: 693
name
​string | null

Name of the account template

Example: Residential subscription
default
​string | null

Page_TariffRecurringPeriodDto_

​TariffRecurringPeriod[] · required
​Pageable · required
pageNumber
​integer · int32
offset
​integer · int64
size
​integer · int32
empty
​boolean
numberOfElements
​integer · int32
totalSize
​integer · int64
totalPages
​integer · int32

Pageable

​Sort.Order[] · required
size
​integer · int32 · required
​Sort · required
number
​integer · int32
mode
​Pageable.Mode · enum
Enum values:
CURSOR_NEXT
CURSOR_PREVIOUS
OFFSET

Pageable.Mode

string · enum
Enum values:
CURSOR_NEXT
CURSOR_PREVIOUS
OFFSET

PaginationType

string · enum
Enum values:
offset
cursor

Pair_String.BigDecimal_

first
​string · required
second
​number · required

ParkingType

string · enum
Enum values:
notDefined
alongHighway
onDriveway
onStreet
parkingGarage
privateParkingArea
publicParkingArea
publicParkingGarage

PartialAddress

address1
​string | null

First line of address

Example: Strandboulevarden 122
address2
​string | null

Second line of address

Example: København
address3
​string | null

Third line of address

Example: 5. sal
zip
​string | null

Zip-code

Example: 2100
city
​string | null

City (readable)

Example: Copenhagen
province
​string | null

Province

Example: Lombardy
countrySubdivisionCode
​string | null

ISO 3166-2 country subdivision code

Example: US-GA
country
​string | null

Country (readable)

Example: Denmark
countryAreaId
​integer | null · int64

Country area id

Example: 1

ParticipationHistoryMessage

id
​integer · int64 · required
title
​string · required
body
​string · required
button_text
​string · required
start_time
​string · date-time · required
end_time
​string · date-time · required

ParticipationHistoryRecord

id
​integer · int64 · required
start_time
​string · date-time · required
kwh
​number · double · required
payout
​number · double · required
payout_label
​string · required

ParticipationHistoryReport

subtitle
​string · required
​CurrencyDto · required
total_kwh
​number · double · required
total_payout
​number · double · required
total_kwh_label
​string · required
total_payout_label
​string · required
​array | null
​array | null
registered_only_reason
​string | null
info_url
​string | null

PatchCharge

​object

For Partners who want to start charging from payment terminals, kiosks etc. Used to link charge transaction against your billing and to allow users retrieving receipts via receipt.monta.com by using date and genericPaymentSession.externalIdor genericPaymentSession.cardLast4.

Note: This field is optional, but if provided, you need to provide the full data, since it will be overwritten with values from this object.

partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

PatchChargeAuthToken

teamId
​integer | null · int64

Id of the team the charge auth token belongs to

Example: 42
userId
​integer | null · int64

Id of the user the charge auth token should be associated to

Example: 1
vehicleId
​integer | null · int64

Id of the vehicle to link to this charge auth token

Example: 1
name
​string | null

Name of the charge auth token

Example: Monta Office Charge Key
montaNetwork
​boolean | null

If the charge auth token should be active in the Monta network

Example: true
Default: true
roamingNetwork
​boolean | null

If the charge auth token should be active in the Roaming network

Example: true
Default: true
operatorNetwork
​boolean | null

Indicates that the charge auth token can be used on other teams charge points underthe same operator

Example: true
Default: true
activeUntil
​string | null · date-time

Indicates until when this charge auth token is active, null means indefinitely. Note: Use ../block and ../unblock endpoints to (un)block a charge auth token.

Example: 2023-01-11T00:00:00Z
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
costCenterId
​integer | null · int64

Id of the cost center to assign to the charge auth token. Send null to clear the assignment; omit the field to leave it unchanged.

Example: 42
rollingSpendLimit
​number | null

Maximum cumulative spend allowed on this charge auth token over a rolling 30-day window, as a plain decimal amount in the currency of rollingSpendLimit on read (currently always EUR). Omit the field to leave it unchanged. Must be strictly positive, and may not exceed the cap that applies to the owning operator — a request above the cap is rejected. Send null to remove the limit; this is only accepted when no cap applies, otherwise null is rejected and a value up to the cap is required.

Example: 500
dailyChargeCountLimit
​integer | null · int32

Maximum number of charges this charge auth token may start in a rolling 24-hour window. Omit the field to leave it unchanged. Must be strictly positive, and may not exceed the cap that applies to the owning operator. Send null to remove the limit; this is only accepted when no cap applies, otherwise null is rejected and a value up to the cap is required.

Example: 10
concurrentChargesLimit
​integer | null · int32

Maximum number of concurrent active charges this charge auth token may have. Omit the field to leave it unchanged. Must be strictly positive, and may not exceed the cap that applies to the owning operator. Send null to remove the limit; this is only accepted when no cap applies, otherwise null is rejected and a value up to the cap is required.

Example: 2

PatchChargeKeyLimitCap

rollingSpendLimit
​number | null

Cap on a charge key's rolling 30-day spend, as a plain decimal amount in the currency of rollingSpendLimit on read (currently always EUR). Send null to remove the cap (the recommended value then applies); omit the field to leave it unchanged. Must be strictly positive and may not exceed max.

Example: 1500
dailyChargeCountLimit
​integer | null · int32

Cap on a charge key's daily charge count. Send null to remove the cap; omit the field to leave it unchanged. Must be strictly positive and may not exceed max.

Example: 20
concurrentChargesLimit
​integer | null · int32

Cap on a charge key's concurrent charges. Send null to remove the cap; omit the field to leave it unchanged. Must be strictly positive and may not exceed max.

Example: 10

PatchChargePoint

siteId
​integer | null · int64

Id of the site the charge point belongs to.

Example: 20
name
​string | null

Name of the charge point.

Example: CP - CPH Office
maxKw
​number | null · double

Max Kw (Max Power) the charge point can output.

Example: 22
visibility
​string · enum

Visibility type of the charge point.

Enum values:
private
public
Example: private
type
​string · enum

Electric current type the charge point support.

Enum values:
ac
dc
other
Example: ac
active
​boolean | null

Indicates the charge point is active.

Example: true
Default: true
showOnMap
​boolean | null
Code
Indicates the charge point should be displayed on map. By setting this to false, the charge point will not be shown on the app's map, but will still be fully functional for users of the charge point.
Example: true
Default: true
​object

Ids of the connectors this charge point support.

Example: [1,2,3,4]
note
​string | null

A note (instructions, warning, information) you have entered for this charge point

Example: In order to access this charge point enter 0000 as code at the gate.
latitude
​number | null · min: -90 · max: 90
Code
Latitude coordinate for the charge point location. When provided along with longitude, overrides the site's location.
Example: 55.6761
longitude
​number | null · min: -180 · max: 180
Code
Longitude coordinate for the charge point location. When provided along with latitude, overrides the site's location.
Example: 12.5683
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null
Code
Custom JSON payload managed by you. </br>To override default values or provide additional metadata. Can include keys like `custom_roaming_name` and `custom_roaming_evse_id` for roaming charge points, if so the fields must follow the correct format. The payload is limited to 1000 characters overall.
Example: { "custom_property": "additional_value", "custom_roaming_name": "Roaming_CP", "custom_roaming_evse_id": "DE*123*E12345", }
meterId
​string | null · maxLength: 255

Meter id of the charge point.

Example: 2200019107351
roaming
​boolean | null

Indicates if the charge point is roaming enabled.

Example: true
roamingPriceGroupId
​integer | null · int64

The id of the roaming price group for this charge point.
Note: This field is required if the roaming field is set to true and the charge point doesn't have an associated roaming price group id.

Example: 10
smartChargeSetting
​string | null · enum · pattern: ^(off|optional|force…
Code
Smart charging setting for this charge point. - `off`: Smart charging is disabled, rules cannot be created - `optional`: Smart charging is optional, rules can be created and applied - `forced`: Smart charging is forced, rules will always be applied - `forced-setting`: Smart charging setting is forced
Enum values:
off
optional
forced
forced-setting
Example: optional
userId
​integer | null · int32

Id of the user that owns this charge point. Can only be set or updated, not removed.

Example: 42
autoRegisterRfid
​boolean | null

Whether RFID tags are auto-registered when scanned at this charge point. Ignored unless RFID auto-registration is enabled for your operator.

Example: true
​object

Charge point metadata to update. Only the fields sent are changed.

PatchChargePointMetadata

Writable subset of \[com.monta.partnerapi.chargepoint.dto.ChargePointMetadataDto\]. Field names match the read model, and are forwarded as-is to PHP (\`charge_point_meta_data\`). Omitted field = unchanged, explicit \`null\` = cleared.
motorcycleCompatible
​boolean | null

Motorcycle-compatible charge point. Send null to clear.

Example: true
​object
Code
HDV (heavy-duty vehicle) parking spot details. Replaces the stored value as a whole. Height, width and length are in centimeters, weight in kilograms, turning radius in meters; all must be non-negative. Send `null` to clear.

PatchChargePointSensor

type
​string | null

Type of the charge point sensor

Example: occupancy
chargePointId
​integer | null · int32

The charge point id to which this charge point sensor is assigned to

Example: 1
value
​string | null

Value this sensor is reporting, this is sensor specific, this value is managed by you

Example: true
valueUpdatedAt
​string | null · date-time

Indicates when the value for this sensor was last updated

Example: 2023-01-11T00:00:00Z
externalId
​string | null

External Id of this sensor, ideally it references the sensor id in your system

Example: SENSOR-10005
partnerExternalId
​string | null

External Id of this entity, managed by you

Example: ACME-12345

PatchCostCenter

name
​string | null

Name of the cost center.

Example: Sales department
externalId
​string | null

External Id of this cost center, managed by you.

Example: ACME-12345
description
​string | null

Description of the cost center.

Example: Costs attributed to the sales department
destinationType
​string · enum

Type of the destination the deeplink is pointing to

Enum values:
link
resource
Example: link
​object

Destination details for the deeplink

comment
​string | null

Optional comment related to the deeplink

Example: This deeplink is used for redirecting users to the main location page.

PatchDynamicPricesRequest

Bulk-upsert dynamic price entries on a DYNAMIC tariff. All entries in one request share the same `resolution` and `source`. The operation is all-or-nothing: if any entry is misaligned, mis-sized, or duplicated, the entire batch is rejected with 400.
resolution
​string · enum · required

Time granularity that every entry's [timeStart, timeEnd) must conform to.

Enum values:
quarter-hour
half-hour
hour
Example: hour
source
​string · enum · required

Origin of the price data.

Enum values:
dagster
manual
dso-import
Example: dagster
​DynamicPriceEntry[] · minItems: 1 · maxItems: 5000 · required

Price-interval entries to upsert. Each entry's (timeStart, resolution) is the conflict key — a re-submitted entry updates price, timeEnd, and source in place. Max 5000 entries per request.

PatchGenericPaymentSession

provider
​string · required

The provider of the payment session

Example: logos
externalId
​string · required

The external id of the payment session. Allows retrieving receipts via receipt.monta.com by using date and externalId or cardLast4.

Example: 76BB1FCF-946D-4040-A8F7-8FD6ECDEE5B1
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
cardBrand
​string | null

The brand of the card used for the payment session

Example: VISA
cardLast4
​string | null

The last 4 digits of the card used for the payment session. Allows retrieving receipts via receipt.monta.com by using date and externalId or cardLast4.

Example: 1234
amount
​number | null · double

The amount of the payment session. Negative amounts will be rejected by the API

Example: 10.1

PatchNestedTeam

priceGroupId
​integer | null · int64

Price group applied to the nested team

Example: 1
note
​string | null · maxLength: 255

A note (instructions, warning, information) you have entered for this nested team member

Example: A note for nested team member
selectedChargePointIds
​array | null

List of charge point ids nested team access will be assigned to

PatchOdometerReading

odometerKm
​integer | null · int32 · min: 0 · max: 4000000

Corrected odometer reading in whole kilometres. Values outside 0-4000000 are rejected with 422.

Example: 42500
readingAt
​string | null · date-time

Corrected time of the reading (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2026-05-21T11:55:00Z
sourceRef
​string | null · maxLength: 128

Corrected identifier for this reading. Maximum 128 characters. Omitted fields are left untouched, so an existing sourceRef can be overwritten but not cleared.

Example: fleet-run-10

PatchOnboardingProfile

name
​string | null

Name of the profile, unique per operator.

Example: Fleet drivers
description
​string | null

Description of the profile.
Note: Send null to clear it; omit the field to leave it unchanged.

Example: Company car drivers
enabled
​boolean | null

Whether the profile can be assigned to teams.

Example: true
​array | null

Replaces the full step set and re-applies it to every linked team. Omit to leave steps unchanged.

​object

Replaces the welcome screen text overrides and re-applies them to linked teams. Omit to leave unchanged.

PatchOperator

name
​string | null · maxLength: 191

Updated name of the operator

Example: Monta
email
​string | null · email · minLength: 1 · maxLength: 191

Primary contact email for the operator

Example: contact@example.com
financeEmail
​string | null · email · minLength: 1 · maxLength: 191

Finance / billing email for the operator

Example: finance@example.com
financeCommunicationEmail
​string | null · email · minLength: 1 · maxLength: 255

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@example.com

PatchPriceGroupTag

name
​string | null

Name of the tag.

Example: Energy
description
​string | null

Description of the tag.

Example: Can be used to group `Energy` pricing elements
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

PatchSite

name
​string | null

Name of the site

Example: Monta CPH Site
​object

Address of the site. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.

latitude
​number | null · min: -90 · max: 90

Latitude coordinate for the site location. When provided along with longitude, overrides geocoding from address.

Example: 55.6761
longitude
​number | null · min: -180 · max: 180

Longitude coordinate for the site location. When provided along with latitude, overrides geocoding from address.

Example: 12.5683
visibility
​string · enum

Visibility type of the site. Controls who can charge at the site: public means any Monta user can charge here, private restricts charging to team members / access-token holders. This field does NOT control whether the site appears on the consumer map — use showOnMap for that.

Enum values:
private
public
Example: private
showOnMap
​boolean | null

Whether this site should be visible on the consumer map. This is independent of visibility — a private site can still be shown on the map, and a public site can be hidden.

Example: true
driverSupportVisibility
​string · enum

Whether Monta's AI Driver Support may reach drivers at this site. Omit to leave the current value untouched.
- inherit — follow the site's visibility: a public site is reachable, a private site is not.
- public — always reachable, even when the site's visibility is private.
- off — never reachable, even when the site is public.

Enum values:
inherit
public
off
Example: public
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
​object

Metadata for the site including amenities, energy mix, opening hours, site developer, and pictures.

note
​string | null

A free-text note for this site, visible in the app.

Example: Main entrance on north side

PatchSponsoredChargePoint

Note: Only use Optional for fields that can bet set null. Optional will insure jackson can differentiate between a field that was set to NULL X Field that was never present on the request.
priceGroupId
​integer | null · int64

The price group for this sponsorship, Only price groups of type reimbursement or sponsored are allowed
Note: if the priceGroupId is null the charge point cost price group will be used instead, if the charge point has no cost price group set the request will fail

Example: 1
payoutSchedule
​string · enum

The payout schedule for this sponsored charge point

Enum values:
end-of-month
realtime
other
Example: 1
payForSubscriptions
​boolean | null

Indicates that company pay for subscriptions

Example: false
autoApproveElectricityCost
​boolean | null

When true, employee-submitted electricity costs on this sponsored charge point are auto-approved without manual review.

Example: false
note
​string | null

Note for the sponsored charge point

Example: This is a note
sendEmailNotification
​boolean | null

Whether to email the charge point owner that their reimbursement settings changed. Defaults to true. Set to false to suppress it, e.g. when migrating existing customers from another CPMS.

Default: true

PatchTeam

userId
​integer | null · int64

Id of the user that owns the team

Example: 42
userEmail
​string | null · email

email of the user that owns the team, useful when the userId is not known

Example: user@monta.com
name
​string | null

Name of the team

Example: Monta CPH Team
contactEmail
​string | null · email

Contact email of the team. Named "email" in the GET APIs.

Example: contact@monta.com
financeEmail
​string | null · email

Finance contact email of the team

Example: finance_contact@monta.com
financeCommunicationEmail
​string | null · email · minLength: 1 · maxLength: 255

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null · email

Legal contact email of the team.

Example: legal_contact@monta.com
​object

Address of the team. Only countryId is mandatory. Address1, city, and zipCode must be provided together or all left null.

companyName
​string | null

The company name for the team

Example: Monta ApS
vatNumber
​string | null

The vat number for the team

Example: DK13585628
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object | null

Custom fields to set on this entity: a flat map of string keys (1-64 characters, no : or ,, not starting with monta) to string values (up to 256 characters), at most 20 pairs per entity. Fields are scoped to your operator. externalId is the same value as the deprecated partnerExternalId.
Note: merged into the existing fields — omitted keys are kept, a null value deletes the key and {} changes nothing.

Example: {"costCenter":"DK-OPS-13","legacyRef":null}
paymentMethod
​string · enum

The payment method for the team

Enum values:
invoice
operator_transaction
source
Example: source
themeId
​integer | null · int32

The theme id to assign to the team.
Note: When theme is provided, it must belong to the same operator as the team

Example: 721
​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Sending the list replaces the full enabled set; omitting it leaves the steps unchanged.

​object

The app-onboarding welcome-screen text override. Sending it replaces the saved override (slots required; {} clears them); omitting it leaves it unchanged. Send enabled: false to revert to Monta's default copy. Rejected with 409 while the team is linked to an onboarding profile.

category
​string | null

Category identifier of the team, one of: housing-association, cpo, parking, hotel, fleet, company, priced-by-site-owner.
Note: omit the field to leave the category unchanged.

Example: priced-by-site-owner
inventoryOnlyChargeKeys
​boolean | null

Whether the team is restricted to only charge keys that are in the operator inventory

Example: true
selfRegisterChargeKeys
​boolean | null

Whether team members can register their own charge keys.
Note: omit the field to leave it unchanged. Self-registration stays enabled while the team's operator team settings template enables it, so sending false does not disable it in that case.

Example: true
costCenterId
​integer | null · int32

The cost center id to assign to the team.
Note: Send null to clear the assignment; omit the field to leave it unchanged.

Example: 42
operatorTeamSettingId
​integer | null · int32

Account template the team follows, from GET /operator-team-settings. The template supplies the team's default price groups, so pinning one is how an operator-owned tariff becomes a team default.
Note: Send null to unpin the team; omit the field to leave it unchanged.

Example: 693
onboardingProfileId
​integer | null · int32

Onboarding profile to lock the team to, from GET /onboarding-profiles. Copies the profile's steps onto the team; while assigned, onboardingSteps cannot be edited.
Note: Send null to detach and keep the current steps (editable again); omit the field to leave it unchanged.

Example: 12
autoWithdraw
​boolean | null

Turn automatic bank withdrawal on or off for the team. Personal teams, frozen teams and teams using the invoice payment method are not eligible.
Note: Mutually exclusive with invoiceWithdraw; enabling is refused with 422 (AUTO_WITHDRAW_CONFLICT_INVOICE_WITHDRAW) while invoiceWithdraw is on, and with 422 (AUTO_WITHDRAW_TEAM_INELIGIBLE) for an ineligible team. Enabling succeeds even if the team has no bank account, and no payout happens until one is added. Disabling always works. Omit the field to leave the setting unchanged.

Example: true
joinCode
​string | null · minLength: 4 · maxLength: 50

Custom code users enter in the app to join the team, 4-50 characters. Omit the field to leave it unchanged.
Note: stored slugified (lowercased, spaces and symbols become dashes, e.g. MVV Energie 042 → mvv-energie-042); the response returns the stored value. Join codes are unique across all teams on Monta, so a code that is already taken (after slugifying) is rejected with 422.

Example: mvv-energie-042

PatchTeamMember

chargePointIds
​array | null

Ids of the charge points to patch this team member with

Example: [1,2,3,4]
role
​string · enum

Role for this member within the team

Enum values:
admin
user
other
Example: admin
priceGroupId
​integer | null · int64

The price group for this team member

Example: 1
costGroupId
​integer | null · int64

The cost group for this team member

Example: 1
teamMemberProfileId
​integer | null · int64

The team member profile id to apply to this team member

Example: 1
canConfigureChargePoints
​boolean | null

Indicates if the team member can configure charge points

Example: false
Default: false
canPayWithTeamWallet
​boolean | null

Gives the team member access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canDepositToWallet
​boolean | null

Gives the team member permission to deposit to the team wallet

canWithdrawFromWallet
​boolean | null

Gives the team member permission to withdraw from the team wallet

canManageChargeKeys
​boolean | null

Gives the team member permission to manage charge keys for the team

canRequestSponsoring
​boolean | null

Allows the team member to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean | null

Allows the team member to view and manage other members settings

Example: false
Default: false
teamWalletChargePaymentType
​string · enum

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
canPayForChargesCountryIds
​array | null

List of country ids for which the team member can pay for charges

Example: [1,2,3]
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
note
​string | null

A note for the team member

Example: Welcome to the Monta team
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse this team member for home charging. Omit to leave unchanged.

Example: 1
autoApproveElectricityCost
​boolean | null

When true, employee-submitted electricity costs are auto-approved for SCPs created for this team member.

Example: false
reimbursementEnabled
​boolean | null

Master switch — whether the team member participates in home reimbursement.

Example: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for this team member.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean | null

Whether the operator reimburses the charge-point subscription price.

Example: false
costCenterId
​integer | null · int32

The cost center id to assign to the team member.
Note: Send null to clear the assignment; omit the field to leave it unchanged.

Example: 1

PatchTeamMemberProfile

name
​string | null

Name for the team member profile

Example: seasonal offer
description
​string | null

Description for the team member profile

Example: detail description
role
​string | null · enum

Role for the team member profile

Enum values:
admin
user
other
Example: admin
priceGroupId
​integer | null · int64

The price group for the team member profile

Example: 1
costGroupId
​integer | null · int64

The cost group for the team member profile

Example: 1
canPayWithTeamWallet
​boolean | null

Gives the team member applying this profile access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canDepositToWallet
​boolean | null

Gives the team member permission to deposit to the team wallet

canWithdrawFromWallet
​boolean | null

Gives the team member permission to withdraw from the team wallet

canManageChargeKeys
​boolean | null

Gives the team member permission to manage charge keys for the team

canRequestSponsoring
​boolean | null

Allows the team member to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean | null

Allows the team member to view and manage other members settings

Example: false
Default: false
teamWalletChargePaymentType
​string · enum

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
canConfigureChargePoints
​boolean | null

Allows the team member profile to configure charge points

Example: false
Default: false
canPayForChargesCountryIds
​array | null

List of country ids for which the team member can pay for charges

Example: [1,2,3]
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse members in this profile for home charging. Send null to clear and fall back to the employee's own cost price group; omit to leave unchanged.

Example: 1
autoApproveElectricityCost
​boolean | null

When true, employee-submitted electricity costs are auto-approved for SCPs created for members in this profile.

Example: false
reimbursementEnabled
​boolean | null

Master switch — whether members in this profile participate in home reimbursement.

Example: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for members in this profile.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean | null

Whether the operator reimburses the charge-point subscription price.

Example: false
costCenterId
​integer | null · int32

The cost center id to assign to the team member profile.
Note: Send null to clear the assignment; omit the field to leave it unchanged.

Example: 1

PatchUser

email
​string | null · email · minLength: 1

User email address

Example: user@example.com
phone
​string | null · pattern: ^\+[1-9]\d{1,14}$

User phone number in E.164 format

Example: +4512345678
firstName
​string | null · maxLength: 255

User first name

Example: John
lastName
​string | null · maxLength: 255

User last name

Example: Doe
language
​string | null · maxLength: 10

User preferred language

Example: en
legalEmail
​string | null · email · minLength: 1

User legal email address

Example: legal@example.com
address1
​string | null · maxLength: 255

User address line 1

Example: Strandboulevarden 122
address2
​string | null · maxLength: 255

User address line 2

Example: Apt 4B
address3
​string | null · maxLength: 255

User address line 3

Example: 5. sal
zip
​string | null · maxLength: 20

User zip/postal code

Example: 2100
city
​string | null · maxLength: 255

User city

Example: Copenhagen
province
​string | null · maxLength: 255

User province/state

Example: Capital Region
marketingEmailsAccepted
​boolean | null

Set or withdraw the user's marketing email consent for your application. false withdraws it immediately. true requests it: if your application requires double opt-in, Monta emails the user a confirmation link and marketingEmailsAcceptedAt is only set once they confirm; otherwise it is set immediately.

Example: false

PatchUserContacts

email
​string | null · email

User email address

Example: user@example.com
phone
​string | null · pattern: ^\+[1-9]\d{1,14}$

User phone number in E.164 format

Example: +4512345678

PatchWalletTransaction

partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

PayingTeam

publicName
​string · required

Public name of the team

Example: Monta HQ
id
​integer · int64

Id of the paying team

Example: 14
operatorId
​integer · int64

Id of the operator the paying team belongs to

Example: 42

PaymentTerminal

id
​string · required

Id of this terminal. NOTE: This is a String

Example: payter_123
type
​string · enum · required

Type of this terminal, ie "payter"

Enum values:
payter
local
nayax
cpi
other
Example: payter
chargePointIds
​integer[] · required

The charge points ids this terminal is assigned to

serial
​string · required

Serial number of the Payment Terminal

Example: XYZ123-DF-123
name
​string · required

Name given to the Payment Terminal, defaults to "No Name" if not set by the merchant

Example: MyPaymentTerminal 042
createdAt
​string · date-time · required

Date this entity was created

Example: 2022-05-12T15:56:45.99Z
teamId
​integer · int64

The team this terminal belongs to

payingTeamId
​integer | null · int64

The team charged for sessions started on this terminal. Only set for local terminals

Example: 1234
idTag
​string | null

RFID token the charge point authorises with. Only set for local terminals

Example: 04A1B2C3D4E5F6
isConnected
​boolean

Indicates if the terminal is connected or disconnected.

Example: true
connectedAt
​string | null · date-time

Date this payment terminal did connect

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date this entity was updated

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

Date this entity was deleted

Example: 2022-05-12T15:56:45.99Z

PaymentTerminalSession

status
​string · required

Status of the payment terminal session.

Example: completed
currency
​string · required

Identifier of the currency the session was charged in.

Example: dkk
reservedAmount
​number · required

Amount initially reserved on the payment card when the session started.

Example: 20
committedAmount
​number · required

Final committed amount captured from the payment card after the session ended.

Example: 12.5
createdAt
​string · date-time · required

Date the session was created.

Example: 2024-05-12T15:56:45.99Z
id
​integer · int64

Identifier of the payment terminal session.

Example: 1234
chargeId
​integer | null · int64

Identifier of the charge associated with this session, when one was created.

Example: 9876
chargePointId
​integer · int64

Identifier of the charge point on which the session was performed.

Example: 42
failedReason
​string | null

Reason the session failed, when applicable.

Example: card_declined

PaymentTerminalType

string · enum
Enum values:
payter
local
nayax
cpi
other

PeakProtectionOperationalState

string · enum
Enum values:
DISABLED
ACTIVATED
ACTIVE_LIMITING
NULL_DATA
OUTDATED_DATA

PeakProtectionSettings

peakProtectionEnabled
​boolean · required
peakLimitPowerKw
​number · double · required
peakSafetyMarginKw
​number · double · required
peakProtectionNotificationEnabled
​boolean · required
dataSource
​string · enum
Enum values:
CT_CLAMPS
SAVEEYE
ENODE
POWERFOX
changedAt
​string | null · date-time

PeakProtectionSettingsUpdate

peakProtectionEnabled
​boolean | null
peakLimitPowerKw
​number | null · double
peakSafetyMarginKw
​number | null · double
peakProtectionNotificationEnabled
​boolean | null
dataSource
​string · enum
Enum values:
CT_CLAMPS
SAVEEYE
ENODE
POWERFOX
changedAt
​string | null · date-time

PeakProtectionState

peakProtectionOperationalState
​PeakProtectionOperationalState · enum · required
Enum values:
DISABLED
ACTIVATED
ACTIVE_LIMITING
NULL_DATA
OUTDATED_DATA
currentTotalPowerKw
​number | null · double
lastDataAt
​string | null · date-time

Performance

status
​string · required

State of the system or charge point

Example: operational
duration
​integer · int64 · required

Duration in the given status (in seconds)

Example: 3600
usagePercentage
​number · required

Percentage of time in this state

Example: 75

PerificDigitalInputActiveLevel

string · enum
Enum values:
HIGH
LOW

PerificMeterIntegration

meterIdentifier
​string · minLength: 1 · required
timeoutSeconds
​integer · int32 · min: 1 · max: 300 · required
digitalInputNumber
​integer | null · int32 · min: 1 · max: 2
digitalInputActiveLevel
​string · enum
Enum values:
HIGH
LOW

PhaseMode

string · enum
Enum values:
AUTO
ONE
THREE
PHASE_SWITCHING

Plan

id
​integer · int64 · required

The id of the Plan

Example: 123
identifier
​string · required

A unique, readable, identifier of the Plan

Example: plan-monta-123
name
​string · required

Name of the Plan

Example: ACME GOLD
applicableFor
​string · enum · required

Indicates whether this plan can be applied to teams or charge points. 'operator' value is only used internally.

Enum values:
charge-point
team
operator
Example: charge-point
active
​boolean · required

Indicates if the plan is active (only active plans can be applied).

Example: true
applicationAudience
​string · enum · required

Indicates whether this plan is shown in your (operator's) app only, or in the Monta app as well.

Enum values:
all
own
Example: all
visibleInMarketPlace
​boolean · required

Indicates whether this plan is shown in the market place or not.

Example: true
priceModel
​string · enum · required

Indicates if the price is fixed, per charge point or per user.

Enum values:
fixed
per-charge-point
per-user
Example: fixed
​PlanPrice[] · required

Active plan prices

pricesWithVat
​boolean · required

Indicates if the prices are incl. VAT or not. Default is true.

serviceType
​string · enum · required

Plan service type, custom, tax-refund or charge-package

Enum values:
custom
tax-refund
charge-package
Example: tax-refund
​object · required

Additional configuration, based on serviceType

countryId
​integer | null · int64

Determines the country where the plan is available. null means it is available in all countries.

Example: 1
description
​string | null

Description of the Plan

Example: Charge Point Maintenance 24/7
summary
​string | null

Summary of the Plan

Example: GOLD Maintenance Plan for ACME customers
terms
​string | null

Terms of the Plan

Example: Your terms here
contractUrl
​string | null

URL for a generic contract template the user can fill out right after subscribing

Example: https://www.monta.com/contract.pdf
supportEmail
​string | null

Support E-Mail for this Plan

Example: support@acme.com

PlanApplicableFor

string · enum
Enum values:
charge-point
team
operator

PlanApplicationAudience

string · enum
Enum values:
all
own

PlanCustomAdditionalFeeApplicationScope

string · enum
Enum values:
all
paid

PlanPrice

​object · required

Currency for price.

id
​integer · int64

id of the Plan Price

Example: 1
price
​number · double

Price of the plan

Example: 4.99

PlanPriceModel

string · enum
Enum values:
fixed
per-charge-point
per-user

PlanServiceConfig

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: additionalFeeAbsolute, additionalFeePercentage, additionalStartingFee
type = object · requires: additionalFeeAbsolute, additionalFeePercentage, payoutPerKwh +1 more
Properties for Variant 1:
additionalFeePercentage
​integer · int32 · required

This percentage will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.

Example: 2
additionalFeeAbsolute
​number · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
additionalStartingFee
​number · double · required

This absolute value will be added as additional fee, once per charge session, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
additionalFeeApplicationScope
​string · enum

Type of charges to which custom additional fees are applied

Enum values:
all
paid
Example: all
roamingAdditionalFeePercentage
​integer | null · int32

Same as the additional fee percentage, but only applied to roaming sessions.

Example: 2
roamingAdditionalFeeAbsolute
​number | null · double

Same as the additional fee absolute, but only applied to roaming sessions.

Example: 0.5
roamingAdditionalStartingFee
​number | null · double

Same as the additional starting fee, but only applied to roaming sessions.

Example: 0.5

PlanServiceConfigCustom

additionalFeePercentage
​integer · int32 · required

This percentage will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.

Example: 2
additionalFeeAbsolute
​number · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
additionalStartingFee
​number · double · required

This absolute value will be added as additional fee, once per charge session, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
additionalFeeApplicationScope
​string · enum

Type of charges to which custom additional fees are applied

Enum values:
all
paid
Example: all
roamingAdditionalFeePercentage
​integer | null · int32

Same as the additional fee percentage, but only applied to roaming sessions.

Example: 2
roamingAdditionalFeeAbsolute
​number | null · double

Same as the additional fee absolute, but only applied to roaming sessions.

Example: 0.5
roamingAdditionalStartingFee
​number | null · double

Same as the additional starting fee, but only applied to roaming sessions.

Example: 0.5

PlanServiceConfigTaxRefund

additionalFeePercentage
​integer · int32 · required

This percentage will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.

Example: 2
additionalFeeAbsolute
​number · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
payoutPerKwh
​number · double · required

Amount to pay out per kWh

Example: 1.29
priceIncludesVat
​boolean · required

Indicates whether the VAT is already included in the price

Example: true
additionalFeeApplicationScope
​string · enum

Type of charges to which custom additional fees are applied

Enum values:
all
paid
Example: all

PlanServiceType

string · enum
Enum values:
custom
tax-refund
charge-package

PlansStats

​object · required

Projected monthly revenue across plans owned by the calling operator

noSubscriptionCount
​integer · int32

Number of charge points without an active plan subscription

Example: 5
​object

Total tax-refund amount. Null when the operator has no tax-refund plans.

PowerLimitScheduleItem

dayOfWeek
​string · required
startTime
​string · required
endTime
​string · required
powerLimitW
​number · double · required

Powerfox

deviceId
​string · required
​object

PowerfoxIntegrationResult

string · enum
Enum values:
MAIN_DEVICE_NOT_FOUND
API_NOT_RESPONDING
SUCCESS
ALREADY_INTEGRATED
UNAUTHORIZED_USER

Powerfox_1

result
​PowerfoxIntegrationResult · enum · required
Enum values:
MAIN_DEVICE_NOT_FOUND
API_NOT_RESPONDING
SUCCESS
ALREADY_INTEGRATED
UNAUTHORIZED_USER

Powerfox_2

username
​string · required
password
​string · required

Price

start
​string · date-time · required

start

price
​number | null

price

PriceGroup

name
​string · required

Name of the price group

Example: Standard Pricing
id
​integer · int64

Id of the price group

Example: 1

PriceGroupAppliedTo

chargePoints
​integer[] · required

Id's of the ChargePoints this Pricegroup has been applied to

sites
​integer[] · required

Id's of the Sites this Pricegroup has been applied to

teamMembers
​integer[] · required

Id's of the Team Members this Pricegroup has been applied to

PriceGroupTag

name
​string · required

The name for this tag.

Example: Energy
createdAt
​string · date-time · required

Creation date of this resource.

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

The id for this tag.

Example: null
description
​string | null

The description for this tag.

Example: Used to group `Energy` pricing elements
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
​object

The operator to which this resource belongs to.

updatedAt
​string | null · date-time

Last update date of this resource.

Example: 2022-05-12T16:56:45.99Z

PriceGroupType

string · enum
Enum values:
public
member
sponsored
cost
roaming
reimbursement
member_cost
other

PriceGroup_1

id
​integer · int64 · required

Id of the price group

Example: 522
name
​string · required

Name of the price group

Example: Public Price Group
type
​string · enum · required

Type of the price group

Enum values:
public
member
sponsored
cost
roaming
reimbursement
member_cost
other
Example: public
​object · required

The master price

​array | null · required

Tariffs of the price group

​PriceGroupAppliedTo · required
createdAt
​string · date-time · required

When the price group was created

Example: 2023-03-16T15:37:23Z
teamId
​integer | null · int64

Id of the team for which this price group belongs

Example: 12
default
​boolean
​array | null

Fees of the price group

teamMemberCount
​integer | null · int32

To how many team members the price group has been applied to

chargePointCount
​integer | null · int32

To how many charge points the price group has been applied to

updatedAt
​string | null · date-time

When the price group was updated

Example: 2023-03-16T15:37:23Z

PriceItem

startTime
​string · date-time · required
endTime
​string · date-time · required
pricePerKWh
​number · double · required
currencyId
​string · required

PriceSpecification

​Pair_String.BigDecimal_[] · required

price specifications

PricesForecast

​object · required

The operator to which this charge point and price group belongs to

​object · required

The currency applicable for this forecast

​object · required

The price group applicable for this forecast

​PricesForecastEntry[] · required

The compilation of entries composing this prices forecast

PricesForecastEntry

time
​string · date-time · required

The time this forecasted price is applicable, forecast is valid from time + 1 Hour

Example: 2023-11-29T18:00:00Z
pricePerKwh
​integer · int64 · required

The projected price per kWh

Example: 5978
name
​string · required

The human readable name for the forecast (includes the currency information)

Example: 0.60 DKK/kWh

Pricing

id
​integer · int64 · required

Id of the pricing

Example: 1
type
​string · enum · required

Type of the pricing. minute is used for Minute fee. min is used for the master price.

Enum values:
kwh
min
spot
tariff
starting
charging
idle
minute
Example: min
master
​boolean · required

If this is the master price (not a fee)

Example: true
dynamicPricing
​boolean · required

If it's a dynamic price. It will be true if a tariffId is present.

Example: false
endAtFullyCharged
​boolean · required

Used by the Minute fee and min master price. True means it will stop applying the pricing when the charge is complete. False means it will stop charging the fee when the cable is unplugged

Example: false
vat
​boolean · required

Used by Spot Price. True means it will add % of VAT on top the price calculations
Note: vat rates differ from country to country.

Example: false
updatedAt
​string · date-time · required

When the pricing was last updated

Example: 2023-03-16T15:37:23Z
​object · required

The price of this Fee or Master price

description
​string | null

Name of the pricing. It will be null when it's the master price

Example: Starting Fee
percentage
​number | null · float

Used by Spot Price. It will multiply the fallback price by this percentage

Example: 10.2
tariffId
​integer | null · int64

The id of the selected Tariff

Example: 5
applyAfterMinutes
​integer | null · int32

Used by Charging, Minute and Idle Fees. After how many minutes the fee should start being applied.

Example: 30
​object

Used by spot price. The minimum that the raw spot price can be. This will be used in calculations if spot price is lower than this

​object

Used by spot price. The maximum that the raw spot price can be. This will be used in calculations if spot price is higher than this

​object

Used by Idle fee. The maximum the user will be charged for the idle fee

​array | null

Used by spot price. Additional absolute money or percentages values to be added on top of the previous calculations

from
​string | null · date-time

DateTime "from" time to which this pricing should apply from

Example: 2023-03-16T15:37:23Z
to
​string | null · date-time

DateTime "to" time to which this pricing should apply to

Example: 2023-03-16T15:37:23Z
tagId
​integer | null · int64

The id of the charge pricing tag for this pricing

Example: 109
interval
​string · enum

Specifies the time resolution used for spot price calculations.

Note: Only has an effect if such resolution is available (, ie 15-min MTU from 30.09.25).

Enum values:
hourly
quarterHourly
Example: hourly
​array | null

Grace periods during which idle fees are not applied

PricingType

string · enum
Enum values:
kwh
min
spot
tariff
starting
charging
idle
minute

PromotionCode

promotionCodeId
​integer · int64 · required

Id of the promotion code

userId
​integer · int64 · required

Id of user using the promotion code

status
​string · enum · required

Status of the promotion code

Enum values:
active
scheduled
expired
inactive
used
other

PromotionCodeBulkResult

​CreatedPromotionCode[] · required

The codes created by this request

skippedExistingCodes
​string[] · required

The requested codes that already existed and were therefore not created again. Codes are unique across all operators, so a code held elsewhere is reported here instead of failing the batch. A replayed request returns an empty created list and every code here, so retrying is safe.

Example: []

PromotionCodeCoverage

promotionCodeId
​integer · int64

The promotion code that covered part of this charge

Example: 33
subscriptionId
​integer | null · int64

The subscription that granted the promotion code, resolved when the charge completed. Null when the code was not granted by a subscription.

Example: 123
type
​string · enum

The kind of promotion code. Null for a type this API version does not know.

Enum values:
credit
ongoing-charge-discount-percentage
charge-package-discount-percentage
charge-package-price-group
Example: charge-package-discount-percentage
​object

Present only when the promotion code carries a kWh allowance

​object

Present only when the promotion code carries a maximum discount amount

deeplink
​string | null · uri

Redeem deeplink resolving on the operator's own subdomain, or on the bare app host when the operator's identifier is a reserved one such as Monta's.

Example: https://app.monta.app/d/promotion-code?code=abc123
appDeeplink
​string | null · uri

Redeem deeplink resolving on the host the operator's branded app actually claims, falling back to the operator subdomain when the operator has no branded app. Use this one for a QR code meant to open a white-label app.

Example: https://ev-conexion.monta.app/d/promotion-code?code=abc123

PromotionCodeDiscountCap

consumedAmount
​number · double

The discount the code applied to this charge, in the charge's own currency

Example: 12.25

PromotionCodeKwhAllowance

coveredKwh
​number · double

How many kWh of this charge the allowance paid for. Zero means it was already spent.

Example: 4.5

PromotionCodeStatus

string · enum
Enum values:
active
scheduled
expired
inactive
used
other

PromotionCodeType

string · enum
Enum values:
credit
ongoing-charge-discount-percentage
charge-package-discount-percentage
charge-package-price-group

PromotionCode_1

id
​integer · int64 · required

Id of the promotion code

code
​string · required

Promotion code

Example: summer2025
description
​string | null · required

Description of the promotion code

Example: summer sale
amount
​number · double · required

Amount associated with the promotion code

Example: 100
amountFormatted
​string · required

Formatted amount associated with the promotion code

Example: $100.00
type
​string | object · enum · required

Type of the promotion code

Enum values:
credit
ongoing-charge-discount-percentage
charge-package-discount-percentage
charge-package-price-group
name
​string | null

Name of the promotion code

Example: Summer Sale
maxUsesCount
​integer | null · int32

Maximum number of times the code can be used

Example: 100
usesCount
​integer | null · int32

Number of times the code has been used

Example: 5
usable
​boolean | null

Whether the promotion code is currently usable

​object

The operator to this promotion code is associated

Example: 1L
createdAt
​string | null · date-time

Creation timestamp of the promotion code (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
updatedAt
​string | null · date-time

Update timestamp of the promotion code (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
deletedAt
​string | null · date-time

Soft deletion timestamp of the promotion code (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
startAt
​string | null · date-time

Start timestamp of the promotion code (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
endAt
​string | null · date-time

End timestamp of the promotion code (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
userId
​integer | null · int64

User ID this code is scoped to, if any

maxDiscountAmount
​number | null

Cap on the total discount a single driver can accumulate from this code. Null when no cap is set.

Example: 500
selectedTeamIds
​integer[]

Team IDs the promotion code is restricted to. Empty when the code is not team-restricted.

Example: [1,2,3]
amountKwh
​number | null

kWh allowance the discount covers per budget period. Null means no kWh cap.

Example: 300
budgetPeriodType
​string | null

Reset window for the kWh allowance; calendar-month resets on the 1st, null means a lifetime cap.

Example: calendar-month
includeHomeCharging
​boolean | null

Whether the kWh allowance also covers charge points owned by the subscribing team, so home charging draws on the same allowance as public charging.

Example: true
selectedListIds
​integer[]

List IDs the promotion code is restricted to. Empty when the code is not list-restricted.

Example: [1,2,3]
​object

The redeem deeplinks for this code. Null when the code has no meaningful deeplink.

PublicChargePoint

evseId
​string · required

The EVSE id for this charge point

Example: DK*MON*E2
chargePointOperatorName
​string · required

The charge point operator name

Example: Monta
​object · required

Location information for this charge point

id
​integer · int64

Id of this charge point

Example: 1
name
​string | null

Name of the charge point

Example: Monta CPH HQ
chargePointOperatorId
​integer · int64

The charge point operator id

Example: 10200
maxKw
​number | null · double

Max KW available at this charge point.

Example: 150
chargePointModelId
​integer | null · int64

The ID of the charge point model for this charge point.

Example: 42
brandName
​string | null

Brand name for this charge point

Example: Easee
modelName
​string | null

Model name for this charge point

Example: Easee - Home
deletedAt
​string | null · date-time

Date this charge point was deleted

Example: 2022-05-12T16:56:45.99Z

PublicTeam

id
​integer · int64

Id of the public team

Example: 1
publicName
​string | null

Public name of the team

Example: Example Team
memberCount
​integer | null · int64

Number of members in the team

Example: 10

PublicUser

id
​integer · int64 · required

Id of the user

Example: 10
displayName
​string · required

Formatted name to be displayed

Example: John Doe
isGuest
​boolean | null

Indicates whether this user is a guest (ad-hoc) user who has not yet completed registration

Example: false

PublicUser_1

id
​integer · int64

Id of the user

Example: 1
firstName
​string | null

First name of the user

Example: John
lastName
​string | null

Last name of the user

Example: Doe
displayName
​string | null

Display name of the user

Example: johndoe123

PushPricesRequest

​PriceItem[] · minItems: 1 · required
overlay
​boolean · required

ReasonDto

id
​integer · int32 · required

Id of the reason

Example: 10
identifier
​string · required

Identifier of the reason

reason
​string · required

Reason of the report

type
​string · required

Type of the report

priority
​string · required

Priority of the report

Receipt

id
​integer · int64 · required

Id of the receipt

Example: 1000
version
​integer · int64 · required

The version of the receipt layout

Example: 1
totalAmount
​number · required

The total amount on the receipt

Example: 4234.98
​ReceiptEntry[] · required

A list of transaction ids linked to the receipt

vat
​number · required

Value added tax (VAT) amount on the receipt.

Example: 10
createdAt
​string · date-time · required

The date and time receipt was created

identifier
​string | null

Human-readable receipt number (identifier)

Example: REC-2024-001234
​object

Currency

pdfUrl
​string | null

PDF url where the receipt can be fetched from

ReceiptEntry

title
​string · required

Title

amount
​number · required

Amount

subAmount
​number · required

Sub amount

subTitle
​string | null

Subtitle

RedeemPromotionCodeDto

promotionCodeId
​integer · int64 · required

Promotion code id

Example: 1
userId
​integer · int64 · required

Id of the user redeeming the code

Example: 123
teamId
​integer | null · int64

Id of the team (if applicable)

Example: 456

RegisterComplianceRequest

French tax compliance data for an existing team or operator. The fiscal registration, including its declaration, is required. Registration numbers are optional: send them when they are not already on record for this team or operator.
​object · required

The company's French tax and electronic-invoicing settings. Required: without it the company is left with registration numbers but no tax profile and no declaration, so it cannot be invoiced under the French e-invoicing rules.

​object | null

The company's official French registration numbers, given as key/value pairs where each key names a type of identifier and the value is the number itself. You do not need to send all three — always include FR_SIREN, and add the others only if they apply:

  • FR_SIREN — required. The 9-digit number that identifies the company nationally.
  • FR_SIRET — optional. The 14-digit number that identifies one specific site of the company (its SIREN followed by a 5-digit site code). Include it when registering a particular establishment.
  • FR_VAT — optional. The company's French VAT number. It is derived from the SIREN/SIRET, so you normally don't need to set it yourself.
Example: {"FR_SIREN":"840227060","FR_SIRET":"84022706000012","FR_VAT":"FR00840227060"}

RegularHours

periodBegin
​string · required

Period begin in HH:mm format (e.g. 08:00)

Example: 08:00
periodEnd
​string · required

Period end in HH:mm format (e.g. 17:00 or 00:00 for end of day)

Example: 17:00
weekday
​integer · int32

Number of day in the week, from Monday (1) till Sunday (7)

Example: 1

RegularHoursRequest

periodBegin
​string · pattern: ^([01][0-9]|2[0-3]):… · required

Period begin in HH:mm format

Example: 08:00
periodEnd
​string · pattern: ^([01][0-9]|2[0-3]):… · required

Period end in HH:mm format

Example: 17:00
weekday
​integer · int32 · min: 1 · max: 7

Day of the week, from Monday (1) to Sunday (7)

Example: 1

RelationType

string · enum
Enum values:
team

ReportDto

id
​integer · int64 · required

Id of the report

Example: 10
operatorId
​integer · int64 · required

Id of the operator related to the report

Example: 10
relationType
​string · required

Type of the relation

relationId
​integer · int64 · required

Id of the relation

Example: 10
state
​string · required

State of the report

imageUrls
​string[] · required

List of image URLs

Example: ["https://monta.imgix.net/reports/example-image-1.png","https://monta.imgix.net/reports/example-image-2.png"]
createdAt
​string · date-time · required

Time when the report was created

Example: 2023-02-06T08:00:00Z
reportedByUserId
​integer | null · int64

Id of the user who reported

Example: 10
body
​string | null

Body of the report

Example: available but can not start
​object

Reason of the report

source
​string | null

Source of the report

assignedToOperatorId
​integer | null · int64

Id of the operator assigned to the report

Example: 10
assignedToUserId
​integer | null · int64

Id of the user assigned to the report

Example: 10
resolvedByUserId
​integer | null · int64

Id of the user who resolved the report

Example: 10
operatorNote
​string | null

Note from the operator

Example: The charge point is not working
adminNote
​string | null

Note from the admin

Example: The charge point is not working
userNote
​string | null

Note from the user

Example: The charge point is not working
resolvedAt
​string | null · date-time

Time when the report was resolved

Example: 2023-02-06T11:00:00Z
escalatedAt
​string | null · date-time

Time when the report was escalated

Example: 2023-02-06T10:00:00Z
assignedAt
​string | null · date-time

Time when the report was assigned

Example: 2023-02-06T09:00:00Z
​object | null

Additional raw payload data, ie. for driver-support reports coming from Zendesk

Example: {"ticket_id":12345,"user_email":"test@example.com"}
updatedAt
​string | null · date-time

Time when the report was updated

Example: 2023-02-06T11:00:00Z
deletedAt
​string | null · date-time

Time when the report was deleted

Example: 2023-02-06T12:00:00Z

RevenueShareAgreement

code
​string · required

Stable code identifying the agreement.

Example: A-ACME-7
status
​string · enum · required

Lifecycle status.

Enum values:
Active
Paused
Other
Example: Active
policyCode
​string | null

Code of the policy this agreement applies.

Example: P-ACME-3
policyVersion
​integer | null · int32

Version of the policy this agreement applies.

Example: 1
sourceTeamId
​integer | null · int64

Id of the team the revenue is shared from.

Example: 1024
sourceTeamName
​string | null

Name of the team the revenue is shared from.

Example: Acme Fleet
recipientTeamId
​integer | null · int64

Id of the team the revenue is shared to.

Example: 2048
recipientTeamName
​string | null

Name of the team the revenue is shared to.

Example: Acme Sites
attributionSourceTeamId
​integer | null · int64

Id of the team charges are attributed to.

Example: 1024
startedAt
​string | null · date-time

When the agreement started.

Example: 2026-01-01T00:00:00Z
endedAt
​string | null · date-time

When the agreement ended.

Example: 2026-12-31T23:59:59Z
createdAt
​string | null · date-time

Creation timestamp.

updatedAt
​string | null · date-time

Last update timestamp.

RevenueShareAgreementStatus

string · enum
Enum values:
Active
Paused
Other

RevenueShareCalculation

id
​string · required

Stable identifier of the calculation.

Example: C-ACME-1
agreementCode
​string | null

Code of the agreement the calculation belongs to.

Example: A-ACME-3
policyCode
​string | null

Code of the policy applied to the charge.

Example: P-ACME-3
sourceTeamId
​string | null

Id of the team that generated the revenue.

Example: 10
sourceTeamName
​string | null

Name of the team that generated the revenue.

Example: Source Team
recipientTeamId
​string | null

Id of the team receiving the share.

Example: 20
recipientTeamName
​string | null

Name of the team receiving the share.

Example: Recipient Team
chargeId
​string | null

Id of the charge the calculation was derived from.

Example: 999
grossAmount
​number | null

Gross amount of the charge.

Example: 100
netAmount
​number | null

Net amount of the charge.

Example: 80
attributedNetAmount
​number | null

Net amount attributed to the policy.

Example: 80
shareAmount
​number | null

Amount of the share.

Example: 12
shareTaxAmount
​number | null

Tax amount applied to the share.

Example: 3
shareTaxRate
​number | null

Tax rate applied to the share.

Example: 25
shareTaxCode
​string | null

Tax code applied to the share.

Example: VAT_DK
currency
​string | null

Currency of the amounts.

Example: DKK
settlementStatus
​string | null

Settlement status of the share.

Example: settled
walletTransactionId
​string | null

Id of the wallet transaction that settled the share.

Example: 555
externalSettledAt
​string | null · date-time

When the share was settled externally.

Example: 2026-02-01T00:00:00Z
computedAt
​string | null · date-time

When the calculation was computed.

Example: 2026-01-15T00:00:00Z
errorReason
​string | null

Reason the calculation failed, when applicable.

RevenueShareMoneyFlow

string · enum
Enum values:
wallet_live
wallet_monthly
external

RevenueSharePolicy

code
​string · required

Stable code identifying the policy.

Example: P-ACME-3
name
​string · required

Human-readable name.

Example: Fleet 85/15
kind
​string · enum · required

Who the revenue is shared between.

Enum values:
team_to_team
operator_to_team
Example: operator_to_team
seller
​string · enum · required

Who sells the electricity.

Enum values:
cpo
site_owner
Example: cpo
policyType
​string · enum · required

How the share is measured.

Enum values:
percentage
per_kwh
Example: percentage
policyValue
​number · required

The share value: a percentage of net, or an amount per kWh.

Example: 15
moneyFlow
​string · enum · required

How the settled share reaches the recipient.

Enum values:
wallet_live
wallet_monthly
external
Example: wallet_live
status
​string · enum · required

Lifecycle status.

Enum values:
Draft
Active
Example: Active
description
​string | null

Optional internal description.

version
​integer · int32

Policy version.

Example: 1
validFrom
​string | null · date-time

Start of the validity window.

Example: 2026-01-01T00:00:00Z
validTo
​string | null · date-time

End of the validity window.

Example: 2026-12-31T23:59:59Z
createdAt
​string | null · date-time

Creation timestamp.

updatedAt
​string | null · date-time

Last update timestamp.

deletedAt
​string | null · date-time

Soft-delete timestamp, null when the policy is not deleted.

RevenueSharePolicyKind

string · enum
Enum values:
team_to_team
operator_to_team

RevenueSharePolicyStatus

string · enum
Enum values:
Draft
Active

RevenueSharePolicyType

string · enum
Enum values:
percentage
per_kwh

RevenueShareSeller

string · enum
Enum values:
cpo
site_owner

RevenueShareSettlement

id
​string · required

Stable identifier of the settlement.

Example: 100
status
​string · enum · required

Lifecycle status.

Enum values:
Pending
Settled
Failed
Other
Example: Settled
agreementCode
​string | null

Code of the agreement the settlement belongs to.

Example: A-ACME-1
periodStart
​string | null · date-time

Start of the settled period.

Example: 2026-01-01T00:00:00Z
periodEnd
​string | null · date-time

End of the settled period.

Example: 2026-01-31T23:59:59Z
currency
​string | null

Currency of the settled amounts.

Example: EUR
totalShareAmount
​number | null

Total shared amount for the period.

Example: 125.5
totalTaxAmount
​number | null

Total tax amount for the period.

Example: 25.1
walletTransactionId
​string | null

Identifier of the wallet transaction that settled the share.

attempts
​integer | null · int32

Number of settlement attempts made.

Example: 1
lastAttemptAt
​string | null · date-time

Timestamp of the last settlement attempt.

settledAt
​string | null · date-time

Timestamp when the settlement was completed.

errorReason
​string | null

Reason the settlement failed, when applicable.

createdAt
​string | null · date-time

Creation timestamp.

RevenueShareSettlementStatus

string · enum
Enum values:
Pending
Settled
Failed
Other

RoamingDirection

string · enum
Enum values:
INBOUND
OUTBOUND

SaveEyeIntegrationResult

string · enum
Enum values:
DEVICE_ID_NOT_FOUND
API_NOT_RESPONDING
SUCCESS
ALREADY_INTEGRATED
OTHER_SAVEEYE_ALREADY_INTEGRATED
NOT_A_SAVEEYE_CODE
UNKNOWN

SavedPaymentMethod

type
​string · required

Payment method type

Example: card
brand
​string | null

Card brand. Null for non-card payment methods

Example: visa
last4
​string | null

Last four card digits. Null for non-card payment methods

Example: 4242
expiryMonth
​integer | null · int32

Card expiry month. Null for non-card payment methods

Example: 12
expiryYear
​integer | null · int32

Card expiry year. Null for non-card payment methods

Example: 2028
expired
​boolean

Whether the card has expired. Always false for non-card payment methods

Example: false

Saveeye

deviceId
​string · required
​object

SaveeyeMqtt

deviceId
​string · required
​object

Saveeye_1

result
​SaveEyeIntegrationResult · enum · required
Enum values:
DEVICE_ID_NOT_FOUND
API_NOT_RESPONDING
SUCCESS
ALREADY_INTEGRATED
OTHER_SAVEEYE_ALREADY_INTEGRATED
NOT_A_SAVEEYE_CODE
UNKNOWN

Saveeye_2

serialNumber
​string | null
deviceId
​string | null

Schedule

id
​integer · int64 · required

Id of the schedule

Example: 42
teamId
​integer · int64 · required

Id of the team that owns this schedule

Example: 12
name
​string · required

Name of the schedule

Example: Weekday Hours
visibility
​string · enum · required

Default visibility for charge points in this schedule

Enum values:
private
public
Example: public
timezone
​string · required

Timezone for interpreting the schedule entry times

Example: Europe/Copenhagen
entryCount
​integer · int32 · required

Number of entries in this schedule

Example: 5
createdAt
​string · date-time · required

When the schedule was created

Example: 2023-03-16T15:37:23Z
priceGroupId
​integer | null · int64

Id of the default price group applied during scheduled windows

Example: 99
​array | null

List of schedule entries defining time windows and their overrides

selectedChargePointIds
​array | null

Ids of charge points directly assigned to this schedule

selectedSiteIds
​array | null

Ids of sites assigned to this schedule

updatedAt
​string | null · date-time

When the schedule was last updated

Example: 2023-03-16T15:37:23Z

ScheduleEntry

id
​integer · int64 · required

Id of the schedule entry

Example: 12
dayOfWeek
​string · enum · required

Day of week this entry applies to

Enum values:
mon
tue
wed
thu
fri
sat
sun
Example: mon
from
​string · required

Start time of this entry (HH:mm:ss)

Example: 08:00:00
to
​string · required

End time of this entry (HH:mm:ss)

Example: 18:00:00
visibility
​string · enum

Visibility override for this time window. Null means the schedule's default visibility is used.

Enum values:
private
public
Example: public
priceGroupId
​integer | null · int64

Price group override for this time window. Null means the schedule's default price group is used.

Example: 42

ScheduleOverride

startDay
​DayOfWeek · enum · required
Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
startTime
​string · partial-time · required
endDay
​DayOfWeek · enum · required
Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
endTime
​string · partial-time · required
type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
id
​string | null
departureDay
​string · enum
Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
departureTime
​string | null · partial-time
​object

SendMessageRequest

A message to send to one of your users.
body
​string · required

The message body. 1–4096 characters.

Example: Your charge at Main Street is complete.
​object · required

Which channels to deliver on. Defaults to in-app inbox only.

userId
​integer · int64

Id of the user to send the message to. The user must belong to your operator.

Example: 42
subject
​string | null

Optional subject / title. Up to 140 characters. Used as the push/email title; falls back to a default when omitted.

Example: Charge complete
actionUrl
​string | null

Optional deep link opened from the message. Must be an https:// URL, a monta-app:// deeplink, or an internal /path.

Example: https://app.monta.com/charges/42

SendWelcomeEmail

​SendWelcomeEmailItem[] · minItems: 1 · maxItems: 100 · required

Users to send the welcome email to (between 1 and 100, no duplicates)

force
​boolean

Send again to users who already got the welcome email. By default they are skipped, so repeating a call is safe

Example: false
Default: false

SendWelcomeEmailItem

userId
​integer · int64 · required

Id of the user to send the welcome email to

Example: 12345

SendWelcomeEmailResult

​WelcomeEmailItemResult[] · required

One result per requested user, in request order

​object · required

Number of users per result status

SetChargingProfile

connectorId
​integer | null · int64 · min: 0

The connector id to set the profile for.

Example: 1
​object | null

The charging profile to set.

SetChargingProfileConfirmation

status
​string · required

The status of the set charging profile request.

Example: Accepted

SetDefaultTeam

teamId
​integer · int64 · required

Id of an existing private team owned by the operator (or one of its sub-operators) to assign as the user's default team

Example: 12345

SetManualChargeIntentRequest

type
​ChargeIntentType · enum · required
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
priority
​integer · int32 · required
departureTime
​string | null · date-time
​object

SetNodeExternalPowerLimitRequest

limitW
​number · double · min: 0 · required
expiresAt
​string · date-time · required

SetSiteActiveRequest

isActive
​boolean · required

SetSiteRequest

name
​string · required
​SiteConfigRequest · required
comment
​string · required
topNodeFuseLimitA
​number | null · double
operatorId
​integer | null · int64
teamId
​integer | null · int64

SetTeamChargeIntentRequest

type
​string | null · enum · required

Charge intent type. PRICE_OPTIMIZE also requires target and departureTime.

Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
Example: CHARGE_NOW
departureTime
​string | null

Daily departure time (local time).

Example: 07:30:00
​object

Charging target.

​array | null

Schedule overrides. Defaults to none.

priority
​integer | null · int32

Intent priority. Defaults to 0.

SetUserChargeIntentRequest

Charge intent for a user. Only `type` is required; `target` and `departureTime` are required for `PRICE_OPTIMIZE`.
type
​string · enum · pattern: ^(PRICE_OPTIMIZE|CHA… · required

Charge intent type

Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
Example: CHARGE_NOW
departureTime
​string | null

Departure time (local time of the site). Required for PRICE_OPTIMIZE.

Example: 07:30:00
​object

Charging target. Required for PRICE_OPTIMIZE.

​array | null

Schedule overrides. Defaults to an empty list.

priority
​integer | null · int32

Priority of the charge intent. Defaults to 0.

Example: 0

Settings

​CircuitSettings · required
​SolarChargingSettings · required
​FuseProtectionSettings · required
​PeakProtectionSettings · required

SettingsChangeLogEntry

id
​integer · int64 · required
siteId
​integer · int64 · required
entityType
​string · required
entityId
​string · required
action
​string · required
comment
​string · required
createdAt
​string · date-time · required
changes
​string | null
userId
​integer | null · int64

SettingsUpdate

​object
​object
​object
​object

ShellyMeterIntegration

topicPrefix
​string · minLength: 1 · pattern: ^[^/+#]*$ · required
timeoutSeconds
​integer · int32 · min: 1 · max: 300 · required

SignatureExplanation

receivedPayloadString
​string · required

The processed payload as string

receivedPayloadBytes
​string · required

The processed payload as bytes (hex)

webhookSecret
​string · required

The secret used to sign the payload

webhookSecretBytes
​string · required

The secret used to sign the payload as bytes (hex)

signatureAlgorithm
​string · required

The algorithm used for generating the signature

signature
​string · required

The resulting signature

signatureWithPrefix
​string · required

The resulting signature including prefix

SignedData

format
​string · enum · required

Signature format as given by the charge point.

Enum values:
OCMF
PCDF
ISA_EDL_40_P
ALFEN
EDL_40_P
EDL_40_SIG
EDL_40_MENNEKES
UNKNOWN
Example: EDL_40_P
endMeter
​string · required

Originating from the charge point for the end recording. The format is the exact format received from the charge point.

Example: 1b1b1b1b0101010176050100001e6200620072930101760107313233343536053135311d0b0901454d4800009192eb0101639d3f0076050000001f620062007263070177010b0901454d4800009192eb078180817103ff72620165072496a37477078182815401ff01726203736567810b16530000530000010181040202080a30344532363039414543373138300177070100011100ff64000008726203736567814402530000530000621e52ff56001ff698eb01770781006008000101010101726201726201650724967d0177078180817101ff01010101650000158601830439d712c6f5eccda6a98gd4fecf2a69eceb31d822472fad7e145f0f63fbde7349f49034a2cc817a664e05e3b41eff59fc763f016326bb08760500000020620062007263020171016391fa001b1b1b1b1a001757
certificate
​string | null

Public key for the signature.

Example: 3059301306072A8648CE3D020106082A8648CE3D030107034200043235EDF0992C1E5719CD4598A3DD77360C2B027BC397FE9D17BB55A35EF4320FA360EF23DCA7EA4D2EA33673F8EFA2E0455922CBFE8461E0BF78B628251DD229
startMeter
​string | null

Originating from the charge point for the start recording. The format is the exact format received from the charge point
Note: some formats sends both start and end data in the signed endMeter data. In this case this is null.

Example: 1b1b1b1b1101010176050100001e6200620072630101760107313233343536053135311d0b0901454d4800009192eb0101639d3f0076050000001f620062007263070177010b0901454d4800009192eb078180817103ff7262016507245dc37477078182815401ff01726203736567810b16530000530000010181040202080a30344532363039414543373138300177070100011100ff64000008726203736567810b17530000530000621e52ff56001ff1d6ba017707810060780001010101017262017262016507245d920177078180817101ff0101010165000015850183041fc5588bc9f8552eb954b8355b3146fa41b4ee668f3626121b5fcf16ba2bc0925b9a9b7171cdb0ed238cc359241ab264763f0163a37b00760500000020620062007263020171016391ha001b1b1b1b1a004783

SignedDataFormat

string · enum
Enum values:
OCMF
PCDF
ISA_EDL_40_P
ALFEN
EDL_40_P
EDL_40_SIG
EDL_40_MENNEKES
UNKNOWN

Enumerate the possible charge signed data formats

SimCard

imsi
​string | null

imsi (International Mobile Subscriber Identity) for the SIM card

Example: 310150123456789
iccid
​string | null

iccid (Integrated Circuit Card Identifier) for the SIM card

Example: 8931501234567890123

SimpleTeamMemberDto

id
​integer · int64 · required

Id of the team member

Example: 1
teamId
​integer · int64

Team id of team member

Example: 42
displayName
​string | null

The team member display name, formats can be: First and Last Name, User: #id, email, or phone

Example: Casper Rasmussen
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
userId
​integer | null · int64

User id of team member. If the user does not exist yet, it will be null.

Example: 1

Site

id
​integer · int64 · required
name
​string · required
isActive
​boolean · required
operatorId
​integer · int64 · required
comment
​string · required
teamId
​integer | null · int64
​object
​object
​array | null
​array | null
​object | null
​object | null
phpSiteId
​integer | null · int64
importedOcppGroupId
​integer | null · int64

SiteAmenities

​Amenity[] · required

List of amenities configured for the site

SiteAmenitiesUpdate

​AmenityUpdate[] · required

Full list of amenities to set on the site. Replaces any existing amenities.

SiteConfig

rampUpProtectionEnabled
​boolean · required
countryArea
​string | null
timeZoneId
​string | null
​object
defaultBatteryCapacityKwh
​number | null · double
gridConnectionType
​string · enum
Enum values:
THREE_PHASE_230_400V
THREE_PHASE_277_480V
SPLIT_PHASE_120_240V
vehicleAwareRampUpDurationSeconds
​number | null · double
subPrioritization
​string · enum

NONE is deprecated, use EQUAL_SHARE.

Enum values:
NONE
EQUAL_SHARE
ARRIVAL_TIME
topUpEnabled
​boolean | null
dcChargingEfficiencyFactor
​number | null · double
appSmartChargeOverrideEnabled
​boolean | null
optimizerVersion
​integer | null · int32

SiteConfigRequest

timeZoneId
​string · required
​ChargeIntent · required
rampUpProtectionEnabled
​boolean · required
gridConnectionType
​GridConnectionType · enum · required
Enum values:
THREE_PHASE_230_400V
THREE_PHASE_277_480V
SPLIT_PHASE_120_240V
vehicleAwareRampUpDurationSeconds
​number · double · min: 0 · max: 3600 · required
subPrioritization
​string · enum · required

NONE is deprecated, use EQUAL_SHARE.

Enum values:
NONE
EQUAL_SHARE
ARRIVAL_TIME
countryArea
​string | null
defaultBatteryCapacityKwh
​number | null · double
topUpEnabled
​boolean | null
dcChargingEfficiencyFactor
​number | null · double · min: 0 · max: 1
appSmartChargeOverrideEnabled
​boolean | null
optimizerVersion
​integer | null · int32

SiteDeveloper

name
​string | null

Name of the developer

Example: John Doe
email
​string | null

Email of the developer

Example: john.doe@example.com
companyRegistrationNumber
​string | null

Company registration number

Example: 12345678

SiteDeveloperRequest

name
​string | null

Developer name

Example: John Doe
email
​string | null · email

Developer email

Example: john.doe@example.com
companyRegistrationNumber
​string | null

Company registration number

Example: 12345678

SiteEnergyMix

Energy mix information for a site
​EnergySourceItem[] · required

List of energy sources with their category and percentage

​EnvironmentalImpactItem[] · required

List of environmental impacts for this energy mix

is_green_energy
​boolean | null

Indicates if the energy is green

Example: true
supplier_name
​string | null

Name of the energy supplier

Example: Green Energy Supplier
energy_product_name
​string | null

Name of the energy product

Example: EcoPower 2025

SiteImages

images
​string[] · required

Public URLs of the images attached to this site (max 4)

Example: ["https://cdn.monta.com/charge-point-group-pictures/abc.jpg"]

SiteListItem

id
​integer · int64 · required
name
​string · required
isActive
​boolean · required
operatorId
​integer · int64 · required
numberOfEvses
​integer · int32 · required
numberOfSubgroups
​integer · int32 · required
currentPowerW
​number · double · required
comment
​string · required
chargePointIds
​string[] · required
teamId
​integer | null · int64
phpSiteId
​integer | null · int64

SiteMetadata

atm
​boolean | null

ATM available at the site

Example: true
digitalChargePriceDisplay
​boolean | null

Digital charge price display available

Example: false
driverLounge
​boolean | null

Driver lounge available

Example: true
fuelStation
​boolean | null

Fuel station available

Example: false
parkingArea
​boolean | null

Parking area available

Example: true
powerSupply
​boolean | null

Power supply available

Example: true
shower
​boolean | null

Shower available

Example: false
vendingMachine
​boolean | null

Vending machine available

Example: true
washingMachine
​boolean | null

Washing machine available

Example: false
wifi
​boolean | null

WiFi available

Example: true
toilets
​integer | null · int64

Number of toilets

Example: 2
cafe
​boolean | null

Cafe available

Example: true
foodDelivery
​boolean | null

Food delivery available

Example: false
hotel
​boolean | null

Hotel available

Example: true
mall
​boolean | null

Mall available

Example: false
museum
​boolean | null

Museum available

Example: true
park
​boolean | null

Park available

Example: true
outdoorGym
​boolean | null

Outdoor gym available

Example: false
recreationArea
​boolean | null

Recreation area available

Example: true
restaurant
​boolean | null

Restaurant available

Example: true
supermarket
​boolean | null

Supermarket available

Example: false
airport
​boolean | null

Airport nearby

Example: false
bikeSharing
​boolean | null

Bike sharing available

Example: true
busStop
​boolean | null

Bus stop nearby

Example: true
carpoolParking
​boolean | null

Carpool parking available

Example: false
metroStation
​boolean | null

Metro station nearby

Example: true
taxiStand
​boolean | null

Taxi stand available

Example: false
tramStop
​boolean | null

Tram stop nearby

Example: true
secureTruckParking
​boolean | null

Secure truck parking available

Example: false
truckDealership
​boolean | null

Truck dealership available

Example: true
truckParking
​boolean | null

Truck parking available

Example: true
truckRepair
​boolean | null

Truck repair available

Example: false
truckWash
​boolean | null

Truck wash available

Example: true
accessControlledArea
​boolean | null

Access controlled area

Example: true
cameraSurveillance
​boolean | null

Camera surveillance

Example: false
entryGate
​boolean | null

Entry gate available

Example: true
exitGate
​boolean | null

Exit gate available

Example: false
floodLighting
​boolean | null

Flood lighting available

Example: true
guard
​boolean | null

Guard available

Example: false
licensePlateRecognition
​boolean | null

License plate recognition available

Example: true
pedestrianTurnstiles
​boolean | null

Pedestrian turnstiles available

Example: false
perimeterFence
​boolean | null

Perimeter fence available

Example: true
​object

Energy mix information

pictures
​array | null

Pictures of the site

Example: ["https://example.com/picture1.jpg","https://example.com/picture2.jpg"]
​object

Site developer information

​object

Cafe address

​object

Food delivery address

​object

Hotel address

​object

Mall address

​object

Museum address

​object

Park address

​object

Outdoor gym address

​object

Recreation area address

​object

Restaurant address

​object

Supermarket address

parkingType
​string · enum

Parking type

Enum values:
notDefined
alongHighway
onDriveway
onStreet
parkingGarage
privateParkingArea
publicParkingArea
publicParkingGarage
Example: onDriveway
roofed
​boolean | null

Roofed area available

Example: true
lighting
​boolean | null

Lighting available

Example: true
openingDate
​string | null

Opening date of the site

Example: 2023-01-01
​object

Opening hours information

totalParkingSpaces
​integer | null · int64

Total number of parking spaces at the site

Example: 100
totalAccessibleSpace
​integer | null · int64

Total number of accessible parking spaces at the site

Example: 10
truckOnly
​boolean | null

Total number of truck parking spaces at the site

Example: false
trailerParking
​boolean | null

Indicates if trailer parking is available at the site

Example: true
facilities
​string | null

Parking facilities available at the site

Example: Road
venueWithAccessibility
​boolean | null

Indicates if the site is accessible for people with disabilities

Example: true

SiteMetadataRequest

​array | null

List of amenities for the site

​object

Energy mix information for the site

​object

Opening hours for the site

​object

Site developer contact details

pictures
​array | null · maxItems: 4

List of picture URLs for the site (max 4)

SiteStatisticsDto

fromDate
​string · date-time · required

Start date of the statistics period

Example: 2024-03-20T00:00:00Z
toDate
​string · date-time · required

End date of the statistics period

Example: 2024-03-30T00:00:00Z
totalEnergyConsumed
​number · required

Total energy consumed during the period (in kWh)

Example: 500.5
totalSessions
​integer · int32 · required

Total number of charging sessions during the period

Example: 150
sessionSuccessRate
​number · double · required

Success rate of charging sessions during the period (as a percentage)

Example: 95
siteId
​integer | null · int64

Id of the site

Example: 42
systemUptimePercentage
​number | null · double

Percentage of uptime for the system during the period

Example: 99.9
​States[]

Detailed state for the period

Daily statistics for the period

​TimePeriod[]

Monthly statistics for the period

Site_1

name
​string · required

Name of the site

Example: Monta CPH HQ
createdAt
​string · date-time · required

Creation date of this charging site

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this charging site was last updated

Example: 2022-05-12T16:56:45.99Z
visibility
​string · enum · required

Indicates if this site is public or private. Controls who can charge at the site; independent of showOnMap.

Enum values:
private
public
Example: public
driverSupportVisibility
​string · enum · required

Whether Monta's AI Driver Support may reach drivers at this site.
- inherit — follow the site's visibility: a public site is reachable, a private site is not.
- public — always reachable, even when the site's visibility is private.
- off — never reachable, even when the site is public.

Enum values:
inherit
public
off
Example: inherit
​object · required

Location information for this site

​ChargePointConnector[] · required

List of supported connector types at this site (e.g. type-2, ccs, ...)

id
​integer · int64

Id of the site

Example: 1
teamId
​integer | null · int64

Id of the team that has access to the site

Example: 13
partnerExternalId
​string | null

External Id of this entity, managed by you.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
​object

Operator of this charging site

deletedAt
​string | null · date-time

Date this charging site was deleted

Example: 2022-05-12T16:56:45.99Z
chargePointCount
​integer · int64

Number of charge points at this site

Example: 42
activeChargePointCount
​integer · int64

Number of active charge points at this site

Example: 33
availableChargePointCount
​integer · int64

Number of available charge points at this site

Example: 4
maxKw
​number | null · double

Max KW available at this site.

Example: 150
type
​string | null · enum

Type of charge points at this site (AC / DC)

Enum values:
ac
dc
Example: ac
showOnMap
​boolean | null

Whether this site is visible on the consumer map. Independent of visibility: a public site can still be hidden, and a private site can still be shown.

Example: true
note
​string | null

A note you have entered for this site, e.g. via our Portal.

Example: In order to access this site enter 0000 as code at the gate.
​object

Additional information for this site, e.g. totalParkingSpaces.

Slice_TariffRecurringPeriodDto_

​TariffRecurringPeriod[] · required
​Pageable · required
pageNumber
​integer · int32
offset
​integer · int64
size
​integer · int32
empty
​boolean
numberOfElements
​integer · int32

SnoozeAlert

Snoozes an alert.
snoozedUntil
​string | null · date-time

When the alert wakes up again. Omit to snooze until it is changed manually.

SolarChargeOperationalState

string · enum
Enum values:
ENABLED
DISABLED
NOT_ENOUGH_SURPLUS
NULL_DATA
OUTDATED_DATA

SolarChargingSettings

solarChargingEnabled
​boolean · required
minSurplusCurrentForChargingA
​number · double · required
batteryProtectionEnabled
​boolean · required
solarChargeByDefault
​boolean · required
solarChargeGracePeriodSeconds
​integer · int64 · required
batteryProtectionLockTimeMinutes
​integer · int64 · required
solarChargingSource
​string · enum
Enum values:
FORECAST
SAVEEYE
CT_CLAMPS
SMART_METER
ENODE
POWERFOX

SolarChargingSettingsUpdate

solarChargingEnabled
​boolean | null
minSurplusCurrentForChargingA
​number | null · double
solarChargingSource
​string · enum
Enum values:
FORECAST
SAVEEYE
CT_CLAMPS
SMART_METER
ENODE
POWERFOX
batteryProtectionEnabled
​boolean | null
solarChargeByDefault
​boolean | null
solarChargeGracePeriodSeconds
​integer | null · int64
batteryProtectionLockTimeMinutes
​integer | null · int64

SolarChargingSource

string · enum
Enum values:
FORECAST
SAVEEYE
CT_CLAMPS
SMART_METER
ENODE
POWERFOX

SolarChargingState

solarChargeOperationalState
​SolarChargeOperationalState · enum · required
Enum values:
ENABLED
DISABLED
NOT_ENOUGH_SURPLUS
NULL_DATA
OUTDATED_DATA
surplusPowerKw
​number | null · double
lastDataAt
​string | null · date-time

SolarForecast

​ForecastItem[] · required
forecastFetchedAt
​string | null · date-time

SolarForecastItem

endTimestamp
​string · date-time · required
solarProductionW
​number · double · required

SolarForecastRequest

timeStart
​string · date-time · required
timeEnd
​string | null · date-time

SolarForecastResponse

​SolarForecastItem[] · required
solarPanelId
​integer | null · int64
forecastFetchedAt
​string | null · date-time

SolarInverter

result
​EnodeIntegrationResult · enum · required
Enum values:
API_NOT_RESPONDING
VENDOR_TYPE_NOT_SUPPORTED
SUCCESS
ALREADY_INTEGRATED
NO_REGISTRATION_LINK
UNSUCCESSFUL

SolarInverter_1

deviceId
​string | null

SolarPanel

id
​integer · int64 · required
nodeId
​integer · int64 · required
externalId
​string · required
latitude
​number · double · required
longitude
​number · double · required
declination
​number · double · required
azimuth
​number · double · required
peakProductionKw
​number · double · required
​array | null

SolarPanelIntegrationResult

string · enum
Enum values:
SUCCESS
INVALID_PEAK_PRODUCTION

SolarPanel_1

integrationUuid
​string · required
longitude
​number · double · required
latitude
​number · double · required
declination
​number · double · required
azimuth
​number · double · required
peakProductionKw
​number · double · required
productionModifier
​number · double · required
​object

SolarPanel_2

result
​SolarPanelIntegrationResult · enum · required
Enum values:
SUCCESS
INVALID_PEAK_PRODUCTION

SolarPanel_3

declination
​number · double · required
azimuth
​number · double · required
peakProductionKw
​number · double · required
productionModifier
​number · double · required

Sort

​Sort.Order[] · required

Sort.Order

ignoreCase
​boolean · required
direction
​Sort.Order.Direction · enum · required
Enum values:
ASC
DESC
property
​string · required
ascending
​boolean

Sort.Order.Direction

string · enum
Enum values:
ASC
DESC

SplitBillingItem

id
​integer · int64 · required

Id of this split billing item.

Example: 1234
processed
​boolean · required

Whether this item has been processed into a settlement.

Example: false
teamId
​integer · int64 · required

Id of the team this item belongs to.

Example: 100
userId
​integer · int64 · required

Id of the user this item is attributed to.

Example: 200
chargeId
​integer | null · int64

Id of the underlying charge.

Example: 98765
settlementId
​integer | null · int64

Id of the settlement this item is part of, if any.

Example: 42
​object

Per-kWh price cap for this item.

​object

Total amount of this item.

createdAt
​string | null · date-time

When this item was created.

Example: 2026-05-01T00:00:00Z

SplitBillingSettlement

​object · required

Amount due for this settlement.

​object · required

Total amount including any fees.

status
​string · enum · required

Settlement status.

Enum values:
pending
completed
failed
Example: pending
id
​integer · int64

Id of this settlement.

Example: 42
teamId
​integer · int64

Id of the team this settlement belongs to.

Example: 1024
userId
​integer · int64

Id of the user that owns this settlement.

Example: 5050
attempts
​integer · int32

Number of times the settlement has been attempted.

Example: 1
lastAttemptAt
​string | null · date-time

When the settlement was last attempted.

Example: 2026-05-10T08:30:00Z
period
​string | null

Server-rendered (English) label for the billing period the settlement covers, e.g. April 2026. Prefer firstItemAt/lastItemAt for locale-aware rendering.

Example: April 2026
firstItemAt
​string | null · date-time

Timestamp of the earliest split-billing item in the settlement. Use together with lastItemAt to render a localised period. Null for historical settlements created before the field existed.

Example: 2026-04-02T08:00:00Z
lastItemAt
​string | null · date-time

Timestamp of the latest split-billing item in the settlement. See firstItemAt.

Example: 2026-04-29T19:30:00Z
sessionCount
​integer | null · int32

Number of split-billing charges included in this settlement.

Example: 7
createdAt
​string | null · date-time

When this settlement was created.

Example: 2026-05-01T00:00:00Z

SplitBillingSettlementStatus

string · enum
Enum values:
pending
completed
failed

SponsorTeam

publicName
​string · required

Public team name

Example: Monta HQ
id
​integer · int64

ID of the sponsor team

Example: 14

SponsoredChargePoint

payout
​string · enum · required

The payout frequency for this sponsored charge point

Enum values:
end-of-month
realtime
other
Example: realtime
​object · required

The charge point being sponsored

createdAt
​string · date-time · required

Creation date of this sponsored charge point

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this sponsored charge point was last updated

Example: 2022-05-12T16:56:45.99Z
id
​integer · int64

Id of this sponsored charge point

Example: 1
teamId
​integer · int64

Id of the team of this sponsored charge point

Example: 1
note
​string | null

Note for the sponsored charge point

Example: This is a note
payForSubscriptions
​boolean

Indicates the company pays for the subscriptions

Example: true
autoApproveElectricityCost
​boolean

When true, employee-submitted electricity costs on this sponsored charge point are auto-approved without manual review.

Example: false
Default: false
​object

Operator of this sponsored charge point

acceptedAt
​string | null · date-time

Date the sponsorship was accepted

Example: 2022-05-12T16:56:45.99Z
deletedAt
​string | null · date-time

Date this sponsored charge point was deleted

Example: 2022-05-12T16:56:45.99Z

SponsoredChargePointApprove

sponsoredChargePointIds
​integer[] · minItems: 1 · required

List of sponsored charge point ids to approve

Example: [1,2,3]
payout
​string · enum · required

Payout schedule used after approval

Enum values:
end-of-month
realtime
other
payForSubscriptions
​boolean · required

Whether the sponsor pays for the sponsored user's subscription fees

Example: true
sponsoredPriceGroupId
​integer | null · int64

Optional price group id to apply to the approved sponsorship. If omitted, the price group already attached to the sponsored charge point is used.

Example: 42
sendEmailNotification
​boolean

Whether to send an email notification to the charge point owner about the approval

Example: false
Default: false

SponsoredChargePointCostChangesReview

sponsoredChargePointIds
​integer[] · minItems: 1 · required

List of charge point ids that are selected for cost changes review

Example: [1,2,3]
sendEmailNotification
​boolean

Indicates if an email notification should be sent to the charge point owner about the cost changes review

Example: true
Default: false

SponsoredChargePointData

​object · required

Location information for this charge point

createdAt
​string · date-time · required

Creation date of this charge point

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Date this charge point was last updated

Example: 2022-05-12T16:56:45.99Z
id
​integer · int64

Id of this charge point

Example: 1
name
​string | null

Name of the charge point

Example: Monta CPH HQ
​object

The user (owner) of this charge point

​object

The sponsored price group of this charge point

serialNumber
​string | null

Serial number for this charge point

lastMeterReadingKwh
​number | null · double

Last meter reading (KWH) for this charge point

Example: 913.2
maxKw
​number | null · double

Max KW available at this charge point.

Example: 150
chargePointModelId
​integer | null · int64

The ID of the charge point model for this charge point.

Example: 42
brandName
​string | null

Brand name for this charge point

Example: Easee
modelName
​string | null

Model name for this charge point

Example: Easee - Home
firmwareVersion
​string | null

Current firmware version for this charge point

Example: v1
isActive
​boolean

Indicates if this charge point is active (true) or not (false). Active = fully onboarded to Monta.

Example: true
activeAt
​string | null · date-time

Last date when charge point was activated

Example: 2022-05-12T15:56:45.91Z
deletedAt
​string | null · date-time

Date this charge point was deleted

Example: 2022-05-12T16:56:45.99Z

SponsoredChargePointPayoutType

string · enum
Enum values:
end-of-month
realtime
other

SponsoredChargePointReject

sponsoredChargePointIds
​integer[] · minItems: 1 · required

List of sponsored charge point ids to reject (the underlying sponsorship will be removed)

Example: [1,2,3]

SpotPriceAdditionalPercentageComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: spot-price-additional-percentage-metadata
price
​integer | null · int64

The additional price on top of the spot price metadata entry

Example: 120
percentage
​number | null · double

The additional percentage on top of the spot price metadata entry

Example: 12.5

SpotPriceAdditionalPriceComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: spot-price-additional-price-metadata
kwh
​number · double · required

The kwh for this spot price metadata entry

Example: 12.5
price
​integer | null · int64

The additional price on top of the spot price metadata entry

Example: 120

SpotPriceComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: spot-price-metadata
kwh
​number · double

The kwh for this metadata entry

Example: 12.5
pricePerKwh
​integer · int64

The price per kwh for this metadata entry

Example: 120

StartChargeRequest

payingTeamId
​integer · int64 · required

The id of the team that will be paying for the charge.

Example: 42
chargePointId
​integer · int64 · required

Id of the charge point used for this charge

Example: 21
reserveCharge
​boolean
Code
If true, a charge point will be reserved and a charge object with state reserved will be returned. Use `restart` endpoint to start the charge.
Example: true
kwhLimit
​number | null · double · min: 1 · max: 500

The charge kWh limit, meaning the charge will stop once the limit kWh is reached.
Note: kwhLimit can be set in parallel with socLimit, in this case the first limit to hit will stop the charge

Example: 20
socLimit
​number | null · double · min: 1 · max: 100

The charge SoC limit, meaning the charge will stop once the limit SoC % is reached.
Note: socLimit can be set in parallel with kwhLimit, in this case the first limit to hit will stop the charge

Example: null
priceLimit
​number | null · double · min: 1

The charge price limit, meaning the charge will stop once the price limit is reached.
Note: priceLimit will be in the currency of the charge point.

Example: 12.5
priceGroupId
​integer | null · int64

Allows you to enforce a specific price group for this charge.
Note: The price group must be of type team or charge-point.

Example: 42
​object

For Partners who want to start charging from payment terminals, kiosks etc. Used to link charge transaction against your billing and to allow users retrieving receipts via receipt.monta.com by using date and genericPaymentSession.externalIdor genericPaymentSession.cardLast4.

partnerExternalId
​string | null

External Id of this entity, managed by you.
Note: How this field is used is up to the partner, but we highly recommend using a unique partnerExternalId for each charge.

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.

Example: {"internalId":"ACME-12345","department":"Fleet"}

StateOfCharge

source
​string · enum · required

Source of this value, eg vehicle or charge-point

Enum values:
charge-point
vehicle
Example: vehicle
percentage
​number · double

Value of SoC in %

Example: 42.2

States

state
​string · required

State of the system or charge point

Example: operational
percentage
​number · required

Percentage of the time spent in this state

Example: 75
duration
​integer · int64 · required

Duration in this state (in seconds)

Example: 3600

StaticLimit

enabled
​boolean · required

StaticLimitIntegrationResult

string · enum
Enum values:
SUCCESS

StaticLimit_1

result
​StaticLimitIntegrationResult · enum · required
Enum values:
SUCCESS

StaticLimit_2

enabled
​boolean · required

Stromleser

deviceId
​string · required
​object

StromleserIntegrationResult

string · enum
Enum values:
SUCCESS
ALREADY_INTEGRATED
API_NOT_RESPONDING
DEVICE_ID_NOT_FOUND

Stromleser_1

result
​StromleserIntegrationResult · enum · required
Enum values:
SUCCESS
ALREADY_INTEGRATED
API_NOT_RESPONDING
DEVICE_ID_NOT_FOUND

Stromleser_2

deviceId
​string · required
pin
​string · required

SubPrioritization

string · enum
Enum values:
NONE
EQUAL_SHARE
ARRIVAL_TIME

SubscribeTeamToPlan

userId
​integer | null · int64

The user that should be assigned as the purchaser of the subscription. If not provided, the subscription will be assigned to the default user for this consumer.

nextPurchaseAt
​string | null · date-time

Date when wallet will be charged for the first time (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Has to be a date in the future.

Example: 2025-10-22T09:30:03Z

Subscription

state
​string · enum · required

State of the subscription

Enum values:
pending
active
paused
cancelling
cancelled
unpaid
other
Example: active
customerType
​string · enum · required

Customer type

Enum values:
team
charge-point
operator
other
Example: charge-point
createdAt
​string · date-time · required

Subscription creation date

Example: 2023-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Subscription update date

Example: 2023-05-12T15:56:45.99Z
id
​integer · int64

Id of the subscription

Example: 1
nextPurchaseAt
​string | null · date-time

Date of next purchase

Example: 2023-05-12T15:56:45.99Z
cancelledAt
​string | null · date-time

Subscription cancellation date

Example: 2023-05-12T15:56:45.99Z
endAt
​string | null · date-time

Subscription end date

Example: 2023-05-12T15:56:45.99Z
​object

The validity period of the subscription, exposing the start (from) and end (to) dates as a dedicated object for billing system integrations.

discountPercentage
​number · double

Discount percentage

Example: 7.5
discountAbsolute
​number · double

Discount absolute

Example: 7.5
discountAmount
​number · double

Discount amount

Example: 7.5
originalAmount
​number · double

Original amount

Example: 7.5
totalAmount
​number · double

Total amount

Example: 7.5
purchaseCount
​integer · int32

Number of purchases

Example: 5
chargePoints
​integer · int32

Number of charge points

Example: 5
customerId
​integer · int64

The id of the customer

Example: 1
planId
​integer · int64

Plan id

Example: 42
​object

Subscription configuration, based on the plans serviceType.Currently you can configure tax-refund subscriptions only.

canCancel
​boolean

Indicates if the subscription can be cancelled

Example: true
note
​string | null

A note on the subscription

Example: Monthly plan for fleet
deletedAt
​string | null · date-time

Subscription marked as deleted date

Example: 2023-05-12T15:56:45.99Z

SubscriptionBillingPeriod

A billing period with start, end, and the amount in the subscription's currency.
start
​string · date-time · required

Start of the period (inclusive).

Example: 2025-02-01T00:00:00Z
end
​string · date-time · required

End of the period (inclusive).

Example: 2025-02-28T00:00:00Z
amount
​number · required

Amount for the period in the subscription's currency.

Example: 12.5
currency
​string · required

ISO 4217 currency code.

Example: EUR

SubscriptionCancellationPreview

Preview of what would happen if the subscription was cancelled, without performing the cancellation.
endAt
​string · date-time · required

The date the subscription would end if cancelled with the requested option.

Example: 2025-02-28T23:59:59Z
​object

Refund or final-purchase that would result from cancelling now. Null when there is nothing to reconcile (no purchase yet, paid period already elapsed, or end-of-billing-period cancellation).

SubscriptionCustomAdditionalFeeApplicationScope

string · enum
Enum values:
all
paid

SubscriptionCustomerType

string · enum
Enum values:
team
charge-point
operator
other

Enumerate the various subscription customer types

SubscriptionPurchase

type
​string · enum · required

The type of this subscription purchase

Enum values:
pending
diff
unknown
Example: period
​object · required

The currency for this purchase

​object · required

The subscription this purchase refers to

createdAt
​string · date-time · required

Creation date of this subscription purchase

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

Id of the subscription purchase

Example: 1
note
​string | null

Note for this subscription purchase

Example: 1
discountPercentage
​number · double

The discount percentage applied to this purchase

Example: 25
discountAbsolute
​number · double

The absolute discount applied to this purchase

Example: 50
originalAmount
​number · double

The original amount of this purchase

Example: 100
discountAmount
​number · double

The discounted amount of this purchase

Example: 75
totalAmount
​number · double

The total amount of this purchase

Example: 25
updatedAt
​string | null · date-time

Update date of this subscription purchase

Example: 2022-05-12T16:56:45.99Z
deletedAt
​string | null · date-time

Deleted date of this subscription purchase

Example: 2022-05-12T16:56:45.99Z

SubscriptionPurchaseTypeDto

string · enum
Enum values:
pending
diff
unknown

Enumerate the possible purchase types for subscription purchases

SubscriptionReconciliation

Refund or final purchase preview attached to a cancellation.
type
​string · enum · required

Reconciliation type — refund returns money to the customer, purchase charges a final prorated amount.

Enum values:
refund
purchase
Example: refund
​object · required

The current billing period the subscription is in.

​object · required

The portion of the billing period being reconciled (refunded or charged).

SubscriptionServiceConfig

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: additionalFeeAbsolute, payoutPerKwh, priceIncludesVat +1 more
type = object · requires: additionalFeeAbsolute, additionalFeePercentage, additionalStartingFee +2 more
Properties for Variant 1:
serviceType
​string · enum · required

Plan service type, custom or tax-refund

Enum values:
custom
tax-refund
charge-package
Example: tax-refund
payoutPerKwh
​number · double · required

Amount to pay out per kWh

Example: 1.29
priceIncludesVat
​boolean · required

Indicates whether the VAT is already included in the price

Example: true
additionalFeeAbsolute
​number | null · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will be only applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
roamingAdditionalFeeAbsolute
​number | null · double

Same as the additional fee absolute, but only applied to roaming sessions.

Example: 0.5

SubscriptionServiceConfigCustom

serviceType
​string · enum · required

Plan service type, custom or tax-refund

Enum values:
custom
tax-refund
charge-package
Example: custom
subscriptionAdditionalFeeApplicationScope
​string · enum · required

Amount to pay out per kWh

Enum values:
all
paid
Example: 1.29
additionalFeePercentage
​integer · int32 · required

This percentage will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.

Example: 2
additionalFeeAbsolute
​number · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
additionalStartingFee
​number · double · required

This absolute value will be added as additional fee, once per charge session, paid by charge point owner.Will only be applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
roamingAdditionalFeePercentage
​integer | null · int32

Same as the additional fee percentage, but only applied to roaming sessions.

Example: 2
roamingAdditionalFeeAbsolute
​number | null · double

Same as the additional fee absolute, but only applied to roaming sessions.

Example: 0.5
roamingAdditionalStartingFee
​number | null · double

Same as the additional starting fee, but only applied to roaming sessions.

Example: 0.5

SubscriptionServiceConfigTaxRefund

serviceType
​string · enum · required

Plan service type, custom or tax-refund

Enum values:
custom
tax-refund
charge-package
Example: tax-refund
payoutPerKwh
​number · double · required

Amount to pay out per kWh

Example: 1.29
priceIncludesVat
​boolean · required

Indicates whether the VAT is already included in the price

Example: true
additionalFeeAbsolute
​number | null · double · required

This absolute value will be added as additional fee, paid by charge point owner.Will be only applied to charge point owned by operator.Note: This uses the default currency of the operator!

Example: 0.5
roamingAdditionalFeeAbsolute
​number | null · double

Same as the additional fee absolute, but only applied to roaming sessions.

Example: 0.5

SubscriptionState

string · enum
Enum values:
pending
active
paused
cancelling
cancelled
unpaid
other

SubscriptionStatsDto

pending_count
​integer · int32 · required
active_count
​integer · int32 · required
cancelling_count
​integer · int32 · required
paused_count
​integer · int32 · required
unpaid_count
​integer · int32 · required
total_unpaid_amount
​number · required

SubscriptionValidityPeriod

The validity period of the subscription, with optional from (start) and to (end) dates.
from
​string | null · date-time

Start date of the subscription's validity period

Example: 2024-01-01T00:00:00Z
to
​string | null · date-time

End date of the subscription's validity period

Example: 2024-12-31T23:59:59Z

Target

soc
​number | null · double
kwh
​number | null · double

TariffComponentMetadata

type
​string · enum · required

The type of this metadata entry

Enum values:
tariff-metadata
spot-price-metadata
spot-price-additions-metadata
idle-fee-metadata
duration-fee-metadata
default-metadata
Example: tariff-metadata
tariffId
​integer | null · int64

The tariff id for this metadata entry

Example: 1
tariffFrom
​string | null · date-time

Indicates from when (date-time) the tariff was applied, only relevant from time-based-tariff components

Example: 2022-05-12T15:56:45.99Z
tariffTo
​string | null · date-time

Indicates until when(date-time) the tariff was applied, only relevant from time-based-tariff components

Example: 2022-05-12T15:56:45.99Z
kwh
​number · double

The kwh for this metadata entry

Example: 12.5
pricePerKwh
​integer · int64

The price per kwh for this metadata entry

Example: 120

TariffCustomerType

string · enum
Enum values:
A_ZERO
A_HIGH
A_LOW
B_HIGH
B_LOW
C_CUSTOMER

TariffDto

externalId
​string · required

External id of the tariff

Example: 3143
name
​string · required

Name of the tariff

Example: Cerius
description
​string · required

Description of the tariff

Example: TariffDescription
zipCodes
​string[] · required

Zip codes of the tariff

Example: [5610,5960]
tariffType
​string · enum · required

Type of the tariff

Enum values:
WEEKLY
DYNAMIC
Example: WEEKLY
timeZone
​string · required

Time zone of the tariff

Example: Europe/Copenhagen
area
​string · required

Area of the tariff

Example: Jylland
createdAt
​string · date-time · required

Creation date of the tariff

Example: 2023-03-23T14:54:56Z
id
​integer · int64

Id of the tariff

Example: 1
countryId
​integer · int64

Country Id of the tariff

Example: 194
countryAreaId
​integer | null · int64

Country area Id of the tariff

Example: 1
currencyId
​integer · int64

Currency Id of the tariff

Example: 1
teamId
​integer | null · int64

Team Id of the tariff

Example: 1
operatorId
​integer | null · int64

Operator Id of the tariff

Example: 1
pricesWithVat
​boolean

Indicates if VAT is already in the price of the tariff

Example: true
active
​boolean

Indicates if the Tariff is active or not

Example: true
customerType
​string · enum

Customer type of the tariff

Enum values:
A_ZERO
A_HIGH
A_LOW
B_HIGH
B_LOW
C_CUSTOMER
Example: B_HIGH
updatedAt
​string | null · date-time

Last update date of the tariff

Example: 2023-03-23T16:54:56Z

TariffPeriodGroup

activeFrom
​string · date · required

tariff period group active from date

activeTo
​string · date · required

tariff period group active to date

description
​string · required

tariff period group description

id
​integer · int64

tariff period group id

tariffId
​integer · int64

tariff id

TariffPeriodGroup_1

activeFrom
​string · date · required

tariff period group active from date

activeTo
​string · date · required

tariff period group active to date

description
​string · required

tariff period group description

tariffId
​integer · int64

tariff id

TariffPeriodGroup_2

activeFrom
​string | null · date

tariff period group active from date

activeTo
​string | null · date

tariff period group active to date

description
​string | null

tariff period group description

TariffPriceResolution

string · enum
Enum values:
quarter-hour
half-hour
hour

Time granularity of a dynamic price entry.

Example: hour

TariffPriceSource

string · enum
Enum values:
dagster
manual
dso-import

Origin of a dynamic price entry.

Example: dagster

TariffRecurringPeriod

dayOfWeek
​string · enum · required

day of the period

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
price
​number · required

price during the period

id
​integer · int64

id of the period

tariffId
​integer · int64

id of the tariff

endDayOfWeek
​string · enum

End day of the period

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
start
​integer · int32

starting hour of the period

end
​integer · int32

ending hour of the period

startMinute
​integer · int32

minute within the starting hour when the period starts (0, 15, 30 or 45)

Example: 30
endMinute
​integer · int32

minute within the ending hour when the period ends (0, 15, 30 or 45)

Example: 0

TariffRecurringPeriodCreateRequestDto

tariffId
​integer · int64 · required

Id of the tariff this period will belong to

Example: 1
groupId
​integer · int64 · required

Id of the tariff period group this period will belong to

Example: 1
dayOfWeek
​string · enum · required

Capitalized name of the day of the week

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: MONDAY
startHour
​integer · int32 · required

hour that the period starts at

Example: 0
endHour
​integer · int32 · required

hour that the period ends at

Example: 23
price
​number · required

price during the period

Example: 2.54
endDayOfWeek
​string · enum

Capitalized name of the day of the week that the price is for

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: FRIDAY
startMinute
​integer · int32

minute within startHour that the period starts at: 0, 15, 30 or 45. Defaults to 0

Example: 30
endMinute
​integer · int32

minute within endHour that the period ends at: 0, 15, 30 or 45. Defaults to 0

Example: 0

TariffRecurringPeriodUpdateRequestDto

dayOfWeek
​string · enum

Capitalized name of the day of the week

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: MONDAY
endDayOfWeek
​string · enum

Capitalized name of the end day of the week

Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Example: FRIDAY
startHour
​integer | null · int32

hour that the period starts at

Example: 0
endHour
​integer | null · int32

hour that the period ends at

Example: 23
startMinute
​integer | null · int32

minute within startHour that the period starts at: 0, 15, 30 or 45

Example: 30
endMinute
​integer | null · int32

minute within endHour that the period ends at: 0, 15, 30 or 45

Example: 0
price
​number | null

price during the period

Example: 2.54

TariffType

string · enum
Enum values:
WEEKLY
DYNAMIC

TaxRefundMetadata

type
​string · enum · required

The type of this metadata

Enum values:
tax-refund-metadata
charge-metadata
default-metadata
id
​integer · int64

The id of the the tax refund

Example: 1
kwh
​number · double

The total kwh for the tax refund

Example: 13.77
chargeId
​integer | null · int64

The reference to chargeId for the tax refund

Team

id
​integer · int64 · required

Id of the team

Example: 1
name
​string · required

Name of the team

Example: Internal team
joinCode
​string · required

Code to share with a user to join the team. Slugified and unique across all teams on Monta.

Example: mvv-energie-042
​object · required

The address where the team is located

​object · required

The currency assigned for this team

type
​string · enum · required

Type of the team

Enum values:
private
professional
operator
Example: personal
userId
​integer · int64 · required

Id of the user that owns this team

Example: 1
isFrozen
​boolean · required

Whether the team is frozen or not

Example: false
createdAt
​string · date-time · required

Creation date of this team

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string · date-time · required

Update date of this team

Example: 2022-05-12T16:56:45.99Z
paymentMethod
​string · enum · required

The team's billing method (for example source or invoice). This does not indicate whether a saved card exists; use hasPaymentCard and paymentMethods for saved payment methods.

Enum values:
invoice
operator_transaction
source
unknown
Example: invoice
email
​string | null

Email of the team that will receive team communications. Named "contact email" in the creation/update APIs.

Example: email@it.com
financeEmail
​string | null

Finance email of the team that will receive finance related emails

Example: email@it.com
financeCommunicationEmail
​string | null

Recipient for important payment notices (late payment, freeze warning, frozen). When not set, these go to financeEmail.

Example: billing_notices@monta.com
legalEmail
​string | null

Legal email of the team (certified e-mail)

Example: email@it.com
externalId
​string | null

External id of the team

Example: 123-ABC
​object | null

Custom fields of this entity, managed by you: a flat map of string keys (1-64 characters, no : or ,) to string values (up to 256 characters), at most 20 pairs. Fields are scoped to your operator and never visible to other operators. externalId is the same value as the deprecated partnerExternalId.

Example: {"externalId":"crm-4711","costCenter":"DK-OPS-12"}
recipientCode
​string | null

The recipient code used for e-invoicing

Example: my-team-123
companyName
​string | null

The company name for the given team

Example: Housing XYZ
taxIdentificationNumber
​string | null

The tax identification number for the given team

Example: 123456789
vatNumber
​string | null

The VAT number for the given team

Example: DE123456789
companyRegistrationNumber
​string | null

The company registration number for the team

Example: 13585628
​object

The operator to this team is associated

​object

Category of the team. Set it with category on team create and patch.

frozenReason
​string | null

Team freezing reason

Example: removed team
featureGroupId
​integer | null · int64

Feature group id assigned to team

Example: 1
frozenAt
​string | null · date-time

Frozen date of this team

Example: 2022-05-12T16:56:45.99Z
blockedAt
​string | null · date-time

Blocked date of this team

Example: 2022-05-12T15:56:45.99Z
deletedAt
​string | null · date-time

The deleted date of this team

Example: 2022-05-12T16:56:45.99Z
​object

The invoice request associated with this team, if any. This is only available for teams that have set payment method as an invoice.

themeId
​integer | null · int64

The theme id associated with the team.

Example: 1

Tags associated with this team

​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Returned on the single-team read.

​object

The app-onboarding welcome-screen text override. Returned on the single-team read; null when never configured (Monta's default copy is shown).

autoWithdrawEnabled
​boolean

Whether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw (see the team settings), but legacy teams can have both set, so check invoiceWithdraw as well.

Example: true
autoWithdrawNextAt
​string | null · date-time

When the next automatic withdrawal is due; null when automatic withdrawal is off. A payout only happens when the team also has a bank account, is not frozen and has enough balance.

Example: 2026-11-01T00:00:00Z
hasPaymentCard
​boolean | null

Whether this team has at least one saved card, including expired cards. Check paymentMethods[].expired to determine whether a saved card is still valid. Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.

Example: true
​array | null

Saved payment method summaries (brand, last four digits, expiry). Only returned on the single team read, and only when the consumer also has the wallet-transactions:read scope. Always null on team lists; null when the lookup failed.

TeamAutoWithdrawalOutcome

string · enum
Enum values:
enabled
already-on
no-bank-account
invoice-withdraw-conflict
ineligible
disabled
already-off
not-yours

What happened to one team:
- enabled: switched on; if the bank-account lookup failed, reason is bank-account-unknown.
- already-on: already on; nothing changed and the next withdrawal date is kept.
- no-bank-account: switched on, but no payout happens until the team adds a bank account.
- invoice-withdraw-conflict: not switched on, because invoice withdrawal is on for the team.
- ineligible: not switched on; reason says why.
- disabled: switched off.
- already-off: already off; nothing changed.
- not-yours: not changed, because the team moved to another operator while the request ran.
- failed: not changed; reason says why, and retrying is safe.

TeamAutoWithdrawalReason

string · enum
Enum values:
personal-team
frozen
invoiced-team
no-operator
bank-account-unknown
unexpected-error
not-attempted

Why a team got its result:
- personal-team, frozen, invoiced-team (the team pays by invoice), no-operator: the team is ineligible.
- bank-account-unknown: the team is enabled, but whether it has a bank account could not be checked.
- unexpected-error: the team failed because of an unexpected error.
- not-attempted: the team failed because the request ran out of time before reaching it; nothing changed, so send it again.

TeamAutoWithdrawalResult

teamId
​integer · int64 · required

The team the result refers to.

Example: 266672
result
​string · enum · required

What happened to the team.

Enum values:
enabled
already-on
no-bank-account
invoice-withdraw-conflict
ineligible
disabled
already-off
not-yours
Example: enabled
reason
​string · enum · required

Why the team got this result. Always set for ineligible and failed, can be bank-account-unknown for enabled, and null otherwise.

Enum values:
personal-team
frozen
invoiced-team
no-operator
bank-account-unknown
unexpected-error
not-attempted
Example: personal-team
autoWithdrawNextAt
​string | null · date-time · required

When the next automatic withdrawal is due. Set for enabled, no-bank-account and already-on (the existing date, unchanged), null otherwise.

Example: 2026-11-01T00:00:00Z

TeamAutoWithdrawalSummary

requested
​integer · int32 · required

Number of teams in the request.

Example: 4
enabled
​integer · int32 · required

Teams switched on (enabled), including those whose bank-account lookup failed (reason bank-account-unknown).

Example: 1
alreadyOn
​integer · int32 · required

Teams that were already on (already-on).

Example: 1
noBankAccount
​integer · int32 · required

Teams switched on that have no bank account yet (no-bank-account).

Example: 0
invoiceWithdrawConflict
​integer · int32 · required

Teams not switched on because invoice withdrawal is on (invoice-withdraw-conflict).

Example: 0
ineligible
​integer · int32 · required

Teams that cannot use automatic withdrawal (ineligible).

Example: 1
disabled
​integer · int32 · required

Teams switched off (disabled).

Example: 0
alreadyOff
​integer · int32 · required

Teams that were already off (already-off).

Example: 0
notYours
​integer · int32 · required

Teams that left the caller's operator while the request ran (not-yours).

Example: 0
failed
​integer · int32 · required

Teams that could not be changed because of an unexpected error (failed).

Example: 1

TeamDto.TeamAddressDto

address1
​string | null

First line of address

Example: Strandboulevarden 122
address2
​string | null

Second line of address

Example: København
address3
​string | null

Third line of address

Example: 5. sal
city
​string | null

The address city

Example: Berlin
province
​string | null

The address province

Example: Lombardy
countrySubdivisionCode
​string | null

ISO 3166-2 country subdivision code

Example: US-GA
zipCode
​string | null

The address zip code

Example: 10011
countryId
​integer · int64

The address country

Example: 1

TeamDto.TeamCategoryDto

identifier
​string · required

Category identifier, one of: home, housing-association, cpo, parking, hotel, fleet, company, priced-by-site-owner.

Example: cpo
name
​string · required

Category name

Example: Charge Point Operator

TeamDto.TeamTagDto

name
​string · required

Tag identifier

Example: cpo
id
​integer · int64

Tag id

Example: 1

TeamEvseGridStatusV2Response

id
​integer · int64 · required
name
​string · required
isSubscribed
​boolean · required
status
​ChargePointGridSubscriptionStatus · enum · required
Enum values:
UNKNOWN
OPEN
BETA
OPEN_BETA
OPEN_FOR_REGISTER
REGISTER_ONLY
SUBSCRIBED
SUBSCRIBED_BETA
teamId
​integer | null · int64
identity
​string | null
brandName
​string | null
modelName
​string | null
modelImageUrl
​string | null
ctClamps
​boolean | null
solarCharge
​boolean | null
statusLabel
​string | null

TeamGridBulkFailure

chargePointId
​integer · int64 · required
errorCode
​string · required
message
​string · required

TeamGridBulkResult

​ChargePointGridV2Response[] · required
​TeamGridBulkFailure[] · required

TeamGridStatusV2Response

subscribedCount
​integer · int32 · required
totalCount
​integer · int32 · required
isSubscribed
​boolean · required
name
​string · required
title
​string · required
description
​string · required
subscribedCountText
​string · required
subscribeCta
​string · required
unsubscribeCta
​string · required
unsubscribeDialogTitle
​string · required
unsubscribeDialogBody
​string · required
unsubscribeDialogConfirm
​string · required
terms
​string | null
termsAgreement
​string | null
smartMeterConsentTitle
​string | null
smartMeterConsentText
​string | null
smartMeterConsentAgreement
​string | null
infoUrl
​string | null

TeamMember

id
​integer · int64 · required

Id of the team member

Example: 1
role
​string · enum · required

Role of the this member within the team

Enum values:
admin
user
other
Example: admin
access
​string · enum · required

Indicates if the user has access to all charge points or only to selected charge points

Enum values:
all
selected
other
Example: all
state
​string · enum · required

State of the invitation

Enum values:
requested
invited
rejected
accepted
blocked
expired
other
Example: accepted
chargePointIds
​integer[] · required

The charge points ids this team member has access

canPayForChargesCountryIds
​integer[] · required

List of country ids for which the team member can pay for charges

Example: [1,2,3]
teamWalletChargePaymentType
​TeamWalletChargePaymentType · enum · required

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
teamId
​integer · int64

Team id of team member

Example: 42
displayName
​string | null

The team member display name, formats can be: First and Last Name, User: #id, email, or phone

Example: Casper Rasmussen
​object

Operator of this team member

partnerExternalTeamId
​string | null

The partner external id for the team

Example: A1B2C3BE3121
teamType
​string · enum

Type of the team this member belongs to

Enum values:
personal
private
professional
operator
Example: private
userId
​integer | null · int64

User id of team member. If the user does not exist yet, it will be null

Example: 1
email
​string | null

Email of the team member

Example: example@monta.com
phone
​string | null

Phone number of the team member

Example: +4512345678
note
​string | null

Note for team member

Example: A Note
invitedAt
​string | null · date-time

Date of team member was invited to join the team

Example: 2022-05-12T15:56:45.99Z
invitedBy
​string | null

Email of the team member that invited this team member

Example: example@monta.com
acceptedAt
​string | null · date-time

Date of team member accepted the invitation

Example: 2022-05-12T15:56:45.99Z
acceptedBy
​string | null

Email of the team member that accepted the invitation

Example: example@monta.com
rejectedAt
​string | null · date-time

Date of team member rejected the invitation

Example: 2022-05-12T15:56:45.99Z
createdAt
​string | null · date-time

Date the team member was created

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date the team member was updated

Example: 2022-05-12T16:56:45.99Z
deletedAt
​string | null · date-time

Date the team member was deleted

Example: 2022-05-12T16:56:45.99Z
priceGroupId
​integer | null · int64

The price group for this team member

Example: 1
costGroupId
​integer | null · int64

The cost group for this team member

Example: 1
costCenterId
​integer | null · int64

The cost center assigned to this team member. null when none is assigned, and always null while the invitation is still pending.

Example: 1
teamMemberProfileId
​integer | null · int64

The team member profile id to apply to this team member

Example: 1
canConfigureChargePoints
​boolean

Indicates if the team member can configure charge points

Example: false
Default: false
canPayWithTeamWallet
​boolean

Indicates if the team member can pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canManageTeamWallet
​boolean

Indicates if team member has access to withdraw and deposit from your team wallet to your bank account

Example: false
Default: false
canDepositToWallet
​boolean | null

Indicates if team member can deposit to team wallet

canWithdrawFromWallet
​boolean | null

Indicates if team member can withdraw from team wallet

canManageChargeKeys
​boolean | null

Indicates if team member can manage charge keys for the team

canRequestSponsoring
​boolean

Indicates if the team member is allowed to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean

Indicates that the team member can view and manage other members settings

Example: false
Default: false
partnerExternalId
​string | null

External Id of this entity, managed by you

Example: ACME-12345
​object | null

Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.

Example: {"internalId":"ACME-12345","department":"Fleet"}
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse this team member for home charging. null means the employee's own cost price group is cloned at SCP creation time.

Example: 1
autoApproveElectricityCost
​boolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for this team member.

Example: false
Default: false
reimbursementEnabled
​boolean

Master switch — whether the team member participates in home reimbursement. Gates auto-creation of sponsored charge points on acceptance and on charge-point install.

Example: false
Default: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for this team member.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean

Whether the operator reimburses the charge-point subscription price for this team member.

Example: false
Default: false

TeamMemberAccess

string · enum
Enum values:
all
selected

TeamMemberAccess_1

string · enum
Enum values:
all
selected
other

definitions:

  • all - Indicates the team member has access all the team's charge points.
  • selected - Indicates the team member has only access to the selected charge points.
  • other - Fallback value, Indicates a new type was added but is not mapped/unknown on this API yet.

TeamMemberFeeDto

name
​string · required

Name of the member fee.

Example: Standard monthly fee
monthlyPrice
​number · required

Monthly price charged per member, in the team's currency.

Example: 5.67
id
​integer · int64

Unique identifier of the member fee.

Example: 1
teamId
​integer · int64

Identifier of the team this fee belongs to.

Example: 42
memberCount
​integer · int64

Number of team members currently assigned to this fee.

Example: 12
createdAt
​string | null

Creation timestamp (ISO 8601).

Example: 2024-01-01T12:00:00Z
updatedAt
​string | null

Last update timestamp (ISO 8601).

Example: 2024-01-01T12:00:00Z

TeamMemberProfile

id
​integer · int64 · required

Id of the team member profile

Example: 1
name
​string · required

The team member profile name

Example: Example profile 1
role
​string · enum · required

Role of the this team member profile

Enum values:
admin
user
other
Example: admin
teamWalletChargePaymentType
​TeamWalletChargePaymentType · enum · required

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none
Example: none
Default: none
teamId
​integer · int64

Team id of team member profile

Example: 42
description
​string | null

The team member profile description

Example: description
priceGroupId
​integer | null · int64

The price group for this team member profile

Example: 1
costGroupId
​integer | null · int64

The cost group for this team member profile

Example: 1
canPayWithTeamWallet
​boolean

Indicates if the team member profile gives access to pay with the team wallet in the Monta shop (e.g. charge keys, stickers). Team wallet payment for charging sessions is controlled by teamWalletChargePaymentType

Example: false
Default: false
canManageTeamWallet
​boolean

Indicates if team member profile has access to withdraw and deposit from your team wallet to your bank account

Example: false
Default: false
canDepositToWallet
​boolean | null

Indicates if team member profile can deposit to team wallet

canWithdrawFromWallet
​boolean | null

Indicates if team member profile can withdraw from team wallet

canManageChargeKeys
​boolean | null

Indicates if team member profile can manage charge keys for the team

canRequestSponsoring
​boolean

Indicates if the team member profile is allowed to request sponsoring from this team for their charge point

Example: false
Default: false
canManageTeamMembers
​boolean

Indicates that the team member profile can view and manage other members settings

Example: false
Default: false
canConfigureChargePoints
​boolean

Indicates that the team member profile can configure charge points

Example: false
Default: false
canPayForChargesCountryIds
​array | null

List of country ids for which the team member can pay for charges

Example: [1,2,3]
​object

Operator of this team member

createdAt
​string | null · date-time

Date the team member profile was created

Example: 2022-05-12T15:56:45.99Z
updatedAt
​string | null · date-time

Date the team member profile was updated

Example: 2022-05-12T16:56:45.99Z
deletedAt
​string | null · date-time

Date the team member profile was deleted

Example: 2022-05-12T16:56:45.99Z
kwhPriceCapAc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on AC.

Example: 2.5
kwhPriceCapDc
​number | null

Maximum price per kWh in the team currency that the team will cover when charging on DC.

Example: 5
sponsoredPriceGroupId
​integer | null · int64

Price group used to reimburse members in this profile for home charging. null means the employee's own cost price group is cloned at SCP creation time.

Example: 1
autoApproveElectricityCost
​boolean

When true, employee-submitted electricity costs are auto-approved for SCPs created for members in this profile.

Example: false
Default: false
reimbursementEnabled
​boolean

Master switch — whether members in this profile participate in home reimbursement.

Example: false
Default: false
reimbursementPayoutSchedule
​string · enum

Default payout schedule applied to sponsored charge points created for members in this profile.

Enum values:
end-of-month
realtime
other
Example: end-of-month
reimbursementSubscription
​boolean

Whether the operator reimburses the charge-point subscription price for members in this profile.

Example: false
Default: false

TeamMemberRole

string · enum
Enum values:
admin
user
other

TeamMemberState

string · enum
Enum values:
requested
invited
accepted
rejected_at
blocked
expired

TeamMemberState_1

string · enum
Enum values:
requested
invited
rejected
accepted
blocked
expired
other

TeamOnboardingResult

status
​string | object · enum · required

Whether the onboarding steps were applied to this team.

Enum values:
UPDATED
FAILED
Example: UPDATED
teamId
​integer · int64

The team the outcome refers to.

Example: 266672
error
​string | null

Reason the team failed, absent when the status is UPDATED.

Example: Operator has no access to this team.

TeamOnboardingStatus

string · enum
Enum values:
UPDATED
FAILED

TeamOrOperator

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: identifier, name
type = object · requires: publicName
Properties for Variant 1:
name
​string · required

Name of operator

Example: Monta
identifier
​string · required

Identifier of operator

Example: monta
id
​integer · int64

ID of the operator

Example: 14
partnerId
​integer | null · int64

Id of the partner

Example: 1
vatNumber
​string | null

VAT number

Example: FOO-123-ABC

TeamPaymentMethod

string · enum
Enum values:
invoice
operator_transaction
source
unknown

TeamPaymentMethod.Creatable

string · enum
Enum values:
invoice
operator_transaction
source

TeamSettings

teamId
​integer · int64 · required

Id of the team these settings belong to

Example: 12
invoiceWithdraw
​boolean · required

Whether team balance is withdrawn via invoice. Mutually exclusive with autoWithdrawEnabled.

Example: true
joinCode
​string · required

Code used to join the team

Example: ABC123
selfRegisterChargeKeys
​boolean · required

Whether members can self-register charge keys for this team

Example: true
autoAcceptInvitationRequests
​boolean · required

Whether team join requests are accepted automatically

Example: false
autoGenerateChargePointGroups
​boolean · required

Whether charge point groups are generated automatically for the team

Example: false
showMembersOnApp
​boolean · required

Whether team members are shown in the app

Example: true
customerType
​string | null

Customer type of the team

Example: FLEET_DRIVER
invoicePeriod
​string | null

Invoicing period for the team

Example: monthly
invoiceDestinationCode
​string | null

Destination code used on team invoices

Example: DK12345
poNumber
​string | null

Purchase order number applied to team invoices

Example: PO-123
eanNumber
​string | null

EAN/CIF number of the team

Example: 5790000000000
partnerExternalId
​string | null

External id assigned to the team by the partner

Example: partner-team-1
inventoryOnlyChargeKeys
​boolean

Whether the team is restricted to only charge keys that are in the operator inventory

Example: true
​array | null

The onboarding steps enabled for the team, as {step, config?, displayMode?} entries. Absent unless the feature is enabled for the operator.

onboardingProfileId
​integer | null · int64

The onboarding profile the team is locked to; null when its steps are set directly.

Example: 12
​object

The app-onboarding welcome-screen text override; null when never configured (Monta's default copy is shown). Absent unless the feature is enabled for the operator.

autoWithdrawEnabled
​boolean

Whether automatic bank withdrawal is on for the team (equivalent to autoWithdrawNextAt being set). Mutually exclusive with invoiceWithdraw, but legacy teams can have both set, so check invoiceWithdraw as well. Change it with autoWithdraw on PATCH /teams/{id}.

Example: true
autoWithdrawNextAt
​string | null · date-time

When the next automatic withdrawal is due; null when automatic withdrawal is off.

Example: 2026-11-01T00:00:00Z

TeamType

string · enum
Enum values:
personal
private
professional
operator

TeamType.Creatable

string · enum
Enum values:
private
professional
operator

TeamWalletChargePaymentType

string · enum
Enum values:
partner
operator
all
team
team_and_parent
selected_operators
none

On which chargers is the team member allowed to pay with Team Wallet?

* all - On any charger (including roaming chargers)
* partner - On chargers with the same partner as this team
* operator - On chargers with the same operator as this team
* team - On chargers belonging to this team
* team_and_parent - Own and parent account's chargers; no public or roaming
* selected_operators - On chargers from selected operators
* none - The team member is not allowed to pay with Team Wallet for any charge session

Example: none
Default: none

ThemeCreate

name
​string · minLength: 1 · required

Name of the theme

Example: Brand A
app_primary_color
​string · minLength: 1 · required

Primary colour for the app

Example: #1A1A1A
app_secondary_color
​string · minLength: 1 · required

Secondary colour for the app

Example: #FFFFFF
portal_primary_color
​string · minLength: 1 · required

Primary colour for the portal

Example: #1A1A1A
portal_secondary_color
​string · minLength: 1 · required

Secondary colour for the portal

Example: #FFFFFF
app_image
​string · minLength: 1 · maxLength: 6000000 · required

App logo as a base64-encoded data URL. Allowed MIME types: image/png, image/jpeg, image/svg+xml. Max 4 MB.

Example: data:image/png;base64,iVBORw0KGgo...
portal_image
​string · minLength: 1 · maxLength: 6000000 · required

Portal logo as a base64-encoded data URL.

Example: data:image/png;base64,iVBORw0KGgo...
portal_fav_icon
​string · minLength: 1 · maxLength: 6000000 · required

Portal favicon as a base64-encoded data URL.

Example: data:image/png;base64,iVBORw0KGgo...
default
​boolean
sidebar_theming_enabled
​boolean

Whether sidebar theming is enabled

Example: false

ThemeDto

name
​string · required

Name of the theme

Example: Custom Theme
title
​string · required

Title of the theme formatted with operator name

Example: Operator Custom Theme
primaryColor
​string · required

Primary color in HEX format

Example: #FF5733
secondaryColor
​string · required

Secondary color in HEX format

Example: #FF5733
logoUrl
​string · required

Url of the logo image

Example: https://example.com/logo.png
favIconUrl
​string · required

Url of the favicon image

Example: https://example.com/favicon.png
​object · required

Operator associated with the theme

id
​integer · int64

Unique identifier of the theme

Example: 1

ThemeOperatorDto

identifier
​string · required

Operator identifier

Example: operator-1
id
​integer · int64

Operator id

Example: 1
themingEnabled
​boolean

Indicates if theming is enabled for the operator

Example: true

ThemeUpdate

name
​string | null

Name of the theme

default
​boolean | null
sidebar_theming_enabled
​boolean | null

Whether sidebar theming is enabled

app_primary_color
​string | null

Primary colour for the app

app_secondary_color
​string | null

Secondary colour for the app

portal_primary_color
​string | null

Primary colour for the portal

portal_secondary_color
​string | null

Secondary colour for the portal

app_image
​string | null · maxLength: 6000000

Replacement app logo as a base64-encoded data URL

portal_image
​string | null · maxLength: 6000000

Replacement portal logo as a base64-encoded data URL

portal_fav_icon
​string | null · maxLength: 6000000

Replacement portal favicon as a base64-encoded data URL

ThirdPartyIntegrationStatusDto

Status of a single third-party integration
enabled
​boolean

Whether the integration is currently connected

Example: true

ThirdPartyIntegrationsDto

Status of third-party integrations for the calling operator
​object · required

AllStar integration status

TimePeriod

date
​string · date-time · required

Date for the statistics

Example: 2024-03-30T00:00:00Z
​Performance[] · required

Performance metrics for the day

Token

accessToken
​string · required

Access token, required to interact with our endpoints.

Example: 5a6d4da1-6af3-420b-9c15-6ecb5f6de199
refreshToken
​string · required

Refresh token, required to get a new access token.

Example: 83b766d4-476e-4dd1-b11e-f57e856c890d
accessTokenExpirationDate
​string · date-time · required

Expiration date of access token (1 hour)

Example: 2022-05-11T07:03:04.675035Z
refreshTokenExpirationDate
​string · date-time · required

Expiration date of refresh token (24 hours)

Example: 2023-05-12T07:03:04.675055Z

UpdateAutoStart

Request body for changing auto-start state
state
​string · enum · required

Desired auto-start state. on enables instant-start, off disables.

Enum values:
on
off
Example: on

UpdateBankAccount

type
​string · enum · minLength: 1 · required

Which set of fields identifies the account.

iban requires iban. swift requires swift. bsb requires bsb. sort_account requires sortCode and accountNumber. routing_account requires routingNumber, accountNumber and accountType. local_canadian requires institutionNumber, transitNumber and accountNumber. emirates requires iban.

Enum values:
iban
swift
bsb
sort_account
routing_account
local_canadian
emirates
Example: iban
name
​string | null

Name of the bank account

Example: Primary account
iban
​string | null

IBAN of the bank account. Validated against its check digits.

Example: DK5000400440116243
swift
​string | null

SWIFT/BIC of the bank account

Example: IIIGGB22
bsb
​string | null

BSB number of the bank account (Australia)

Example: 805050
sortCode
​string | null

Sort code of the bank account (United Kingdom)

Example: 12-34-56
accountNumber
​string | null

Account number of the bank account

Example: 654318465131864
routingNumber
​string | null

Routing number of the bank account (United States)

Example: 123456789
accountType
​string | null · enum

Account type, required with receive option routing_account

Enum values:
checking
savings
Example: checking
transitNumber
​string | null

Transit number of the bank account (Canada, 5 digits)

Example: 12345
institutionNumber
​string | null

Institution number of the bank account (Canada, 3 digits)

Example: 001

UpdateChangeLogComment

comment
​string · minLength: 1 · maxLength: 1000 · required

UpdateChargePointPublishSettings

Update payload for charge point publish settings.
identifier
​string | null · maxLength: 255

Public identifier (kept stable when omitted).

Example: abc123-uuid
enabled
​boolean | null

Toggle the public web link on or off. When omitted, the current value is preserved.

Example: true

UpdateChargingRule

name
​string · required

Name of the charging rule

Example: Smart charging rule
type
​string · enum · required

The type of the charging rule

Enum values:
smart_charge
scheduled
instant
Example: smart_charge
isActive
​boolean · required

Indicates if this rule is active

Example: true
isSponsored
​boolean · required

Indicates if the charge is sponsored

Example: true
​object · required

The settings of the charging rule, depending on the type of the rule

vehicleId
​integer | null · int64

Vehicle id of the vehicle this rule applies to

Example: 123

UpdateEvseRequest

updateExternalPowerLimit
​boolean · required
phaseSetup
​string | null
minCurrentA
​number | null · double
maxCurrentA
​number | null · double
maxPowerW
​number | null · double
minPowerW
​number | null · double
zeroAllowed
​boolean | null
loadManagementDisabled
​boolean | null
externalPowerLimitW
​number | null · double
externalPowerLimitExpiresAt
​string | null · date-time
​object

UpdateInstallerJobChargePointDto

serialNumber
​string | null

Serial number to set on the charge point. Mutually exclusive with note and isActive.

Example: SN-1234
connector
​integer | null · int32

Connector id to set on the charge point. Mutually exclusive with note and isActive.

Example: 1
note
​string | null

Operator note for the charge point. Mutually exclusive with serialNumber, connector and isActive.

Example: Mounted on the north wall
isActive
​boolean | null

Activate or deactivate the charge point. Mutually exclusive with serialNumber, connector and note.

Example: true

UpdateLocalPaymentTerminalDto

payingTeamId
​integer · int64 · min: 1 · required
idTag
​string · minLength: 1 · required
idTagPrefix
​boolean · required
name
​string · minLength: 1 · required
priceLimit
​number | null · min: 0

UpdateNodeRequest

name
​string | null
fuseLimitA
​number | null · double
powerLimitW
​number | null · double
​array | null
bufferA
​number | null · double
maxExpectedResidualCurrentA
​number | null · double
maxExpectedResidualPowerW
​number | null · double

UpdateOperatorList

name
​string · minLength: 1 · maxLength: 255 · required

New name for the operator list.

Example: VIP customers
description
​string | null · maxLength: 65535

New description for the operator list.

Example: Customers eligible for discounted charging
syncMode
​string · enum

New reconciliation mode for a FILTER list. Only AUTO is supported. Ignored for a manual list.

Enum values:
MANUAL
AUTO
Example: AUTO
​object | null

New filter definition for a FILTER list (charge-point lists only). A list's source is immutable, so this may only be set on a list that is already FILTER-source.

UpdateOperatorListItems

action
​string · enum · required

Whether to add the provided items to the list or remove them from it.

Enum values:
add
remove
Example: add
​OperatorListItemRef[] · minItems: 1 · maxItems: 500 · required

The items to add or remove. All entity ids must belong to your operator's scope.

UpdateOperatorTeam

operatorTeam
​boolean · required

Whether this team should be marked as an operator team. Operator teams have special privileges within the platform, such as managing charge points and infrastructure.

Example: true

UpdatePowerLimitScheduleRequest

​PowerLimitScheduleItem[] · required

UpdateProfileMembersAction

string · enum
Enum values:
add
remove

Action to perform on team members in the profile
* add - Add team members to the profile
* remove - Remove team members from the profile

Example: add

UpdateProfileMembersDto

action
​UpdateProfileMembersAction · enum · required

Action to perform on team members in the profile
* add - Add team members to the profile
* remove - Remove team members from the profile

Enum values:
add
remove
Example: add
team_member_ids
​array | null · maxItems: 500

UpdatePromotionCode

name
​string | null

Name of the promotion code

Example: Summer Sale
code
​string | null · pattern: ^[a-z0-9]+(?:-[a-z0-…

Unique code string. Cannot be changed once used. Must be lowercase alphanumeric, optionally hyphen-separated.

Example: summer-2025
description
​string | null

Description of the promotion code

Example: 25% off all charges this summer
amount
​number | null · double · min: 0.1 · max: 100

Discount amount or percentage. Cannot be changed once the code has been used.

Example: 25
maxUsesCount
​integer | null · int32 · min: 1

Maximum number of times the code can be used

Example: 100
startAt
​string | null · date-time

When the promotion code becomes active (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
endAt
​string | null · date-time

When the promotion code expires (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2022-05-22T09:30:03Z
maxDiscountAmount
​number | null · min: 0.01 · max: 999999.99

Cap on the total discount a single driver can accumulate from this code. Once a driver reaches it the code stops discounting for them; the code stays usable for everyone else. Ignored for credit. Omit to leave unchanged.

Example: 500
selectedTeamIds
​array | null

Team IDs the promotion code is restricted to. Pass an empty array to clear restrictions.

Example: [1,2,3]
amountKwh
​number | null · min: 0.01

kWh allowance the discount covers per budget period. Ignored for credit, and must be enabled for your operator.

Example: 300
budgetPeriodType
​string | null · pattern: calendar-month

Reset window for the kWh allowance; calendar-month resets on the 1st, null means a lifetime cap. Ignored for credit.

Example: calendar-month
includeHomeCharging
​boolean | null

Whether the kWh allowance also covers charge points owned by the subscribing team, so home charging draws on the same allowance as public charging.

Example: true
selectedListIds
​array | null

List IDs the promotion code is restricted to. Pass an empty array to clear restrictions.

Example: [1,2,3]
maxChargeUsesCount
​integer | null · int32 · min: 1 · max: 10000

Max charges per driver eligible for the discount after redeeming. Omit to leave unchanged.

Example: 3

UpdateRevenueShareAgreement

endedAt
​string | null · date-time

When the agreement ended.

startedAt
​string | null · date-time

When the agreement started.

attributionSourceTeamId
​integer | null · int64

Optional id of the team charges are attributed to.

UpdateRevenueSharePolicy

name
​string | null · pattern: .*\S.*

Human-readable name.

description
​string | null

Optional internal description.

policyValue
​number | null · min: 0

The share value.

moneyFlow
​string · enum

How the settled share reaches the recipient.

Enum values:
wallet_live
wallet_monthly
external
validFrom
​string | null · date-time

Start of the validity window.

validTo
​string | null · date-time

End of the validity window.

UpdateRfidChargeIntentRequest

​ScheduleOverride[] · required
type
​string · enum
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
departureTime
​string | null · partial-time
​object

UpdateSchedule

name
​string | null · minLength: 1 · maxLength: 255

Name of the schedule.

Example: Weekday Hours
price_group_id
​integer | null · int64

Id of the default price group applied during scheduled windows.

Example: 99
visibility
​string · enum

Default visibility for charge points in this schedule.

Enum values:
private
public
Example: public
timezone
​string | null · minLength: 1 · maxLength: 255

Timezone for interpreting the schedule entry times.

Example: Europe/Copenhagen
selected_charge_point_ids
​array | null

Replaces the set of charge points assigned to this schedule. Omit to leave unchanged.

selected_site_ids
​array | null

Replaces the set of sites assigned to this schedule. Omit to leave unchanged.

​array | null

Replaces the schedule entries. Omit to leave unchanged.

UpdateScheduleEntry

day_of_week
​string · enum · required

Day of week this entry applies to.

Enum values:
mon
tue
wed
thu
fri
sat
sun
Example: mon
from
​string · minLength: 1 · required

Start time of this entry (HH:mm or HH:mm:ss).

Example: 08:00:00
to
​string · minLength: 1 · required

End time of this entry (HH:mm or HH:mm:ss).

Example: 18:00:00
id
​integer | null · int64

Id of an existing entry to update. Omit to create a new entry.

Example: 12
visibility
​string · enum

Visibility override for this time window.

Enum values:
private
public
Example: public
price_group_id
​integer | null · int64

Price group override for this time window.

Example: 42

UpdateSiteConfigRequest

countryArea
​string | null
timeZoneId
​string | null
​object
defaultBatteryCapacityKwh
​number | null · double
rampUpProtectionEnabled
​boolean | null
gridConnectionType
​string · enum
Enum values:
THREE_PHASE_230_400V
THREE_PHASE_277_480V
SPLIT_PHASE_120_240V
vehicleAwareRampUpDurationSeconds
​number | null · double · min: 0 · max: 3600
subPrioritization
​string · enum

NONE is deprecated, use EQUAL_SHARE.

Enum values:
NONE
EQUAL_SHARE
ARRIVAL_TIME
topUpEnabled
​boolean | null
dcChargingEfficiencyFactor
​number | null · double · min: 0 · max: 1
appSmartChargeOverrideEnabled
​boolean | null
optimizerVersion
​integer | null · int32

UpdateSiteRequest

name
​string | null
​object
topNodeFuseLimitA
​number | null · double
teamId
​integer | null · int64
comment
​string | null

UpdateSolarPanelRequest

externalId
​string | null
latitude
​number | null · double
longitude
​number | null · double
declination
​number | null · double
azimuth
​number | null · double
peakProductionKw
​number | null · double

UpdateSubscription

discountPercentage
​number · min: 0 · required

Percentage discount to set on the subscription.

discountAbsolute
​number · min: 0 · required

Absolute discount to set on the subscription.

nextPurchaseAt
​string · date-time · required

Date when the wallet will next be charged (ISO8601: yyyy-MM-ddTHH:mm:ssZ).

Example: 2025-10-22T09:30:03Z
​object

Subscription configuration, based on the plan's serviceType. Currently you can configure tax-refund subscriptions only.

UpdateTariffRequest

externalId
​string · required

external id

Example: 1
name
​string · required

Radius Elnet A/S

Example:
description
​string · required

Short description of this tariff

Example: Net tariff A high
countryId
​integer · int64 · required

Id of the country where the tariff is applicable

Example: 1
currencyId
​integer · int64 · required

Id of the currency in which the tariff is applicable

Example: 1
pricesWithVat
​boolean · required

Indication if prices are with vat

Example: true
active
​boolean · required

Indication if this tariff is active

Example: true
timeZone
​string · required

What timezone is the tariff active in

Example: Europe/Copenhagen
area
​string · required

Human description of the area the tariff is active in

Example: Fyn
countryAreaId
​integer | null · int64

Id of the country area where the tariff is applicable

Example: 1
teamId
​integer | null · int64

Team id

Example: 1
zipCodes
​array | null

Zip codes where this tariff is applicable

Example: ["2200","2100"]
tariffType
​string · enum

Dynamic or weekly

Enum values:
WEEKLY
DYNAMIC
Example: WEEKLY
customerType
​string · enum

What kind of customer types are the tariff for?

Enum values:
A_ZERO
A_HIGH
A_LOW
B_HIGH
B_LOW
C_CUSTOMER
Example: c_customer

UpdateTeamMemberFeeDto

name
​string · minLength: 1 · maxLength: 255 · required

Name of the member fee.

Example: Standard monthly fee
monthly_price
​number · min: 0 · required

Monthly price charged per member, in the team's currency.

Example: 5.67

UpdateTeamStateDto

reason
​string | null

Team freezing reason

Example: removed team

UpdateVehicle

name
​string | null

Name of the vehicle

Example: Viking Bus 42
modelId
​integer | null · int64

Id of the vehicle model. Omit or leave null to keep the existing value.

Example: 1234
teamId
​integer | null · int64

Id of the team the vehicle belongs to

Example: 100
licensePlate
​string | null

License plate of the vehicle

Example: AB12345
brand
​string | null · maxLength: 100

Manual vehicle brand name.

Example: Volvo
modelName
​string | null · maxLength: 100

Manual vehicle model name.

Example: FH Electric
vehicleType
​string | null · maxLength: 50

Vehicle type.

Example: truck
vid
​string | null · pattern: ^$|^VID:[0-9A-Fa-f]{…

VID identifier for auto-charge. Format: VID:xxxxxxxxxxxx. Send an empty string to remove the vehicle's VID.

Example: VID:001681036794

UpdateVehicleIdIntentRequest

vehicleIdTag
​string | null · pattern: .*\S.*
vehicleId
​integer | null · int64
batteryCapacityKwh
​number | null · double
type
​string · enum
Enum values:
PRICE_OPTIMIZE
CHARGE_NOW
departureTime
​string | null · partial-time
​object
​array | null

UpsertChargePointTicket

Creates or updates the reference to an external ticket on a charge point.
title
​string · minLength: 1 · maxLength: 255 · required

Title of the ticket

Example: Charge point offline
status
​string · enum · minLength: 1 · required

Status of the ticket, normalised across external systems

Enum values:
open
acknowledged
in_progress
on_hold
resolved
closed
cancelled
Example: in_progress
nativeStatus
​string | null · maxLength: 64

Status as reported by the external system

Example: IN_PROGRESS
url
​string | null · maxLength: 2048

HTTPS link to the ticket in the external system

Example: https://app.getmaintainx.com/workorders/124383489
alertId
​string | null · maxLength: 64

Id of the alert that triggered the ticket

Example: 8821
alertOpenedAt
​string | null · date-time

When the triggering alert was opened

Example: 2026-10-01T08:00:00Z
ticketCreatedAt
​string | null · date-time

When the ticket was created in the external system

Example: 2026-10-01T08:05:00Z
commentCount
​integer | null · int32

Number of comments on the ticket in the external system

Example: 3
lastCommentAt
​string | null · date-time

When the last comment was added in the external system

Example: 2026-10-01T09:30:00Z
returnedToServiceAt
​string | null · date-time

When the external system reported the charge point back in service

Example: 2026-10-01T12:00:00Z

User

id
​integer · int64 · required

Id of the user

Example: 10
firstName
​string | null

First name of the user

Example: John
lastName
​string | null

Last name of the user

Example: Doe
email
​string | null

Email of the user

Example: john.doe@example.com
legalEmail
​string | null

Legal email of the user (certified e-mail)

Example: legal@ut.com
phone
​string | null

Phone number of the user

Example: +1234567890
profileImageUrl
​string | null

URL of the profile image

Example: https://example.com/profile.jpg
​object

Address of the user

language
​string | null

Preferred language of the user

Example: en
termsReadAt
​string | null · date-time

Timestamp when the user read the terms

Example: 2023-06-21T15:03:14Z
taxIdentificationNumber
​string | null

Personal tax number if set for the user

Example: X12345678A
vatNumber
​string | null

VAT number which is the company tax id

Example: IT07643520567
recipientCode
​string | null

The recipient code used for e-invoicing

Example: 2021-10-001
createdAt
​string | null · date-time

Timestamp when the user was created

Example: 2023-06-21T15:03:14Z
updatedAt
​string | null · date-time

Timestamp when the user was last updated

Example: 2023-06-21T15:03:14Z
deletedAt
​string | null · date-time

Timestamp when the user was deleted

Example: 2023-06-21T15:03:14Z
emailVerifiedAt
​string | null · date-time

Timestamp when the email was verified

Example: 2023-06-21T15:03:14Z
phoneVerifiedAt
​string | null · date-time

Timestamp when the phone was verified

Example: 2023-06-21T15:03:14Z
marketingEmailsAcceptedAt
​string | null · date-time

Timestamp when the user accepted the marketing emails

Example: 2023-06-21T15:03:14Z
defaultTeamId
​integer | null · int64

ID of the default team for the user

Example: 10
isGuest
​boolean | null

Indicates whether this user is a guest (ad-hoc) user who has not yet completed registration

Example: false
nationalId
​string | null

National identification number. Returned only when configured per operator

Example: 123456-7890
hasPaymentCard
​boolean | null

Whether this user has at least one saved card, including expired cards. Only returned on the single user read, and only when the consumer also has the wallet-transactions:read scope. Always null on user lists; null when the lookup failed.

Example: true
hasValidPaymentCard
​boolean | null

Whether this user has at least one saved card that has not expired. Only returned on the single user read, and only when the consumer also has the wallet-transactions:read scope. Always null on user lists; null when the lookup failed.

Example: true

ValidateCodeRequestDto

code
​string · minLength: 1 · required

The promotion code to validate

Example: SUMMER2024

Vehicle

vehicleIdTag
​string · required
​ChargeIntent · required
vehicleId
​integer | null · int64
batteryCapacityKwh
​number | null · double
integrationCapacityKwh
​number | null · double
maxKwAc
​number | null · double
maxKwDc
​number | null · double

VehicleBrand

name
​string · required

Name of the vehicle brand

Example: Tesla
id
​integer · int64

Id of the vehicle brand

Example: 1
logoUrl
​string | null

URL of the brand logo

Example: https://imgix.monta.com/brands/tesla.png
integrationStatus
​string | null

Integration status of the brand. Null if no integration available, otherwise SUPPORTED or BETA

Example: SUPPORTED

VehicleConnector

name
​string · required

Name of the vehicle connector

Example: Type 2
slug
​string · required

Slug of the vehicle connector

Example: type2
id
​integer · int64

Id of the vehicle connector

Example: 1

VehicleCustomSpecification

brand
​string | null

Manually configured vehicle brand

Example: Volvo
model
​string | null

Manually configured vehicle model

Example: FH Electric
vehicleType
​string | null

Vehicle type

Example: truck

VehicleModel

​object · required

Brand of the vehicle model

model
​string · required

Model name

Example: Model 3
displayName
​string · required

Display name of the vehicle model

Example: Tesla Model 3 Long Range (2021) - 72 kWh
​VehicleConnector[] · required

List of connectors supported by this vehicle model

id
​integer · int64

Id of the vehicle model

Example: 1
variant
​string | null

Variant of the vehicle model

Example: Long Range
releaseYear
​integer | null · int32

Release year of the vehicle model

Example: 2021
pictureUrl
​string | null

URL of the vehicle model picture

Example: https://imgix.monta.com/models/tesla-model3.png
capacityKwh
​number | null · double

Battery capacity in kWh

Example: 72.5
maxKwAc
​number | null · double

Maximum AC charging power in kW

Example: 11
maxKwDc
​number | null · double

Maximum DC charging power in kW

Example: 150

VehicleUser

id
​integer · int64

Id of the user the vehicle is shared with

Example: 3
owner
​boolean

Whether this user is the owner of the vehicle

Example: true
name
​string | null

Display name of the user

Example: Jane Doe
profileImageUrl
​string | null

Profile image URL of the user

Example: https://example.com/avatar.png

Vehicle_1

id
​integer · int64

Id of the vehicle

Example: 1
teamId
​integer | null · int64

Team Id that the vehicle belongs to

Example: 2
userId
​integer | null · int64

User Id that the vehicle belongs to

Example: 3
name
​string | null

Name of the vehicle, can be customized by the user

Example: Tesla
licensePlate
​string | null

License plate of the vehicle

Example: CT88585
batteryCapacityKwh
​number | null · double

Battery capacity of the vehicle in Kwh

Example: 85
maxPowerKwAc
​number | null · double

Maximum AC charging power (in kW) that the vehicle can accept when charging via an AC charger

Example: 29
maxPowerKwDc
​number | null · double

Maximum DC charging power (in kW) that the vehicle can accept when using a DC fast charger

Example: 35.5
displayName
​string | null

Display name of the vehicle

Example: Tesla Model 3 Performance (2021) - 72 kWh
integrationId
​integer | null · int64

Id of the vehicle integration

Example: 89188
integrationStatus
​string | null

Status of the vehicle integration

Example: connected
manuallyConfiguredAt
​string | null · date-time

Timestamp when the vehicle was manually configured (null if using catalog model)

​object

Custom specification for manually configured vehicles

vid
​string | null

VID identifier for auto-charge

Example: VID:001681036794

Vehicle_2

id
​integer · int64 · required

Id of the vehicle integration

Example: 1
lastSeenAt
​string | null · date-time

Vehicle was last seen at

Example: 2025-01-12T15:56:45.91Z
vin
​string | null

Vehicle identification number

Example: 1HGCM82633A123456
odometer
​number | null · double

Odometer in Km

Example: 999991
​object

Charge state of the vehicle

​object

Location of the vehicle. It is available only if the necessary permissions have been granted and applies exclusively to team-owned vehicles, not end-user vehicles.

VerificationOutcome

string · enum
Enum values:
flagged
inconclusive
noted
verified
not_run
unknown

Whole-charge verification verdict, ordered by how much attention it demands: flagged > inconclusive > noted > verified. not_run means nothing was evaluated.

VerificationResult

id
​integer · int64 · required

Id of the verification result

Example: 1
resultKey
​string · required

Stable identifier of the detector that produced this result

Example: odometer.decreased
resultVersion
​integer · int32 · required

Version of the detector logic that produced this result. Bumped when the rule changes meaning, so older results stay interpretable.

Example: 1
category
​string · enum · required

What the detector was checking for

Enum values:
assignment
fraud
data_quality
compliance
Example: fraud
severity
​string · enum · required

How much attention the result demands

Enum values:
info
warn
critical
Example: critical
outcome
​string · enum · required

What the detector concluded for this single check

Enum values:
positive
negative
inconclusive
not_applicable
noted
Example: negative
outcomeLabel
​string · required

Human-readable label for outcome

Example: Fail
resultType
​string · enum · required

Which bucket of the roll-up this result counts towards

Enum values:
confirmation
flag
inconclusive
not_applicable
Example: flag
​object · required

Detector-specific supporting values. The shape varies per resultKey; treat as opaque. Always an object, {} when the detector recorded nothing.

detectedAt
​string · date-time · required

When the detector produced this result (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2026-05-21T12:00:00Z
headline
​string | null

One-line summary of the finding, when the detector produced one

Example: Odometer went backwards
resolvedAt
​string | null · date-time

When the result was resolved by an operator (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Null while open.

Example: 2026-05-22T08:00:00Z
resolutionNote
​string | null

Note the operator left when resolving the result

Example: Sensor glitch, confirmed by driver

VioconMeterIntegration

meterIdentifier
​string · minLength: 1 · required
timeoutSeconds
​integer · int32 · min: 1 · max: 300 · required

VisibilityType

string · enum
Enum values:
private
public

definitions:

  • private - Indicates the charge point access is private, only available to users from operator umbrella.
  • public - Indicates the charge point access is public.

VisibilityType_1

string · enum
Enum values:
private
public

Wallet

ownerType
​string · required

Type of owner: operator, team

Example: operator
id
​integer · int64

Id of the wallet

Example: 1
ownerId
​integer · int64

Id of the owner of this wallet, either a teamId or operatorId (depending on ownerType)

Example: 42
currencyId
​integer · int64

Currency of this wallet.

countryId
​integer · int64

CountryId of this wallet.

​object

Balance of this wallet, if available (not in list endpoints).

WalletDto.BalanceDto

amount
​number · double

Amount of the balance

Example: 13.77
credit
​number · double

Amount of the credit

Example: 11.77

WalletTransaction

​object · required

Currency for fromAmount.

​object · required

Currency used for toAmount.

createdAt
​string · date-time · required

Creation date of transaction

Example: 2022-04-22T09:47:05Z
group
​string · enum · required

Transaction group of this transaction

Enum values:
deposit
withdraw
charge
other
Example: withdraw
kind
​string · required

Kind of this transaction, ie 'charge-sponsored'.
Note: This is an open field and therefore more kinds will be added moving forward.

Example: charge-sponsored
state
​string · enum · required

Transaction state of this transaction

Enum values:
complete
pending
failed
reserved
other
Example: complete
id
​integer · int64

Id of the transaction

Example: 1
fromAmount
​number · double

Amount sent, incl. VAT

Example: 13.77
fromSubAmount
​number · double

Amount sent, excl. VAT

Example: 11.02
fromVatAmount
​number · double

VAT amount sent

Example: 2.75
fromType
​string | null

Type of sender: operator, team

Example: team
​object

Type of sender: operator, team

Example: team
fromWalletId
​integer | null · int64

Id of the wallet where the amount was sent from. Can be null if the transaction did not originate from a wallet.

Example: 1
toAmount
​number · double

Amount received, incl. VAT

Example: 13.77
toSubAmount
​number · double

Amount received, excl. VAT

Example: 11.02
toVatAmount
​number · double

VAT amount received

Example: 2.75
toType
​string | null

Type of receiver: operator, team

Example: operator
​object

Type of sender: operator, team

Example: team
toWalletId
​integer | null · int64

Id of the wallet where the amount was sent to. Can be null if the transaction did not target a wallet.

Example: 2
exchangeRate
​number · double

Exchange rate used for currency conversion

Example: 1
updatedAt
​string | null · date-time

Update date of transaction

Example: 2022-04-22T09:47:05Z
completedAt
​string | null · date-time

Completion date of transaction

Example: 2022-04-22T09:47:05Z
referenceId
​string | null

Reference id of this transaction. e.g the charge id

Example: referenceId
referenceType
​string · enum

Reference type of this transaction.

Enum values:
TEAM
COMPANY_REFERRAL
USER_REFERRAL
ORDER
SUBSCRIPTION_PURCHASE
CHARGE
BANK_ACCOUNT
WALLET_BANK_ACCOUNT
Example: CHARGE
vatPercentage
​number · double

VAT percentage included in this transaction.

Example: 25
note
​string | null

A note that has been entered for this transaction.

Example: Test transaction.
​object

Additional information for this transaction

WalletTransactionGroup

string · enum
Enum values:
deposit
withdraw
charge
other

WalletTransactionReferenceType

string · enum
Enum values:
TEAM
COMPANY_REFERRAL
USER_REFERRAL
ORDER
SUBSCRIPTION_PURCHASE
CHARGE
BANK_ACCOUNT
WALLET_BANK_ACCOUNT

WalletTransactionState

string · enum
Enum values:
complete
pending
failed
reserved
other

WebhookConfig

webhookUrl
​string · maxLength: 512 · pattern: https://(?!(.*monta\… · required

A HTTPS URL to send the webhook payload to when an event occurs.

Example: https://partner1.com/webhooks/monta
webhookSecret
​string · minLength: 16 · maxLength: 191 · required

A cryptoghrapic secret used to sign the webhook payload.

Example: FEC64907-DE3A-4EEB-9DA8-843D45AFF00C
eventTypes
​WebhookEntry.EventType[] · maxItems: 512 · required

A list of event types to subscribe to.

Enum values:
charges
charge-points
sites
users
team-members
teams
installer-jobs
wallet-transactions
Example: ["charges","team-members"]
​object

Custom headers to send with the webhook request. Note: Maximum of 5 headers are allowed. Must start with 'X-' (case-insensitive).

Example: {"headers":{"x-plus":"123","x-minus":"456"}}
teamIds
​array | null · maxItems: 100

An optional list of team IDs. When set, only webhook events related to charge points belonging to one of the specified teams will be delivered. If omitted or set to null, events for all teams are delivered (current behaviour).

Example: [12345,67890]

WebhookEntry

eventType
​string · enum · required
Code
Type of event this entry belongs to. Note: This is not the type of the entity (payload.EntityType), but the type of the event that you can subscribe to.
Enum values:
charges
charge-points
sites
users
team-members
teams
installer-jobs
wallet-transactions
Example: charge-points
​object · required

payload of this entry

Example: See [Charge](/reference/get-charge) payload
status
​string · enum · required

Status of the entry

Enum values:
pending
completed
failed
Example: completed
createdAt
​string · date-time · required

Creation date of this entry

Example: 2022-05-12T15:56:45.99Z
id
​integer · int64

Id of the entry

Example: 1
consumerId
​integer · int64

Id of the consumer this entry belongs to

Example: 1
operatorId
​integer · int64

Id of the operator this entry belongs to

Example: 1
​object

Contains the error message if the delivery failed

Example: {"errorCode":"500","errorMessage":"Bad Gateway: The server is unreachable at this time."}
updatedAt
​string | null · date-time

Update date of this entry

Example: 2022-05-12T16:56:45.99Z

WebhookEntry.EventType

string · enum
Enum values:
charges
charge-points
sites
users
team-members
teams
installer-jobs
wallet-transactions

WebhookEntry.Status

string · enum
Enum values:
pending
completed
failed

WebhookEntryErrorPayload

errorCode
​string | null

error code for the entry

Example: 502 Bad Gateway
errorMessage
​string | null

error message for the entry

Example: <html> <head> <title>Bad Gateway<\title> </head> <body> <p>The server is unreachable at this time.</p> </body> </html>

WebhookEntryPayload

entityType
​string · enum · required

Type of the entity

Enum values:
charge
charge-point
site
user
team
team-member
installer-job
wallet-transaction
Example: charge
eventType
​string · enum · required

Type of the event

Enum values:
created
updated
deleted
scanned
monta:ocpp:OcppRequestResponse
monta:ocpp:ChargePointConnected
monta:ocpp:ChargePointDisconnected
monta:ocpp:OcppProtocolError
Example: updated
entityId
​string | null

Id of the entity, if applicable

Example: 42
eventTime
​string | null · date-time

The timestamp indicating when the event was generated in ISO 8601 format (e.g. 2024-10-22T16:56:45.999Z)

Example: 2024-10-22T16:56:45.999Z
​object | null

payload of this entity, e.g. a full Charge object

Example: { "id": "42", "amount": 1000 }}

WebhookEntryPayload.EntityType

string · enum
Enum values:
charge
charge-point
site
user
team
team-member
installer-job
wallet-transaction

WebhookEntryReplay

ids
​array | null · minItems: 1 · maxItems: 1000

Ids of the failed entries to replay.

Example: [1,2,3]
fromDate
​string | null · date-time

Replay failed entries created at or after this time.

Example: 2026-09-22T08:00:00Z
toDate
​string | null · date-time

Replay failed entries created at or before this time.

Example: 2026-09-22T20:00:00Z
eventTypes
​array | null · minItems: 1 · maxItems: 512

Only replay failed entries of these event types.

Enum values:
charges
charge-points
sites
users
team-members
teams
installer-jobs
wallet-transactions
Example: ["charges"]

WebhookEntryReplayResult

replayed
​integer · int32

Number of failed entries queued for delivery again.

Example: 42

WelcomeEmailCounts

successCount
​integer · int32

Number of users the welcome email was sent to

Example: 2
skippedCount
​integer · int32

Number of users skipped because they already got the welcome email

Example: 0
failureCount
​integer · int32

Number of users the welcome email could not be sent to

Example: 0

WelcomeEmailItemResult

status
​string · enum · required

sent: the welcome email was queued. skipped: the user already got the welcome email, nothing was sent (see force). failed: the email was not sent, see error

Enum values:
sent
skipped
failed
Example: sent
userId
​integer · int64

Id of the requested user

Example: 12345
error
​string | null

Why the email was not sent, null when sent. USER_NOT_FOUND: the user does not exist or is not one of your users. USER_HAS_NO_EMAIL: the user has no email address. ALREADY_SENT: the user already got the welcome email. UNEXPECTED_ERROR: the email could not be queued, retry later

Example: USER_NOT_FOUND

WelcomeEmailStatus

string · enum
Enum values:
sent
skipped
failed