Monta
Monta API

Charges


Retrieve a list of charges

GET
https://partner-api.monta.com
/api/v1/charges

Required scope: charge-transactions:read
Organization authorization: supported

Pagination Limit: A maximum of 20,000 charges can be retrieved. To retrieve more data, use more specific filters, like date range filters such as fromDate, toDate, fromUpdatedDate, fromCompletedDate, or toCompletedDate.

Concurrency Limit: Only a small number of charge list requests may be in flight per consumer at a time. Further requests are rejected with 429 and errorCode CONCURRENCY_LIMIT_EXCEEDED; wait for a page to complete before requesting the next one.

Retrieve a list of charges › query Parameters

page
​integer · int32

page number to retrieve (starts with 0)

Default: 0
perPage
​integer · int32

number of items per page (between 1 and 100, default 10)

Default: 10
teamId
​integer | null · int64

Filter to retrieve charges with specified teamId
Note: Depending on the operatorRole the teamId will filter differently:
operatorRole = owner: will filter charges from charge points that are owned by the team
operatorRole = payer: will filter charges paid by team

Example: 13
operatorId
​integer | null · int64

Filter to retrieve charges with specified operatorId
*Note:*The operatorId must be in the consumer’s operatorIds or, if empty, belong to the organization’s sub-operators.
Note: When not provided and operatorRole = payer the default operator will be used for the given consumer, if the default operator cannot be assigned the request will be rejected

Example: 96
chargePointId
​integer | null · int64

Filter to retrieve charges with specified chargePointId

Example: 10
siteId
​integer | null · int64

Filter to retrieve charges with specified siteId

Example: 5
state
​string | null · enum

Filter to retrieve charges by state

Enum values:
reserved
starting
charging
stopping
paused
suspended_ev
suspended_evse
scheduled
Example: charging
fromDate
​string | null · date-time

Filter to retrieve charges where createdAt >= fromDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

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

Filter to retrieve charges where createdAt <= toDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

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

Filter to retrieve charges where updatedAt >= fromUpdatedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2025-05-01T09:30:03Z
fromCompletedDate
​string | null · date-time

Filter to retrieve charges where completedAt >= fromCompletedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2025-05-19T09:30:03Z
toCompletedDate
​string | null · date-time

Filter to retrieve charges where completedAt <= toCompletedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)

Example: 2025-05-19T09:30:03Z
chargeAuthType
​string · enum

Filter to retrieve charges by the charge authentication type, must be combined with chargeAuthId

Enum values:
rfid
vehicleId
Example: vehicleId
chargeAuthId
​string | null

Filter to retrieve charges by the charge authentication id, must be combined with chargeAuthType
Note: for type vehicleId chargeAuthId must not include the VID: prefix

Example: 38C58DB85XXX
partnerExternalId
​string | null

Filter charges by partnerExternalId, to filter only resources without partnerExternalId use partnerExternalId=""

Example: 10001
operatorRole
​string · enum

Filter to indicate the desired role to list charges
e.g owner will always deliver charges from the operator charge points
payer will deliver charges paid by the operator

Enum values:
owner
payer
Example: owner
Default: owner

Retrieve a list of charges › Responses

List of charges that match the criteria

​Charge[] · required
​MontaPage.Meta · required

Start a charge

POST
https://partner-api.monta.com
/api/v1/charges

Required scope: control-charging:write and/or control-public-charging:write
Organization authorization: supported

Start a charge › Request Body

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"}

Start a charge › Responses

Charge successfully started

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.


Retrieve a single charge

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}

Required scope: charge-transactions:read
Organization authorization: supported

Retrieve a single charge › path Parameters

chargeId
​integer · int64 · required

Retrieve a single charge › Responses

Charge with provided id

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.


Patch an existing charge

PATCH
https://partner-api.monta.com
/api/v1/charges/{chargeId}

Required scope: charges:write
Organization authorization: supported

Patch an existing charge › path Parameters

chargeId
​integer · int64 · required

Patch an existing charge › Request Body

​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"}

Patch an existing charge › Responses

Charge updated

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.


Retrieve a charge price and cost breakdown

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/breakdown

Required scope: charges:readNote: Please be aware that this endpoint is currently in the BETA phase,calculations may return slightly varying results, and the payload can change.

Retrieve a charge price and cost breakdown › path Parameters

chargeId
​integer · int64 · required

Retrieve a charge price and cost breakdown › Responses

Charge Breakdown for the given id

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


Retrieve a charge kwh consumption breakdown

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/kwh-consumption

Required scope: charges:read. Note: Only available for charges performed on a Monta-connected (via OCPP) charge point.

Retrieve a charge kwh consumption breakdown › path Parameters

chargeId
​integer · int64 · required

Retrieve a charge kwh consumption breakdown › query Parameters

consumptionPeriodSizeInSeconds
​integer | null · enum · int64

Filter to retrieve kwh consumption by a given consumptionPeriodSize interval in seconds

Enum values:
3600
1800
900
600
300
Example: 3600
Default: 3600

Retrieve a charge kwh consumption breakdown › Responses

Charge kwh consumption breakdown for the given id

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


Retrieve every odometer reading recorded for a charge

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/odometer-readings

Required scope: charge-odometer:read
Organization authorization: supported

Readings are returned oldest first. This endpoint is not paginated: a charge holds a handful of readings at most, so the full set is always returned and no page or perPage parameter is accepted.

Retrieve every odometer reading recorded for a charge › path Parameters

chargeId
​integer · int64 · required

Retrieve every odometer reading recorded for a charge › Responses

Odometer readings for the given charge, oldest first

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

Record an odometer reading for a charge

POST
https://partner-api.monta.com
/api/v1/charges/{chargeId}/odometer-readings

Required scope: charge-odometer:write
Organization authorization: supported

The reading is stored with source set to partner_api — provenance cannot be chosen by the caller. Readings are append-only evidence: implausible jumps and decreases are never rejected at write time, they are surfaced asynchronously as verification results. To correct history, record a new reading.

Record an odometer reading for a charge › path Parameters

chargeId
​integer · int64 · required

Record an odometer reading for a charge › Request Body

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

Record an odometer reading for a charge › Responses

Odometer reading recorded

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

Retrieve a single odometer reading

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/odometer-readings/{readingId}

Required scope: charge-odometer:read
Organization authorization: supported

Retrieve a single odometer reading › path Parameters

chargeId
​integer · int64 · required
readingId
​integer · int64 · required

Retrieve a single odometer reading › Responses

The odometer reading

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

Correct an odometer reading you recorded

PATCH
https://partner-api.monta.com
/api/v1/charges/{chargeId}/odometer-readings/{readingId}

Required scope: charge-odometer:write
Organization authorization: supported

Only readings with source partner_api can be corrected; readings from a vehicle integration, the driver app or the operator hub are another party's evidence and are rejected with 403. Omitted fields are left untouched, so sourceRef can be overwritten but not cleared — record a new reading instead.

Correct an odometer reading you recorded › path Parameters

chargeId
​integer · int64 · required
readingId
​integer · int64 · required

Correct an odometer reading you recorded › Request Body

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

Correct an odometer reading you recorded › Responses

Odometer reading corrected

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

Withdraw an odometer reading you recorded

DELETE
https://partner-api.monta.com
/api/v1/charges/{chargeId}/odometer-readings/{readingId}

Required scope: charge-odometer:delete
Organization authorization: supported

Only readings with source partner_api can be withdrawn; every other source is rejected with 403.

Withdraw an odometer reading you recorded › path Parameters

chargeId
​integer · int64 · required
readingId
​integer · int64 · required

Withdraw an odometer reading you recorded › Responses

Odometer reading withdrawn

No data returned

Restart or start a reserved charge

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/restart

Required scope: control-charging:write
Organization authorization: supported

Restart or start a reserved charge › path Parameters

chargeId
​integer · int64 · required

Restart or start a reserved charge › Responses

Successfully restarted charge/started reserved 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.


Stop a charge

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/stop

Required scope: control-charging:write and/or control-public-charging:write
Organization authorization: supported

Stop a charge › path Parameters

chargeId
​integer · int64 · required

Stop a charge › Responses

Successfully stopped a 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.


Retrieve the verification outcome and detector results for a charge

GET
https://partner-api.monta.com
/api/v1/charges/{chargeId}/verification

Required scope: charge-verification:read
Organization authorization: supported

not_run does not mean the charge is clean. Detectors run asynchronously after the charge completes, so a charge that has just finished legitimately reports outcome: "not_run" with zero counts and empty result arrays simply because nothing has been evaluated yet. The same value is returned when verification is disabled for the operator, or when every check turned out not to apply to the charge. Treating it as a pass will approve unverified home-charging reimbursements. Only verified means a check actually ran and passed; poll again later, or wait for the charge to settle, before acting on the verdict.

The roll-up ranks by how much attention is needed: flagged > inconclusive > noted > verified. noted carries findings the operator asked to record but does not have to answer.

Retrieve the verification outcome and detector results for a charge › path Parameters

chargeId
​integer · int64 · required

Retrieve the verification outcome and detector results for a charge › Responses

Verification roll-up and every detector result, grouped by type

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