diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/Monta.yaml b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/Monta.yaml
index 2169418b..d427426b 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/Monta.yaml
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/Monta.yaml
@@ -1,7 +1,8 @@
openapi: 3.0.1
info:
title: MONTA Partner API
- description: "\n see https://docs.partner-api.monta.com\n "
+ description: "\n see https://docs.partner-api.monta.com\n \
+ \ "
contact:
name: Partner API Support
url: https://www.monta.com/uk/contact
@@ -10,6 +11,7 @@ info:
servers:
- url: https://partner-api.monta.com
description: Production
+security: []
paths:
/api/v1/auth/me:
get:
@@ -25,7 +27,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/Consumer'
+ $ref: "#/components/schemas/Consumer"
"401":
description: Unauthorized access
content:
@@ -73,7 +75,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/Token'
+ $ref: "#/components/schemas/Token"
"401":
description: Unauthorized access
content:
@@ -120,7 +122,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/Token'
+ $ref: "#/components/schemas/Token"
"401":
description: Consumer with provided credentials was not found
content:
@@ -168,7 +170,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -176,24 +178,46 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
responses:
"200":
description: List of charge auth tokens that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargeAuthTokenDto_'
+ $ref: "#/components/schemas/MontaPage_ChargeAuthTokenDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -216,7 +240,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateChargeAuthToken'
+ $ref: "#/components/schemas/CreateChargeAuthToken"
required: true
responses:
"201":
@@ -224,7 +248,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargeAuthToken'
+ $ref: "#/components/schemas/ChargeAuthToken"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -245,16 +291,6 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-auth-tokens/{chargeAuthTokenId}:
@@ -277,17 +313,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargeAuthToken'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/ChargeAuthToken"
"404":
description: Entity with the provided id was not found
content:
@@ -300,26 +326,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
delete:
@@ -338,16 +374,6 @@ paths:
responses:
"200":
description: Deleted charge auth token successfully
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
"404":
description: Entity with the provided id was not found
content:
@@ -360,26 +386,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
patch:
@@ -399,7 +435,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/PatchChargeAuthToken'
+ $ref: "#/components/schemas/PatchChargeAuthToken"
required: true
responses:
"200":
@@ -407,7 +443,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargeAuthToken'
+ $ref: "#/components/schemas/ChargeAuthToken"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -428,16 +486,6 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-auth-tokens/{chargeAuthTokenId}/block:
@@ -460,7 +508,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargeAuthToken'
+ $ref: "#/components/schemas/ChargeAuthToken"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -481,16 +551,6 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-auth-tokens/{chargeAuthTokenId}/unblock:
@@ -513,7 +573,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargeAuthToken'
+ $ref: "#/components/schemas/ChargeAuthToken"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -534,16 +616,6 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-point-brands:
@@ -565,7 +637,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -573,35 +645,57 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
responses:
"200":
description: List of charge point brands that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargePointBrandDto_'
- "401":
- description: Unauthorized access
+ $ref: "#/components/schemas/MontaPage_ChargePointBrandDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- "400":
- description: The request is invalid
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- security:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
- BearerAccessToken: []
/api/v1/charge-point-brands/{chargePointBrandId}:
get:
@@ -622,17 +716,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePointBrand'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/ChargePointBrand"
"404":
description: Entity with the provided id was not found
content:
@@ -645,26 +729,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-point-connectors:
@@ -679,27 +773,49 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargePointConnectorDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_ChargePointConnectorDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-point-connectors/{connectorId}:
@@ -721,17 +837,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePointConnector'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/ChargePointConnector"
"404":
description: Entity with the provided id was not found
content:
@@ -744,26 +850,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-point-integrations:
@@ -781,7 +897,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -789,7 +905,7 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
- name: chargePointId
in: query
required: true
@@ -818,27 +934,49 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargePointIntegrationDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_ChargePointIntegrationDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
put:
@@ -853,7 +991,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateOrUpdateChargePointIntegration'
+ $ref: "#/components/schemas/CreateOrUpdateChargePointIntegration"
required: true
responses:
"200":
@@ -861,7 +999,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePointIntegration'
+ $ref: "#/components/schemas/ChargePointIntegration"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -882,16 +1042,6 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-point-integrations/{chargePointIntegrationId}:
@@ -914,17 +1064,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePointIntegration'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/ChargePointIntegration"
"404":
description: Entity with the provided id was not found
content:
@@ -937,26 +1077,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
delete:
@@ -975,18 +1125,8 @@ paths:
responses:
"204":
description: Charge point integration deleted
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
@@ -997,26 +1137,36 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-point-models:
@@ -1044,7 +1194,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -1052,24 +1202,46 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
responses:
"200":
description: List of charge point models that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargePointModelDto_'
+ $ref: "#/components/schemas/MontaPage_ChargePointModelDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -1101,7 +1273,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePointModel'
+ $ref: "#/components/schemas/ChargePointModel"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -1112,6 +1306,67 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/charge-point-statistics/by-charge-point:
+ get:
+ tags:
+ - Charge Point Statistics
+ summary: Retrieve statistics related to a charge point
+ description: "Required scope: `charge-points:read`"
+ operationId: get-charge-point-statistics
+ parameters:
+ - name: chargePointId
+ in: query
+ required: true
+ schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
+ type: integer
+ description: Filter to retrieve statistics for a given charge point by `chargePointId`
+ format: int64
+ example: 123
+ - name: fromDate
+ in: query
+ required: true
+ schema:
+ pattern: "\\d{4}-\\d{2}-\\d{2}"
+ type: string
+ description: "Filter to retrieve charge point statistics created from date\
+ \ (YYYY-MM-DD), we expect a date in UTCThe maximum gap between from\
+ \ and to data cannot be longer than 365 days"
+ format: date
+ example: 2022-05-01
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ pattern: "\\d{4}-\\d{2}-\\d{2}"
+ type: string
+ description: "Filter to retrieve charge point statistics created to date\
+ \ (YYYY-MM-DD), we expect a date in UTCThe maximum gap between from\
+ \ and to data cannot be longer than 365 days"
+ format: date
+ example: 2022-05-30
+ responses:
+ "200":
+ description: Statistics that match the provided criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ChargePointStatisticsDto"
"404":
description: Entity with the provided id was not found
content:
@@ -1124,6 +1379,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -1134,24 +1409,108 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/charge-point-statistics/by-site:
+ get:
+ tags:
+ - Charge Point Statistics
+ summary: Retrieve statistics related to a site
+ description: "Required scope: `charge-points:read`"
+ operationId: get-site-statistics
+ parameters:
+ - name: siteId
+ in: query
+ required: true
+ schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
+ type: integer
+ description: Filter to retrieve statistics for a given site by `siteId`
+ format: int64
+ example: 45
+ - name: fromDate
+ in: query
+ required: true
+ schema:
+ pattern: "\\d{4}-\\d{2}-\\d{2}"
+ type: string
+ description: "Filter to retrieve charge point statistics created from date\
+ \ (YYYY-MM-DD), we expect a date in UTCThe maximum gap between from\
+ \ and to data cannot be longer than 365 days"
+ format: date
+ example: 2022-05-01
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ pattern: "\\d{4}-\\d{2}-\\d{2}"
+ type: string
+ description: "Filter to retrieve charge point statistics created to date\
+ \ (YYYY-MM-DD), we expect a date in UTCThe maximum gap between from\
+ \ and to data cannot be longer than 365 days"
+ format: date
+ example: 2022-05-30
+ responses:
+ "200":
+ description: Statistics that match the provided criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ChargePointStatisticsDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-points:
get:
tags:
- Charge Points
- summary: Retrieve a list of charge points.
- description: "Required scope: `charge-points:read`"
+ summary: Retrieve a list of charge points
+ description: "Required scope: `charge-points:read` Organization authorization:\
+ \ `supported`"
operationId: get-charge-points
parameters:
- name: page
@@ -1161,7 +1520,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -1169,7 +1528,7 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
- name: siteId
in: query
schema:
@@ -1186,7 +1545,7 @@ paths:
required:
- "false"
type: integer
- description: Allows to filter list of charge points by a team id.
+ description: Allows to filter list of charge points by a team id
format: int64
nullable: true
example: 19
@@ -1212,6 +1571,26 @@ paths:
\ -8.050000, -34.900002)"
nullable: true
example: "55.7096,12.5856"
+ - name: boundingBox
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "Bounding box coordinates for filtering. The format should\
+ \ be 'minLat,minLon,maxLat,maxLon'"
+ nullable: true
+ example: "55.0,12.0,56.0,13.0"
+ - name: operatorId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Allows filtering charge point by `operatorId`
+ format: int64
+ nullable: true
+ example: 1
- name: includeDeleted
in: query
schema:
@@ -1219,56 +1598,90 @@ paths:
- "false"
type: boolean
description: Includes deleted resources in the response
- nullable: true
example: false
+ default: false
+ - name: includePublic
+ in: query
+ schema:
+ required:
+ - "false"
+ type: boolean
+ description: "Includes public charge points from other operators in the\
+ \ response**Note: Only supported from Version `2024-07-01`**"
+ example: false
+ default: false
- name: state
in: query
schema:
+ description: Allows filtering charge points by their state
nullable: true
+ example: busy
allOf:
- - $ref: '#/components/schemas/ChargePointState'
- - description: Allows filtering charge points by their state
- example: busy
+ - $ref: "#/components/schemas/ChargePointState"
+ - {}
responses:
"200":
description: List of charges points that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargePointDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_ChargePointDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
post:
tags:
- Charge Points
summary: Create a charge point
- description: "Required scope: `charge-points:write`"
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
operationId: post-charge-point
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateChargePoint'
+ $ref: "#/components/schemas/CreateChargePoint"
required: true
responses:
"201":
@@ -1276,7 +1689,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePoint'
+ $ref: "#/components/schemas/ChargePoint"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -1297,24 +1732,14 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
/api/v1/charge-points/map:
get:
tags:
- Charge Points
- summary: Retrieve charge points / sites for map.
- description: "Required scope: `map:read`"
+ summary: Retrieve charge points / sites for map
+ description: "Required scope: `map:read`. **RateLimit-Policy: `Fair-Use`**"
operationId: get-charge-point-map
parameters:
- name: topLatitude
@@ -1434,35 +1859,58 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/MapResult'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MapResult"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
/api/v1/charge-points/{chargePointId}:
get:
tags:
- Charge Points
- summary: Retrieve a single charge point.
- description: "Required scope: `charge-points:read`"
+ summary: Retrieve a single charge point
+ description: "Required scope: `charge-points:read` Organization authorization:\
+ \ `supported`"
operationId: get-charge-point
parameters:
- name: chargePointId
@@ -1477,17 +1925,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePoint'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/ChargePoint"
"404":
description: Entity with the provided id was not found
content:
@@ -1500,33 +1938,44 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
delete:
tags:
- Charge Points
summary: Delete an existing charge point
- description: "Required scope: `charge-points:delete`"
+ description: "Required scope: `charge-points:delete` Organization authorization:\
+ \ `supported`"
operationId: delete-charge-point
parameters:
- name: chargePointId
@@ -1538,6 +1987,28 @@ paths:
responses:
"204":
description: Charge point deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -1558,23 +2029,14 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
patch:
tags:
- Charge Points
summary: Patch an existing charge point
- description: "Required scope: `charge-points:write`"
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
operationId: patch-charge-point
parameters:
- name: chargePointId
@@ -1587,7 +2049,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/PatchChargePoint'
+ $ref: "#/components/schemas/PatchChargePoint"
required: true
responses:
"200":
@@ -1595,7 +2057,29 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ChargePoint'
+ $ref: "#/components/schemas/ChargePoint"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -1616,25 +2100,15 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/charges:
+ /api/v1/charge-points/{chargePointId}/logs:
get:
tags:
- - Charges
- summary: Retrieve a list of charges.
- description: "Required scope: `charge-transactions:read`"
- operationId: get-charges
+ - Charge Points
+ summary: Retrieve charge point OCPP logs
+ description: "Required scope: `charge-points:read`"
+ operationId: get-charge-point-ocpp-logs
parameters:
- name: page
in: query
@@ -1643,7 +2117,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -1651,119 +2125,75 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: teamId
- in: query
- schema:
- type: integer
- description: Filter to retrieve charges with specified `teamId`
- format: int64
- nullable: true
- example: 13
+ example: 10
- name: chargePointId
- in: query
+ in: path
+ required: true
schema:
type: integer
- description: Filter to retrieve charges with specified `chargePointId`
format: int64
- nullable: true
- example: 10
- - name: siteId
+ - name: fromDate
in: query
schema:
- type: integer
- description: Filter to retrieve charges with specified `siteId`
- format: int64
+ required:
+ - "false"
+ type: string
+ description: "Filter to retrieve charge point logs created from date, a\
+ \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')"
+ format: date-time
nullable: true
- example: 5
- - name: state
+ example: 2024-05-22T09:30:03Z
+ - name: toDate
in: query
schema:
+ required:
+ - "false"
type: string
- description: Filter to retrieve charges by `state`
+ description: "Filter to retrieve charge point logs to date, a date in UTC\
+ \ and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')"
+ format: date-time
nullable: true
- example: charging
- enum:
- - reserved
- - starting
- - charging
- - stopping
- - paused
- - scheduled
- - stopped
- - completed
- - name: fromDate
- in: query
- schema:
- type: string
- description: "Filter to retrieve charges where `createdAt` >= `fromDate`\
- \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
- format: date-time
- nullable: true
- example: 2022-05-22T09:30:03Z
- - name: toDate
- in: query
- schema:
- type: string
- description: "Filter to retrieve charges where `createdAt` <= `toDate` (ISO8601:\
- \ yyyy-MM-ddTHH:mm:ssZ)"
- format: date-time
- nullable: true
- example: 2022-05-22T09:30:03Z
- - name: chargeAuthType
- in: query
- schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/ChargeAuthenticationType'
- - description: "Filter to retrieve charges by the charge authentication\
- \ type, must be combined with `chargeAuthId`"
- example: vehicleId
- - name: chargeAuthId
- in: query
- schema:
- type: string
- description: "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"
- nullable: true
- example: 38C58DB85XXX
- - name: partnerExternalId
- in: query
- schema:
- type: string
- description: "Filter charges by `partnerExternalId`, to filter only resources\
- \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
- nullable: true
- example: "10001"
- - name: operatorRole
- in: query
- schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/OperatorRole'
- - description: Filter to indicate the desired role to list chargese.g
- owner will always deliver charges from the operator charge pointspayer
- will deliver charges paid by the operator
- example: owner
- default: owner
+ example: 2024-05-23T09:30:03Z
responses:
"200":
- description: List of charges that match the criteria
+ description: "Charge point OCPP logs with provided id. Note: Response from\
+ \ this endpoint is not considered type-safe and might change over time"
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_ChargePointOcppLogDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargeDto_'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -1776,25 +2206,24 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
+ /api/v1/charge-points/{chargePointId}/reboot:
post:
tags:
- - Charges
- summary: Start a charge.
- description: "Required scope: `control-charging:write`"
- operationId: start-charge
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/StartChargeRequest'
+ - Charge Points
+ summary: Reboot an existing charge point
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
+ operationId: reboot-charge-point
+ parameters:
+ - name: chargePointId
+ in: path
required: true
+ schema:
+ type: integer
+ format: int64
responses:
- "200":
- description: Charge successfully started
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Charge'
+ "204":
+ description: Charge point rebooted
"404":
description: Entity with the provided id was not found
content:
@@ -1807,109 +2236,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/charges/insights:
- get:
- tags:
- - Charges Insights
- summary: Retrieve insights about charges.
- description: |-
- Required scope: `charge-transactions:read`.
- **Deprecated, use `/insights/charges/driver-report` and `/insights/charges/charger-report` instead.**
- operationId: get-charges-insights
- parameters:
- - name: fromDate
- in: query
- required: true
- schema:
- pattern: "^(\\d{4}-\\d{2}-\\d{2})$"
- type: string
- description: "Filter to retrieve charge insights created from date (YYYY-MM-DD),\
- \ we expect a date in UTCThe maximum gap between from and to data\
- \ cannot be longer than 31 days"
- format: date
- example: 2022-05-01
- - name: toDate
- in: query
- required: true
- schema:
- pattern: "^(\\d{4}-\\d{2}-\\d{2})$"
- type: string
- description: "Filter to retrieve charge insights created to date (YYYY-MM-DD),\
- \ we expect a date in UTCThe maximum gap between from and to data\
- \ cannot be longer than 31 days"
- format: date
- example: 2022-05-30
- - name: teamId
- in: query
- schema:
- type: integer
- description: Filter to retrieve charges insights by the specified `teamId`
- format: int64
- nullable: true
- example: 13
- - name: chargePointId
- in: query
- schema:
- type: integer
- description: Filter to retrieve charges insights by the specified `chargePointId`
- format: int64
- nullable: true
- example: 13
- - name: siteId
- in: query
- schema:
- type: integer
- description: Filter to retrieve charges insights by the specified `siteId`
- format: int64
- nullable: true
- example: 13
- - name: teamMemberId
- in: query
- schema:
- type: integer
- description: Filter to retrieve charges insights by the specified `teamMemberId`
- format: int64
- nullable: true
- example: 13
- responses:
- "200":
- description: Charge insights for the given filter
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ChargesInsight'
- "401":
- description: Unauthorized access
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -1920,53 +2266,58 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- deprecated: true
security:
- BearerAccessToken: []
- x-sunset: 2024-04-01
- /api/v1/charges/{chargeId}:
- get:
+ /api/v1/charge-points/{chargePointId}/unlock:
+ post:
tags:
- - Charges
- summary: Retrieve a single charge.
- description: "Required scope: `charge-transactions:read`"
- operationId: get-charge
+ - Charge Points
+ summary: Unlock an existing charge point
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
+ operationId: unlock-charge-point
parameters:
- - name: chargeId
+ - name: chargePointId
in: path
required: true
schema:
type: integer
format: int64
responses:
- "200":
- description: Charge with provided id
+ "204":
+ description: Charge point unlocked
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Charge'
- "403":
- description: Operator doesn't have access to resource
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -1977,99 +2328,170 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- patch:
+ /api/v1/charges:
+ get:
tags:
- Charges
- summary: Patch an existing charge
- description: "Required scope: `charges:write`"
- operationId: patch-charge
+ summary: Retrieve a list of charges
+ description: "Required scope: `charge-transactions:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-charges
parameters:
- - name: chargeId
- in: path
- required: true
- schema:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
+ schema:
type: integer
+ description: Filter to retrieve charges with specified `teamId`
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchCharge'
- required: true
+ nullable: true
+ example: 13
+ - name: operatorId
+ in: query
+ schema:
+ type: integer
+ description: "Filter to retrieve charges with specified `operatorId`*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"
+ format: int64
+ nullable: true
+ example: 96
+ - name: chargePointId
+ in: query
+ schema:
+ type: integer
+ description: Filter to retrieve charges with specified `chargePointId`
+ format: int64
+ nullable: true
+ example: 10
+ - name: siteId
+ in: query
+ schema:
+ type: integer
+ description: Filter to retrieve charges with specified `siteId`
+ format: int64
+ nullable: true
+ example: 5
+ - name: state
+ in: query
+ schema:
+ type: string
+ description: Filter to retrieve charges by `state`
+ nullable: true
+ example: charging
+ enum:
+ - reserved
+ - starting
+ - charging
+ - stopping
+ - paused
+ - scheduled
+ - stopped
+ - completed
+ - name: fromDate
+ in: query
+ schema:
+ type: string
+ description: "Filter to retrieve charges where `createdAt` >= `fromDate`\
+ \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: toDate
+ in: query
+ schema:
+ type: string
+ description: "Filter to retrieve charges where `createdAt` <= `toDate` (ISO8601:\
+ \ yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: chargeAuthType
+ in: query
+ schema:
+ description: "Filter to retrieve charges by the charge authentication type,\
+ \ must be combined with `chargeAuthId`"
+ nullable: true
+ example: vehicleId
+ allOf:
+ - $ref: "#/components/schemas/ChargeAuthenticationType"
+ - {}
+ - name: chargeAuthId
+ in: query
+ schema:
+ type: string
+ description: "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"
+ nullable: true
+ example: 38C58DB85XXX
+ - name: partnerExternalId
+ in: query
+ schema:
+ type: string
+ description: "Filter charges by `partnerExternalId`, to filter only resources\
+ \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
+ nullable: true
+ example: "10001"
+ - name: operatorRole
+ in: query
+ schema:
+ description: Filter to indicate the desired role to list chargese.g
+ owner will always deliver charges from the operator charge pointspayer
+ will deliver charges paid by the operator
+ nullable: true
+ example: owner
+ allOf:
+ - $ref: "#/components/schemas/OperatorRole"
+ - {}
+ default: owner
responses:
"200":
- description: Charge updated
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Charge'
- "403":
- description: Operator doesn't have access to resource
+ description: List of charges that match the criteria
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_ChargeDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/charges/{chargeId}/breakdown:
- get:
- tags:
- - Charges
- summary: Retrieve a charge price and cost breakdown
- description: "Required scope: `charges:read`*Note*: Please be aware that this\
- \ endpoint is currently in the BETA phase,calculations may return slightly\
- \ varying results, and the payload can change."
- operationId: get-charge-breakdown
- parameters:
- - name: chargeId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "200":
- description: Charge Breakdown for the given id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ChargeBreakdown'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2090,39 +2512,28 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/charges/{chargeId}/restart:
- get:
+ post:
tags:
- Charges
- summary: Restart or start a reserved charge.
- description: "Required scope: `control-charging:write`"
- operationId: restart-charge
- parameters:
- - name: chargeId
- in: path
+ summary: Start a charge
+ description: "Required scope: `control-charging:write` Organization authorization:\
+ \ `supported`"
+ operationId: start-charge
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/StartChargeRequest"
required: true
- schema:
- type: integer
- format: int64
responses:
"200":
- description: Successfully restarted charge/started reserved charge
+ description: Charge successfully started
content:
application/json:
schema:
- $ref: '#/components/schemas/Charge'
+ $ref: "#/components/schemas/Charge"
"404":
description: Entity with the provided id was not found
content:
@@ -2135,6 +2546,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2155,43 +2576,83 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/charges/{chargeId}/stop:
+ /api/v1/charges/insights:
get:
tags:
- - Charges
- summary: Stop a charge.
- description: "Required scope: `control-charging:write`"
- operationId: stop-charge
+ - Charges Insights
+ summary: Retrieve insights about charges.
+ description: |-
+ Required scope: `charge-transactions:read`.
+ **Deprecated, use `/insights/charges/driver-report` and `/insights/charges/charger-report` instead.**
+ operationId: get-charges-insights
parameters:
- - name: chargeId
- in: path
+ - name: fromDate
+ in: query
required: true
+ schema:
+ pattern: "^(\\d{4}-\\d{2}-\\d{2})$"
+ type: string
+ description: "Filter to retrieve charge insights created from date (YYYY-MM-DD),\
+ \ we expect a date in UTCThe maximum gap between from and to data\
+ \ cannot be longer than 31 days"
+ format: date
+ example: 2022-05-01
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ pattern: "^(\\d{4}-\\d{2}-\\d{2})$"
+ type: string
+ description: "Filter to retrieve charge insights created to date (YYYY-MM-DD),\
+ \ we expect a date in UTCThe maximum gap between from and to data\
+ \ cannot be longer than 31 days"
+ format: date
+ example: 2022-05-30
+ - name: teamId
+ in: query
schema:
type: integer
+ description: Filter to retrieve charges insights by the specified `teamId`
format: int64
- responses:
- "200":
- description: Successfully stopped a charge
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Charge'
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
+ nullable: true
+ example: 13
+ - name: chargePointId
+ in: query
+ schema:
+ type: integer
+ description: Filter to retrieve charges insights by the specified `chargePointId`
+ format: int64
+ nullable: true
+ example: 13
+ - name: siteId
+ in: query
+ schema:
+ type: integer
+ description: Filter to retrieve charges insights by the specified `siteId`
+ format: int64
+ nullable: true
+ example: 13
+ - name: teamMemberId
+ in: query
+ schema:
+ type: integer
+ description: Filter to retrieve charges insights by the specified `teamMemberId`
+ format: int64
+ nullable: true
+ example: 13
+ responses:
+ "200":
+ description: Charge insights for the given filter
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ChargesInsight"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
schema:
type: object
example:
@@ -2200,6 +2661,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2220,41 +2691,64 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ deprecated: true
security:
- BearerAccessToken: []
- /api/v1/consumers/me:
+ x-sunset: 2024-04-01
+ /api/v1/charges/{chargeId}:
get:
tags:
- - Consumer
- summary: Obtain information about current API Consumer
- operationId: get-current-consumer
+ - Charges
+ summary: Retrieve a single charge
+ description: "Required scope: `charge-transactions:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-charge
+ parameters:
+ - name: chargeId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
responses:
"200":
- description: Successfully retrieved current consumer
+ description: Charge with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Charge"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Consumer'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -2267,63 +2761,65 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/countries:
- get:
+ patch:
tags:
- - Countries
- summary: 'Retrieve a countries. '
- description: "Note: no pagination support"
- operationId: getCountries
- parameters: []
+ - Charges
+ summary: Patch an existing charge
+ description: "Required scope: `charges:write` Organization authorization:\
+ \ `supported`"
+ operationId: patch-charge
+ parameters:
+ - name: chargeId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchCharge"
+ required: true
responses:
"200":
- description: List of countries
+ description: Charge updated
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_CountryDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/Charge"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/countries/{id}:
- get:
- tags:
- - Countries
- summary: Retrieve a country.
- operationId: getCountry
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "200":
- description: Country with provided id
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/Country'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -2334,87 +2830,85 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/country-areas:
+ /api/v1/charges/{chargeId}/breakdown:
get:
tags:
- - Country Areas
- summary: Retrieve a country areas.
- description: "Note: no pagination support"
- operationId: getCountriesAreas
+ - Charges
+ summary: Retrieve a charge price and cost breakdown
+ description: "Required scope: `charges:read`*Note*: Please be aware that this\
+ \ endpoint is currently in the BETA phase,calculations may return slightly\
+ \ varying results, and the payload can change."
+ operationId: get-charge-breakdown
parameters:
- - name: countryId
- in: query
+ - name: chargeId
+ in: path
required: true
schema:
- minimum: 0
- exclusiveMinimum: true
- required:
- - "true"
type: integer
- description: Allows to filter country areas by country Id
format: int64
- example: 13
responses:
"200":
- description: List of country areas
+ description: Charge Breakdown for the given id
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_CountryAreaDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/ChargeBreakdown"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- "404":
- description: Entity with the provided id was not found
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/country-areas/{id}:
+ /api/v1/charges/{chargeId}/restart:
get:
tags:
- - Country Areas
- summary: Retrieve a country area.
- operationId: getCountryArea
+ - Charges
+ summary: Restart or start a reserved charge
+ description: "Required scope: `control-charging:write` Organization authorization:\
+ \ `supported`"
+ operationId: restart-charge
parameters:
- - name: id
+ - name: chargeId
in: path
required: true
schema:
@@ -2422,84 +2916,43 @@ paths:
format: int64
responses:
"200":
- description: Country area with provided id
+ description: Successfully restarted charge/started reserved charge
content:
application/json:
schema:
- $ref: '#/components/schemas/CountryArea'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/Charge"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- "404":
- description: Entity with the provided id was not found
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
- security:
- - BearerAccessToken: []
- /api/v1/currencies:
- get:
- tags:
- - Currencies
- summary: Retrieve a list of currencies
- operationId: get-currencies
- parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: identifier
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Allows to filter by ISO Alpha-3 currency code
- nullable: true
- example: eur
- responses:
- "200":
- description: List of currencies that match the criteria
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaPage_CurrencyDto_'
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -2510,26 +2963,18 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/currencies/{currencyId}:
+ /api/v1/charges/{chargeId}/stop:
get:
tags:
- - Currencies
- summary: Retrieve a single currency
- operationId: get-currency
+ - Charges
+ summary: Stop a charge
+ description: "Required scope: `control-charging:write` Organization authorization:\
+ \ `supported`"
+ operationId: stop-charge
parameters:
- - name: currencyId
+ - name: chargeId
in: path
required: true
schema:
@@ -2537,11 +2982,33 @@ paths:
format: int64
responses:
"200":
- description: Currency with provided id
+ description: Successfully stopped a charge
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Charge"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/CurrencyDto_4'
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2552,6 +3019,31 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/consumers/me:
+ get:
+ tags:
+ - Consumer
+ summary: Obtain information about current API Consumer
+ operationId: get-current-consumer
+ responses:
+ "200":
+ description: Successfully retrieved current consumer
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Consumer"
"404":
description: Entity with the provided id was not found
content:
@@ -2564,94 +3056,85 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/insights/charges/charger-report:
+ /api/v1/countries:
get:
tags:
- - Insights
- summary: Retrieve insights about charge points.
- description: |-
- Required scope: `insights:read`
-
- Returns a list of charge points (owned by that `teamId`) with the number of charging sessions and the total Kwh consumed.
- operationId: get-insights-charges-charger-report
- parameters:
- - name: teamId
- in: query
- required: true
- schema:
- required:
- - "true"
- type: integer
- description: Filter to retrieve charge point insights by the specified `teamId`
- format: int64
- example: 13
- - name: chargePointIds
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Filter to retrieve charges insights by the specified (comma-separated)
- list of `chargePointId`
- nullable: true
- example: "13,14,15"
- - name: fromDate
- in: query
- required: true
- schema:
- type: string
- description: "Filter to retrieve charge insights created from date, we expecta\
- \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
- \ between from and to data cannot be longer than 31 days"
- format: date
- - name: toDate
- in: query
- required: true
- schema:
- type: string
- description: "Filter to retrieve charge insights created to date, we expecta\
- \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
- \ between from and to data cannot be longer than 31 days"
- format: date
+ - Countries
+ summary: 'Retrieve a countries. '
+ description: "Note: no pagination support"
+ operationId: getCountries
+ parameters: []
responses:
"200":
- description: Charger report for the given filter
+ description: List of countries
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_CountryDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargesInsightChargerReportDto_'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -2664,90 +3147,58 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/insights/charges/driver-report:
+ /api/v1/countries/{id}:
get:
tags:
- - Insights
- summary: Retrieve insights about charges broken down by team members of a team.
- description: |-
- Required scope: `insights:read`
-
- Returns charge insights for the given teamId (and optionally `teamMemberIds`) broken down by team member.
- Takes only charges into consideration that were paid for by the provided `teamId`.
-
- Note: Any values related to money are in the teams' currency. You can fetch them from `GET /api/v1/teams/{teamId}`
- operationId: get-insights-charges-driver-report
+ - Countries
+ summary: Retrieve a country.
+ operationId: getCountry
parameters:
- - name: teamId
- in: query
+ - name: id
+ in: path
required: true
schema:
- required:
- - "true"
type: integer
- description: Filter to retrieve charges insights by the specified `teamId`
format: int64
- example: 13
- - name: teamMemberIds
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Filter to retrieve charges insights by the specified (comma-separated)
- list of `teamMemberId`
- nullable: true
- example: "13,14,15"
- - name: fromDate
- in: query
- required: true
- schema:
- type: string
- description: "Filter to retrieve charge insights created from date, we expecta\
- \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
- \ between from and to data cannot be longer than 31 days"
- format: date
- - name: toDate
- in: query
- required: true
- schema:
- type: string
- description: "Filter to retrieve charge insights created to date, we expecta\
- \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
- \ between from and to data cannot be longer than 31 days"
- format: date
- - name: datesFilteredBy
- in: query
- schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/DriverReportDatesFilteredBy'
- - type: string
- description: "Use this to determine if the report should be filtered based\
- \ on completion dates of charges or wallet transactions.Accepted\
- \ values:- `charge-transaction`: Generates report based on charges'\
- \ `completedAt`. Default.- `wallet-transaction`: Generates report based\
- \ on wallet transactions' `completedAt`. Will not include any charges\
- \ without wallet transactions."
- example: charge-transaction
- default: charge-transaction
responses:
"200":
- description: Driver report for the given filter
+ description: Country with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Country"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_ChargesInsightDriverReportDto_'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -2760,108 +3211,55 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/installer-jobs:
+ /api/v1/country-areas:
get:
tags:
- - Installer Jobs
- summary: Retrieve a list of installer jobs
- description: "Required scope: `installer-jobs:read`"
- operationId: get-installer-jobs
+ - Country Areas
+ summary: Retrieve a country areas.
+ description: "Note: no pagination support"
+ operationId: getCountriesAreas
parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: siteId
+ - name: countryId
in: query
+ required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
required:
- - "false"
+ - "true"
type: integer
- description: Allows to filter list of installer jobs by a site id
+ description: Allows to filter country areas by country Id
format: int64
- nullable: true
example: 13
- - name: teamId
- in: query
- schema:
- required:
- - "false"
- type: integer
- description: Allows to filter list of installer jobs by a team id.
- format: int64
- nullable: true
- example: 19
- - name: includeDeleted
- in: query
- schema:
- required:
- - "false"
- type: boolean
- description: "If true, deleted installer jobs will be included in the response."
- nullable: true
- example: true
responses:
"200":
- description: List of installer jobs that match the criteria
+ description: List of country areas
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_InstallerJobDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_CountryAreaDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Installer Jobs
- summary: Create an installer job
- description: "Create an installer job for a charge point site. Required scope:\
- \ `installer-jobs:write`"
- operationId: post-installer-job
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateInstallerJobDto'
- required: true
- responses:
- "201":
- description: Installer job created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/InstallerJob'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2882,27 +3280,16 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/installer-jobs/{installerJobId}:
+ /api/v1/country-areas/{id}:
get:
tags:
- - Installer Jobs
- summary: Retrieve a single installer job
- description: "Required scope: `installer-jobs:read`"
- operationId: get-installer-job
+ - Country Areas
+ summary: Retrieve a country area.
+ operationId: getCountryArea
parameters:
- - name: installerJobId
+ - name: id
in: path
required: true
schema:
@@ -2910,21 +3297,11 @@ paths:
format: int64
responses:
"200":
- description: Installer job with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/InstallerJob'
- "403":
- description: Operator doesn't have access to resource
+ description: Country area with provided id
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/CountryArea"
"404":
description: Entity with the provided id was not found
content:
@@ -2937,44 +3314,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Installer Jobs
- summary: Delete an existing installer job
- description: "Required scope: `installer-jobs:delete`"
- operationId: delete-installer-job
- parameters:
- - name: installerJobId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Installer Job deleted
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -2995,79 +3344,99 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/operators:
+ /api/v1/currencies:
get:
tags:
- - Operators
- summary: Retrieve operators
- description: "Required scope: `operators`"
- operationId: get-operators
- parameters:
- - name: page
+ - Currencies
+ summary: Retrieve a list of currencies
+ operationId: get-currencies
+ parameters:
+ - name: page
in: query
+ description: page number to retrieve (starts with 0)
schema:
type: integer
- description: page number to retrieve (starts with 0)
format: int32
- nullable: true
- example: 1
default: 0
+ example: 1
- name: perPage
in: query
+ description: "number of items per page (between 1 and 100, default 10)"
schema:
type: integer
format: int32
+ default: 10
+ example: 10
+ - name: identifier
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Allows to filter by ISO Alpha-3 currency code
nullable: true
+ example: eur
responses:
"200":
- description: List of operators that match the criteria
+ description: List of currencies that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_OperatorDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_CurrencyDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/operators/{id}:
+ /api/v1/currencies/{currencyId}:
get:
tags:
- - Operators
- summary: Retrieve an operator
- description: "Required scope: `operators`"
- operationId: get-operator
+ - Currencies
+ summary: Retrieve a single currency
+ operationId: get-currency
parameters:
- - name: id
+ - name: currencyId
in: path
required: true
schema:
@@ -3075,11 +3444,33 @@ paths:
format: int64
responses:
"200":
- description: operator with provided id
+ description: Currency with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CurrencyDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Operator'
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -3100,25 +3491,22 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/payment-terminals:
+ /api/v1/insights/charges/charge-auth-token-report:
get:
tags:
- - Payment Terminals
- summary: Retrieve a list of payment terminals
- description: "Required scope: `payment-terminals:read`"
- operationId: get-payment-terminals
+ - Insights
+ summary: Retrieve insights about charges broken down by charge auth token and
+ member cost groups of a team.
+ description: |-
+ Required scope: `insights:read`
+
+ Returns charge insights for the given teamId (and optionally `chargeAuthTokenIds`) broken down by charge auth token and the member cost groups.
+ Takes only charges into consideration that were paid for by the provided `teamId`.
+
+ Note: Any values related to money are in the teams' currency. You can fetch them from `GET /api/v1/teams/{teamId}`
+ operationId: get-insights-charges-charge-auth-token-report
parameters:
- name: page
in: query
@@ -3127,7 +3515,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -3135,52 +3523,59 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: serial
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Allows to filter list of terminals by a serial
- nullable: true
- example: XYZ123-DF-123
+ example: 10
- name: teamId
in: query
+ required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
required:
- - "false"
+ - "true"
type: integer
- description: Allows to filter list of terminals by a team id.
+ description: Filter to retrieve charges insights by the specified `teamId`
format: int64
- nullable: true
- example: 19
- - name: includeDeleted
+ example: 13
+ - name: fromDate
in: query
+ required: true
schema:
- required:
- - "false"
- type: boolean
- description: "If true, deleted entities will be included in the response."
- nullable: true
- example: true
+ type: string
+ description: "Filter to retrieve charge insights created from date, we expecta\
+ \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
+ \ between from and to data cannot be longer than 31 days"
+ format: date
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created to date, we expecta\
+ \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
+ \ between from and to data cannot be longer than 31 days"
+ format: date
+ - name: datesFilteredBy
+ in: query
+ schema:
+ description: "Use this to determine if the report should be filtered based\
+ \ on completion dates of charges or wallet transactions.Accepted\
+ \ values:- `charge-transaction`: Generates report based on charges'\
+ \ `completedAt`. Default.- `wallet-transaction`: Generates report based\
+ \ on wallet transactions' `completedAt`. Will not include any charges\
+ \ without wallet transactions."
+ nullable: true
+ example: charge-transaction
+ allOf:
+ - $ref: "#/components/schemas/DriverReportDatesFilteredBy"
+ - type: string
+ default: charge-transaction
responses:
"200":
- description: List of payment terminals that match the criteria
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaPage_PaymentTerminalDto_'
- "400":
- description: The request is invalid
+ description: Charge Auth Token report for the given filter
content:
application/json:
schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ $ref: "#/components/schemas/MontaPage_ChargesInsightByChargeAuthTokenReportDto_"
"401":
description: Unauthorized access
content:
@@ -3191,28 +3586,18 @@ paths:
status: UNAUTHORIZED
message: Invalid or expired `accessToken`.
errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/payment-terminals/{paymentTerminalId}:
- get:
- tags:
- - Payment Terminals
- summary: Retrieve a single payment terminal
- description: "Required scope: `payment-terminals:read`"
- operationId: get-payment-terminal
- parameters:
- - name: paymentTerminalId
- in: path
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Payment Terminal with provided id
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/PaymentTerminal'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"403":
description: Operator doesn't have access to resource
content:
@@ -3223,18 +3608,6 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
- schema:
- type: object
- example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
"400":
description: The request is invalid
content:
@@ -3245,25 +3618,18 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/plans:
+ /api/v1/insights/charges/charger-report:
get:
tags:
- - Plans
- summary: Retrieve plans
- description: "Required scope: `plans:read`"
- operationId: get-plans
+ - Insights
+ summary: Retrieve insights about charge points.
+ description: |-
+ Required scope: `insights:read`
+
+ Returns a list of charge points (owned by that `teamId`) with the number of charging sessions and the total Kwh consumed.
+ operationId: get-insights-charges-charger-report
parameters:
- name: page
in: query
@@ -3272,7 +3638,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -3280,152 +3646,76 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- responses:
- "200":
- description: List of plans that match the criteria
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaPage_PlanDto_'
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/plans/{id}:
- get:
- tags:
- - Plans
- summary: Retrieve a plan
- description: "Required scope: `plans:read`"
- operationId: get-plan
- parameters:
- - name: id
- in: path
+ example: 10
+ - name: teamId
+ in: query
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
type: integer
+ description: Filter to retrieve charge point insights by the specified `teamId`
format: int64
- responses:
- "200":
- description: Plan with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Plan'
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/price-group-tags:
- get:
- tags:
- - Price Groups Tags
- summary: Retrieve price group tags.
- description: "Required scope: `price-groups:read`"
- operationId: get-price-group-tags
- parameters:
- - name: name
+ example: 13
+ - name: chargePointIds
in: query
schema:
+ required:
+ - "false"
type: string
- description: Filter to retrieve resources by the specified `name`.
+ description: Filter to retrieve charges insights by the specified (comma-separated)
+ list of `chargePointId`
nullable: true
- example: Energy
- - name: partnerExternalId
+ example: "13,14,15"
+ - name: fromDate
in: query
+ required: true
schema:
- required:
- - "false"
type: string
- description: "Filter resources by partnerExternalId, to filter only resources\
- \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
- nullable: true
- example: 1A2B
+ description: "Filter to retrieve charge insights created from date, we expecta\
+ \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
+ \ between from and to data cannot be longer than 31 days"
+ format: date
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created to date, we expecta\
+ \ date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum gap\
+ \ between from and to data cannot be longer than 31 days"
+ format: date
responses:
"200":
- description: Price group tags for a given filter
+ description: Charger report for the given filter
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_PriceGroupTagDto_'
- "401":
- description: Unauthorized access
+ $ref: "#/components/schemas/MontaPage_ChargesInsightChargerReportDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- "400":
- description: The request is invalid
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Price Groups Tags
- summary: Create a price group tag
- description: "Required scope: `price-groups:write`"
- operationId: post-price-group-tag
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreatePriceGroupTag'
- required: true
- responses:
- "201":
- description: Price group tag created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PriceGroupTag'
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -3436,18 +3726,6 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
- schema:
- type: object
- example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
"400":
description: The request is invalid
content:
@@ -3458,49 +3736,111 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/price-group-tags/{id}:
+ /api/v1/insights/charges/driver-member-costs-report:
get:
tags:
- - Price Groups Tags
- summary: Retrieve a single price group tag
- description: "Required scope: `price-groups:read`"
- operationId: get-price-group-tag
+ - Insights
+ summary: Retrieve insights about charges broken down by team members and member
+ cost groups of a team.
+ description: |-
+ Required scope: `insights:read`
+
+ Returns charge insights for the given teamId (and optionally `teamMemberIds`) broken down by team member and the member cost groups.
+ Takes only charges into consideration that were paid for by the provided `teamId`.
+
+ Note: Any values related to money are in the teams' currency. You can fetch them from `GET /api/v1/teams/{teamId}`
+ operationId: get-insights-charges-driver-member-costs-report
parameters:
- - name: id
- in: path
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
type: integer
+ description: Filter to retrieve charges insights by the specified `teamId`
format: int64
+ example: 13
+ - name: teamMemberIds
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter to retrieve charges insights by the specified (comma-separated)
+ list of `teamMemberId`
+ nullable: true
+ example: "13,14,15"
+ - name: fromDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created from date, we expect\
+ \ a date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum\
+ \ gap between from and to data cannot be longer than 31 days"
+ format: date
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created to date, we expect\
+ \ a date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum\
+ \ gap between from and to data cannot be longer than 31 days"
+ format: date
+ - name: datesFilteredBy
+ in: query
+ schema:
+ description: "Use this to determine if the report should be filtered based\
+ \ on completion dates of charges or wallet transactions.Accepted\
+ \ values:- `charge-transaction`: Generates report based on charges'\
+ \ `completedAt`. Default.- `wallet-transaction`: Generates report based\
+ \ on wallet transactions' `completedAt`. Will not include any charges\
+ \ without wallet transactions."
+ nullable: true
+ example: charge-transaction
+ allOf:
+ - $ref: "#/components/schemas/DriverReportDatesFilteredBy"
+ - type: string
+ default: charge-transaction
responses:
"200":
- description: Price group tag with provided id
+ description: Driver report for the given filter
content:
application/json:
schema:
- $ref: '#/components/schemas/PriceGroupTag'
- "403":
- description: Operator doesn't have access to resource
+ $ref: "#/components/schemas/MontaPage_ChargesInsightDriverMemberCostsReportDto_"
+ "401":
+ description: Unauthorized access
content:
application/json:
schema:
type: object
example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ status: UNAUTHORIZED
+ message: Invalid or expired `accessToken`.
+ errorCode: INVALID_ACCESS_TOKEN
"404":
description: Entity with the provided id was not found
content:
@@ -3513,54 +3853,120 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- delete:
+ /api/v1/insights/charges/driver-report:
+ get:
tags:
- - Price Groups Tags
- summary: Delete an existing price group tag
- description: "Required scope: `price-groups:delete`"
- operationId: delete-price-group-tag
+ - Insights
+ summary: Retrieve insights about charges broken down by team members of a team.
+ description: |-
+ Required scope: `insights:read`
+
+ Returns charge insights for the given teamId (and optionally `teamMemberIds`) broken down by team member.
+ Takes only charges into consideration that were paid for by the provided `teamId`.
+
+ Note: Any values related to money are in the teams' currency. You can fetch them from `GET /api/v1/teams/{teamId}`
+ operationId: get-insights-charges-driver-report
parameters:
- - name: id
- in: path
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
type: integer
+ description: Filter to retrieve charges insights by the specified `teamId`
format: int64
+ example: 13
+ - name: teamMemberIds
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter to retrieve charges insights by the specified (comma-separated)
+ list of `teamMemberId`
+ nullable: true
+ example: "13,14,15"
+ - name: fromDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created from date, we expect\
+ \ a date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum\
+ \ gap between from and to data cannot be longer than 31 days"
+ format: date
+ - name: toDate
+ in: query
+ required: true
+ schema:
+ type: string
+ description: "Filter to retrieve charge insights created to date, we expect\
+ \ a date in UTC and ISO8601 (YYYY-MM-DD'T'HH:MM:SS'Z')The maximum\
+ \ gap between from and to data cannot be longer than 31 days"
+ format: date
+ - name: datesFilteredBy
+ in: query
+ schema:
+ description: "Use this to determine if the report should be filtered based\
+ \ on completion dates of charges or wallet transactions.Accepted\
+ \ values:- `charge-transaction`: Generates report based on charges'\
+ \ `completedAt`. Default.- `wallet-transaction`: Generates report based\
+ \ on wallet transactions' `completedAt`. Will not include any charges\
+ \ without wallet transactions."
+ nullable: true
+ example: charge-transaction
+ allOf:
+ - $ref: "#/components/schemas/DriverReportDatesFilteredBy"
+ - type: string
+ default: charge-transaction
responses:
"200":
- description: Price group tag deleted
- "403":
- description: Operator doesn't have access to resource
+ description: Driver report for the given filter
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/MontaPage_ChargesInsightDriverReportDto_"
"404":
description: Entity with the provided id was not found
content:
@@ -3573,54 +3979,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- patch:
- tags:
- - Price Groups Tags
- summary: Update a price group tag
- description: "Required scope: `price-groups:write`"
- operationId: patch-price-group-tag
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchPriceGroupTag'
- required: true
- responses:
- "200":
- description: Price group tag updated
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PriceGroupTag'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -3631,18 +3999,6 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
- schema:
- type: object
- example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
"400":
description: The request is invalid
content:
@@ -3653,126 +4009,164 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/price-groups:
+ /api/v1/installer-jobs:
get:
tags:
- - Price Groups
- summary: Retrieve a list of price groups.
- description: "Required scope: `price-groups:read`"
- operationId: getPriceGroups
+ - Installer Jobs
+ summary: Retrieve a list of installer jobs
+ description: "Required scope: `installer-jobs:read`"
+ operationId: get-installer-jobs
parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: siteId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Allows to filter list of installer jobs by a site id
+ format: int64
+ nullable: true
+ example: 13
- name: teamId
in: query
- description: Filter to retrieve price groups with specified team id
- required: true
schema:
+ required:
+ - "false"
type: integer
+ description: Allows to filter list of installer jobs by a team id.
format: int64
+ nullable: true
+ example: 19
+ - name: includeDeleted
+ in: query
+ schema:
+ required:
+ - "false"
+ type: boolean
+ description: "If true, deleted installer jobs will be included in the response."
+ nullable: true
+ example: true
responses:
"200":
- description: List of price groups that match the criteria
+ description: List of installer jobs that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_PriceGroupDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_InstallerJobDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
post:
tags:
- - Price Groups
- summary: Creates a price group
- description: "Required scope: `price-groups:write`"
- operationId: create-price-group
+ - Installer Jobs
+ summary: Create an installer job
+ description: "Create an installer job for a charge point site. Required scope:\
+ \ `installer-jobs:write`"
+ operationId: post-installer-job
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateOrUpdatePriceGroupDto'
+ $ref: "#/components/schemas/CreateInstallerJobDto"
required: true
responses:
- "404":
- description: Team not found
+ "201":
+ description: Installer job created
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaAppResponse'
- "201":
- description: Price group successfully created
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/InstallerJob"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/price-groups/{id}:
- get:
- tags:
- - Price Groups
- summary: Retrieve a price group.
- description: "Required scope: `price-groups:read`"
- operationId: getPriceGroup
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "200":
- description: Price group with provided id
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/PriceGroup'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -3783,94 +4177,61 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- put:
+ /api/v1/installer-jobs/{installerJobId}:
+ get:
tags:
- - Price Groups
- summary: Updates a price group
- description: "Required scope: `price-groups:write`"
- operationId: update-price-group
+ - Installer Jobs
+ summary: Retrieve a single installer job
+ description: "Required scope: `installer-jobs:read`"
+ operationId: get-installer-job
parameters:
- - name: id
+ - name: installerJobId
in: path
required: true
schema:
type: integer
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateOrUpdatePriceGroupDto'
- required: true
responses:
- "404":
- description: Price group not found
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaAppResponse'
"200":
- description: Price group successfully updated
+ description: Installer job with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/PriceGroup'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/InstallerJob"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Price Groups
- summary: Deletes a price group
- description: "Required scope: `price-groups:delete`"
- operationId: delete-price-group
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "404":
- description: Price group not found
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaAppResponse'
- "204":
- description: Price group successfully deleted
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -3881,102 +4242,56 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/price-groups/{id}/apply:
- put:
+ delete:
tags:
- - Price Groups
- summary: "Apply price group to charge points, sites or team members"
- description: "Required scope: `price-groups:write`"
- operationId: apply-price-group
+ - Installer Jobs
+ summary: Delete an existing installer job
+ description: "Required scope: `installer-jobs:delete`"
+ operationId: delete-installer-job
parameters:
- - name: id
+ - name: installerJobId
in: path
required: true
schema:
- minimum: 0
- exclusiveMinimum: true
type: integer
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ApplyPriceGroup'
- required: true
responses:
+ "204":
+ description: Installer Job deleted
"404":
- description: Price group not found
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaAppResponse'
- "200":
- description: Price group successfully applied to the selected entities
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PriceGroup'
- "400":
- description: The request is invalid
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/price-groups/{id}/default:
- put:
- tags:
- - Price Groups
- summary: Sets a price group as default
- description: "Required scope: `price-groups:write`"
- operationId: set-default-price-group
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "404":
- description: Price group not found
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaAppResponse'
- "200":
- description: Price group successfully set as default
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/PriceGroup'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -3987,74 +4302,83 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/prices/forecast:
+ /api/v1/invoices:
get:
tags:
- - Prices Forecast
- summary: Retrieve prices forecast.
- description: "Prices can be forecasted for a charge point and optionally a price\
- \ group, when `priceGroupId` is not provided the charge point price group\
- \ will be used. *Note*: This endpoint is in BETA phase and is subject\
- \ to changes in a near future release Required scope: `prices-forecast:read`"
- operationId: get-prices-forecast
+ - Invoices
+ summary: Retrieves a list of invoices by walletId
+ description: "Required scope: `invoices:read`"
+ operationId: get-invoice
parameters:
- - name: chargePointId
+ - name: page
in: query
+ description: page number to retrieve (starts with 0)
schema:
- minimum: 0
- exclusiveMinimum: true
type: integer
- description: Filter to retrieve prices forecast for the specified `chargePointId`
- format: int64
- example: 13
- - name: priceGroupId
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
in: query
+ description: "number of items per page (between 1 and 100, default 10)"
schema:
- minimum: 0
- exclusiveMinimum: true
type: integer
- description: Filter to retrieve prices forecast for the specified `priceGroupId`
- format: int64
- nullable: true
- example: 130
- - name: teamMemberId
+ format: int32
+ default: 10
+ example: 10
+ - name: walletId
in: query
+ required: true
schema:
type: integer
- description: Filter to retrieve prices forecast for the specified `teamMemberId`
format: int64
- nullable: true
- example: 13
+ - name: pageable
+ in: query
+ required: true
+ schema:
+ $ref: "#/components/schemas/Pageable"
responses:
"200":
- description: Prices Forecast for the given filter
+ description: Invoices successfully retrieved
content:
application/json:
schema:
- $ref: '#/components/schemas/PricesForecast'
- "401":
- description: Unauthorized access
+ $ref: "#/components/schemas/MontaPage_InvoiceDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- "400":
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
description: The request is invalid
content:
application/json:
@@ -4066,13 +4390,78 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/sites:
+ /api/v1/invoices/{invoiceId}:
get:
tags:
- - Sites
- summary: Retrieve your (charge) sites.
- description: "Required scope: `charge-points:read`"
- operationId: get-sites
+ - Invoices
+ summary: Retrieves an invoice by its id
+ description: "Required scope: `invoices:read`"
+ operationId: get-invoice_1
+ parameters:
+ - name: invoiceId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Invoice successfully retrieved
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/InvoiceDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/nested-teams:
+ get:
+ tags:
+ - Nested teams
+ summary: Retrieve a list of nested team relations
+ description: "Required scope: `team-members:read`"
+ operationId: getNestedTeams
parameters:
- name: page
in: query
@@ -4081,7 +4470,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -4089,83 +4478,117 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: teamId
- in: query
- description: The team id from which sites will be filtered by
- schema:
- type: integer
- format: int64
- example: "13"
- - name: partnerExternalId
- in: query
- description: "Filter sites by partnerExternalId, to filter only resources\
- \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
- schema:
- type: string
- - name: sortByLocation
+ example: 10
+ - name: state
in: query
- description: |-
- lat,long coordinates. If supplied, the Charge Points will be sorted in nearest first order relative
- to this point. (Format: 55.7096,12.5856)
schema:
- type: string
- example: "55.7096,12.5856"
+ description: State of the nested team invitation
+ nullable: true
+ example: accepted
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberState"
+ - {}
- name: includeDeleted
in: query
- description: Includes deleted resources in the response
- required: false
schema:
type: boolean
+ description: Includes deleted resources in the response
+ nullable: true
+ example: false
default: false
responses:
"200":
- description: List of sites that match the criteria
+ description: List of nested team relations that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_SiteDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_NestedTeamDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
+ /api/v1/nested-teams/invite:
post:
tags:
- - Sites
- summary: Create a (charge) site
- description: "Required scope: `charge-points:write`"
- operationId: post-site
+ - Nested teams
+ summary: Nested team invite
+ description: "Required scope: `team-members:write`"
+ operationId: invite
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateSite'
+ $ref: "#/components/schemas/NestedTeamInvite"
required: true
responses:
- "201":
- description: Site created
+ "200":
+ description: Nested team invite sent
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/NestedTeam"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Site'
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -4186,49 +4609,31 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/sites/{siteId}:
+ /api/v1/nested-teams/{relationId}:
get:
tags:
- - Sites
- summary: Retrieve a single (charge) site.
- description: "Required scope: `charge-points:read`"
- operationId: get-site
+ - Nested teams
+ summary: Get a nested team by nested team relation id
+ description: "Required scope: `team-members:read`"
+ operationId: getNestedTeam
parameters:
- - name: siteId
+ - name: relationId
in: path
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
format: int64
responses:
"200":
- description: Site with provided id
+ description: Nested team relation
content:
application/json:
schema:
- $ref: '#/components/schemas/Site'
- "403":
- description: Operator doesn't have access to resource
- content:
- application/json:
- schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/NestedTeam"
"404":
description: Entity with the provided id was not found
content:
@@ -4241,45 +4646,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Sites
- summary: Delete an existing (charge) site
- description: "*Note:* This action will also remove `Charge Points` from the\
- \ `Site`.Required scope: `charge-points:delete`"
- operationId: delete-site
- parameters:
- - name: siteId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Site deleted
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -4300,44 +4676,48 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- patch:
+ delete:
tags:
- - Sites
- summary: Patch an existing (charge) site
- description: "Required scope: `charge-points:write`"
- operationId: patch-site
+ - Nested teams
+ summary: Delete a nested team relation
+ description: "Required scope: `team-members:delete`"
+ operationId: deleteNestedTeam
parameters:
- - name: siteId
+ - name: relationId
in: path
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchSite'
- required: true
responses:
- "200":
- description: Site updated
+ "204":
+ description: Nested team relation deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/Site'
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -4358,120 +4738,58 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/sponsored-charge-points:
- get:
+ patch:
tags:
- - Sponsored Charge Points
- summary: Retrieve a list of sponsored charge points
- description: "Required scope: `sponsored-charge-points:read`"
- operationId: get-sponsored-charge-points
+ - Nested teams
+ summary: Update a nested team relation
+ description: "Required scope: `team-members:write`"
+ operationId: updateNestedTeam
parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: chargePointId
- in: query
- schema:
- required:
- - "false"
- type: integer
- description: Allows to filter list of sponsored charge points by a charge
- point id
- format: int64
- nullable: true
- example: 13
- - name: teamId
- in: query
+ - name: relationId
+ in: path
+ required: true
schema:
- required:
- - "false"
+ minimum: 0
+ exclusiveMinimum: true
type: integer
- description: Allows to filter list of sponsored charge points by a team
- id.
format: int64
- nullable: true
- example: 19
- - name: includeDeleted
- in: query
- schema:
- type: boolean
- description: Filter to include deleted entities in the response
- example: false
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchNestedTeam"
+ required: true
responses:
"200":
- description: List of sponsored charges points that match the criteria
+ description: Nested team invite sent
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_SponsoredChargePointDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/NestedTeam"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Sponsored Charge Points
- summary: Create a sponsored charge point
- description: "Creates a sponsored charge point for a given user, the sponsorship\
- \ is automatically approved.*Note:* a charge point can only be sponsored\
- \ to one user_idRequired scope: `sponsored-charge-points:write`"
- operationId: post-sponsored-charge-point
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateSponsoredChargePointDto'
- required: true
- responses:
- "201":
- description: Sponsored charge point created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SponsoredChargePoint'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -4492,49 +4810,31 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/sponsored-charge-points/{sponsoredChargePointId}:
- get:
+ /api/v1/nested-teams/{relationId}/accept-invite:
+ post:
tags:
- - Sponsored Charge Points
- summary: Retrieve a single sponsored charge point
- description: "Required scope: `sponsored-charge-points:read`"
- operationId: get-sponsored-charge-point
+ - Nested teams
+ summary: Accept a nested team invitation
+ description: "Required scope: `team-members:write`"
+ operationId: acceptInvite
parameters:
- - name: sponsoredChargePointId
+ - name: relationId
in: path
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
format: int64
responses:
"200":
- description: Sponsored charge point with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SponsoredChargePoint'
- "403":
- description: Operator doesn't have access to resource
+ description: Nested team relation
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/NestedTeam"
"404":
description: Entity with the provided id was not found
content:
@@ -4547,44 +4847,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Sponsored Charge Points
- summary: Delete an existing sponsored charge point
- description: "Required scope: `sponsored-charge-points:delete`"
- operationId: delete-sponsored-charge-point
- parameters:
- - name: sponsoredChargePointId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Sponsored Charge Point deleted
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -4605,82 +4877,91 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- patch:
+ /api/v1/nested-teams/{relationId}/reject-invite:
+ post:
tags:
- - Sponsored Charge Points
- summary: Update a sponsored charge point
- description: "Required scope: `sponsored-charge-points:write`"
- operationId: patch-sponsored-charge-point
+ - Nested teams
+ summary: Reject a nested team invitation
+ description: "Required scope: `team-members:write`"
+ operationId: rejectInvite
parameters:
- - name: sponsoredChargePointId
+ - name: relationId
in: path
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchSponsoredChargePoint'
- required: true
responses:
"200":
- description: Updated sponsored charge point with provided id
+ description: Nested team relation
content:
application/json:
schema:
- $ref: '#/components/schemas/SponsoredChargePoint'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/NestedTeam"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/subscription-purchases:
- get:
- tags:
- - Subscription Purchases
- summary: Retrieve a list of subscription purchases
- description: "Required scope: `subscriptions:read`"
- operationId: get-subscription-purchases
- parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/operators:
+ get:
+ tags:
+ - Operators
+ summary: Retrieve operators
+ description: "Required scope: `operators`"
+ operationId: get-operators
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -4688,64 +4969,67 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: subscriptionId
- in: query
- schema:
- required:
- - "false"
- type: integer
- description: Filter subscription purchases by subscription id
- format: int64
- nullable: true
- example: 1
- - name: includeDeleted
- in: query
- schema:
- required:
- - "false"
- type: boolean
- description: Includes deleted resources in the response
- nullable: true
- example: true
+ example: 10
responses:
"200":
- description: List of subscription purchases that match the criteria
+ description: List of operators that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_SubscriptionPurchaseDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_OperatorDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/subscription-purchases/{subscriptionPurchaseId}:
+ /api/v1/operators/{id}:
get:
tags:
- - Subscription Purchases
- summary: Retrieve a subscription purchase
- description: "Required scope: `subscriptions:read`"
- operationId: get-subscription-purchase
+ - Operators
+ summary: Retrieve an operator
+ description: "Required scope: `operators`"
+ operationId: get-operator
parameters:
- - name: subscriptionPurchaseId
+ - name: id
in: path
required: true
schema:
@@ -4753,40 +5037,62 @@ paths:
format: int64
responses:
"200":
- description: Subscription purchase with provided id
+ description: operator with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/SubscriptionPurchase'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/Operator"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/subscriptions:
+ /api/v1/payment-terminals:
get:
tags:
- - Subscriptions
- summary: Retrieve a list of subscriptions
- description: "Required scope: `subscriptions:read`"
- operationId: get-subscriptions
+ - Payment Terminals
+ summary: Retrieve a list of payment terminals
+ description: "Required scope: `payment-terminals:read`"
+ operationId: get-payment-terminals
parameters:
- name: page
in: query
@@ -4795,7 +5101,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -4803,86 +5109,74 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: planId
+ example: 10
+ - name: serial
in: query
schema:
required:
- "false"
- type: integer
- description: Filter subscription by plan
- format: int64
+ type: string
+ description: Allows to filter list of terminals by a serial
nullable: true
- example: 1
- - name: chargePointId
+ example: XYZ123-DF-123
+ - name: teamId
in: query
schema:
required:
- "false"
type: integer
- description: Filter subscriptions by charge point
+ description: Allows to filter list of terminals by a team id.
format: int64
nullable: true
- example: 1
- - name: subscriptionPurchaseId
+ example: 19
+ - name: includeDeleted
in: query
schema:
required:
- "false"
- type: integer
- description: Filter subscriptions by subscription purchase id. Should return
- max. 1 subscription.
- format: int64
+ type: boolean
+ description: "If true, deleted entities will be included in the response."
nullable: true
- example: 42
+ example: true
responses:
"200":
- description: List of Charge Point subscriptions that match the criteria
+ description: List of payment terminals that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_SubscriptionDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_PaymentTerminalDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Subscriptions
- summary: Create subscription
- description: "Required scope: `subscriptions:write`"
- operationId: create-subscription
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateSubscription'
- required: true
- responses:
- "201":
- description: The created subscription
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/Subscription'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -4893,81 +5187,60 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/subscriptions/{subscriptionId}:
+ /api/v1/payment-terminals/{paymentTerminalId}:
get:
tags:
- - Subscriptions
- summary: Retrieve a subscription
- description: "Required scope: `subscriptions:read`"
- operationId: get-subscription
+ - Payment Terminals
+ summary: Retrieve a single payment terminal
+ description: "Required scope: `payment-terminals:read`"
+ operationId: get-payment-terminal
parameters:
- - name: subscriptionId
+ - name: paymentTerminalId
in: path
required: true
schema:
- type: integer
- format: int64
+ type: string
responses:
"200":
- description: Subscription with provided ID
+ description: Payment Terminal with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/Subscription'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/PaymentTerminal"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Subscriptions
- summary: Cancel subscription
- description: "Required scope: `subscriptions:delete`"
- operationId: delete-subscription
- parameters:
- - name: subscriptionId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Subscription successfully canceled
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/Unit'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -4978,100 +5251,104 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/subscriptions/{subscriptionId}/approve:
- post:
+ /api/v1/plans:
+ get:
tags:
- - Subscriptions
- summary: Approve subscription
- description: "Required scope: `subscriptions:write`"
- operationId: approve-subscription
+ - Plans
+ summary: Retrieve plans
+ description: "Required scope: `plans:read`"
+ operationId: get-plans
parameters:
- - name: subscriptionId
- in: path
- required: true
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
schema:
type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ApproveSubscription'
- required: true
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
responses:
"200":
- description: The updated subscription
+ description: List of plans that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/Subscription'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_PlanDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/tariff-period-groups:
+ /api/v1/plans/{id}:
get:
tags:
- - Tariff Period Groups
- summary: Retrieve Tariff Period Groups by tariff id
- description: "Required scope: `tariff:read`"
- operationId: get-period-groups
+ - Plans
+ summary: Retrieve a plan
+ description: "Required scope: `plans:read`"
+ operationId: get-plan
parameters:
- - name: tariffId
- in: query
- description: Filter to retrieve tariff period groups by tariff id
+ - name: id
+ in: path
+ required: true
schema:
type: integer
format: int64
responses:
"200":
- description: Tariff period group with provided tariff id
- content:
- application/json:
- schema:
- type: array
- items:
- $ref: '#/components/schemas/TariffPeriodGroup'
- "403":
- description: Operator doesn't have access to resource
+ description: Plan with provided id
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/Plan"
"404":
description: Entity with the provided id was not found
content:
@@ -5084,47 +5361,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Tariff Period Groups
- summary: Create a new Tariff Period Group.
- description: "Required scope: `tariffs:write`"
- operationId: create-tariff-period-group
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TariffPeriodGroup'
- required: true
- responses:
- "201":
- description: New Tariff Period Group
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffPeriodGroup'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -5135,50 +5391,40 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/tariff-period-groups/{id}:
+ /api/v1/price-group-tags:
get:
tags:
- - Tariff Period Groups
- summary: Retrieve Tariff Period Groups by id
- description: "Required scope: `tariff:read`"
- operationId: get-period-group
+ - Price Groups Tags
+ summary: Retrieve price group tags.
+ description: "Required scope: `price-groups:read`"
+ operationId: get-price-group-tags
parameters:
- - name: id
- in: path
- description: Filter to retrieve tariff period groups by id
- required: true
+ - name: name
+ in: query
schema:
- type: integer
- format: int64
+ type: string
+ description: Filter to retrieve resources by the specified `name`.
+ nullable: true
+ example: Energy
+ - name: partnerExternalId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "Filter resources by partnerExternalId, to filter only resources\
+ \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
+ nullable: true
+ example: 1A2B
responses:
"200":
- description: Tariff period group with provided group id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TariffPeriodGroup'
- "403":
- description: Operator doesn't have access to resource
+ description: Price group tags for a given filter
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/MontaPage_PriceGroupTagDto_"
"404":
description: Entity with the provided id was not found
content:
@@ -5191,45 +5437,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Tariff Period Groups
- summary: "Delete an existing Tariff Period Group, and all contained recurring\
- \ periods and prices."
- description: "Required scope: `tariffs:delete`"
- operationId: delete-tariff-period-group
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Tariff Period Group deleted
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -5240,151 +5467,124 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- patch:
+ post:
tags:
- - Tariff Period Groups
- summary: Update existing Tariff Period Group.
- description: "Required scope: `tariffs:write`"
- operationId: update-tariff-period-group
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
+ - Price Groups Tags
+ summary: Create a price group tag
+ description: "Required scope: `price-groups:write`"
+ operationId: post-price-group-tag
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffPeriodGroup'
+ $ref: "#/components/schemas/CreatePriceGroupTag"
required: true
responses:
- "200":
- description: Updated Tariff Period Group
+ "201":
+ description: Price group tag created
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffPeriodGroup'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/PriceGroupTag"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/tariff-recurring-periods:
+ /api/v1/price-group-tags/{id}:
get:
tags:
- - Tariff Recurring Periods
- summary: Retrieve recurring periods.
- description: "Required scope: `tariffs:read`"
- operationId: get-tariff-recurring-periods
+ - Price Groups Tags
+ summary: Retrieve a single price group tag
+ description: "Required scope: `price-groups:read`"
+ operationId: get-price-group-tag
parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: tariffId
- in: query
- required: true
- schema:
- type: integer
- format: int64
- - name: tariffPeriodGroupId
- in: query
+ - name: id
+ in: path
required: true
schema:
type: integer
format: int64
responses:
"200":
- description: Tariff recurring periods with provided tariffId & tariffPeriodGroupId
+ description: Price group tag with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/Page_TariffRecurringPeriodDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/PriceGroupTag"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Tariff Recurring Periods
- summary: Create new recurring period.
- description: "Required scope: `tariffs:write`"
- operationId: create-tariff-recurring-periods
- parameters: []
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TariffRecurringPeriodCreateRequestDto'
- required: true
- responses:
- "201":
- description: Tariff recurring period that was created
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffRecurringPeriod'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -5395,25 +5595,14 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/tariff-recurring-periods/{id}:
delete:
tags:
- - Tariff Recurring Periods
- summary: "Delete an existing Tariff Recurring Period , and all contained prices."
- description: "Required scope: `tariffs:delete`"
- operationId: delete-tariff-recurring-period
+ - Price Groups Tags
+ summary: Delete an existing price group tag
+ description: "Required scope: `price-groups:delete`"
+ operationId: delete-price-group-tag
parameters:
- name: id
in: path
@@ -5422,51 +5611,78 @@ paths:
type: integer
format: int64
responses:
- "204":
- description: Tariff Recurring Period deleted
- "400":
- description: The request is invalid
+ "200":
+ description: Price group tag deleted
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/tariff-recurring-periods/{periodId}:
- get:
+ patch:
tags:
- - Tariff Recurring Periods
- summary: Retrieve a tariff recurring period.
- description: "Required scope: `tariffs:read`"
- operationId: get-tariff-recurring-period
+ - Price Groups Tags
+ summary: Update a price group tag
+ description: "Required scope: `price-groups:write`"
+ operationId: patch-price-group-tag
parameters:
- - name: periodId
+ - name: id
in: path
required: true
schema:
type: integer
format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchPriceGroupTag"
+ required: true
responses:
"200":
- description: Tariff recurring period with provided id
+ description: Price group tag updated
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffRecurringPeriod'
+ $ref: "#/components/schemas/PriceGroupTag"
"404":
description: Entity with the provided id was not found
content:
@@ -5479,54 +5695,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- patch:
- tags:
- - Tariff Recurring Periods
- summary: Update existing recurring period.
- description: "Required scope: `tariffs:write`"
- operationId: update-tariff-recurring-periods
- parameters:
- - name: periodId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TariffRecurringPeriodUpdateRequestDto'
- required: true
- responses:
- "200":
- description: Tariff recurring period that was updated
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TariffRecurringPeriod'
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -5537,79 +5725,30 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/tariffs:
+ /api/v1/price-groups:
get:
tags:
- - Tariff
- summary: Retrieve all tariffs.
- description: "Required scope: `tariffs:read`"
- operationId: get-all-tariffs
+ - Price Groups
+ summary: Retrieve a list of price groups.
+ description: "Required scope: `price-groups:read`"
+ operationId: getPriceGroups
parameters:
- - name: countryId
- in: query
- description: Country id of the tariff
- schema:
- type: integer
- format: int64
- - name: countryAreaId
- in: query
- description: Country area id of the tariff
- schema:
- type: integer
- format: int64
- - name: externalId
- in: query
- description: External id of the tariff
- schema:
- type: string
- - name: operatorId
- in: query
- description: Operator id of the tariff (taken from the consumer)
- schema:
- type: integer
- format: int64
- name: teamId
in: query
- description: Team id of the tariff
+ description: Filter to retrieve price groups with specified team id
+ required: true
schema:
type: integer
format: int64
- - name: zip
- in: query
- description: Zip code of the tariff
- schema:
- type: string
responses:
"200":
- description: All tariffs
- content:
- application/json:
- schema:
- type: array
- items:
- $ref: '#/components/schemas/TariffDto'
- "403":
- description: Operator doesn't have access to resource
+ description: List of price groups that match the criteria
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/MontaPage_PriceGroupDto_"
"404":
description: Entity with the provided id was not found
content:
@@ -5622,94 +5761,100 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
post:
tags:
- - Tariff
- summary: Create a new Tariff.
- description: "Required scope: `tariffs:write`"
- operationId: create-tariff
+ - Price Groups
+ summary: Creates a price group
+ description: "Required scope: `price-groups:write`"
+ operationId: create-price-group
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateTariffRequest'
+ $ref: "#/components/schemas/CreateOrUpdatePriceGroupDto"
required: true
responses:
+ "404":
+ description: Team not found
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaAppResponse"
"201":
- description: New Tariff
+ description: Price group successfully created
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffDto'
- "400":
- description: The request is invalid
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/tariffs/{tariffId}:
+ /api/v1/price-groups/{id}:
get:
tags:
- - Tariff
- summary: Retrieve your tariff and prices.
- description: "Required scope: `tariffs:read`"
- operationId: get-tariff
+ - Price Groups
+ summary: Retrieve a price group.
+ description: "Required scope: `price-groups:read`"
+ operationId: getPriceGroup
parameters:
- - name: start
- in: query
- description: "Filter to retrieve tariffs where `createdAt` >= `start` (ISO8601:\
- \ yyyy-MM-ddTHH:mm:ssZ)"
- schema:
- type: string
- format: date-time
- example: 2022-05-22T09:30:03Z
- - name: end
- in: query
- description: "Filter to retrieve charges where `createdAt` <= `end` (ISO8601:\
- \ yyyy-MM-ddTHH:mm:ssZ)"
- schema:
- type: string
- format: date-time
- example: 2022-05-22T09:30:03Z
- - name: tariffId
+ - name: id
in: path
required: true
schema:
@@ -5717,21 +5862,11 @@ paths:
format: int64
responses:
"200":
- description: Tariff with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/FullTariff'
- "403":
- description: Operator doesn't have access to resource
+ description: Price group with provided id
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/PriceGroup"
"404":
description: Entity with the provided id was not found
content:
@@ -5744,36 +5879,46 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
+ "401":
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
put:
tags:
- - Tariff
- summary: Update an existing Tariff.
- description: "Required scope: `tariffs:write`"
- operationId: update-tariff
+ - Price Groups
+ summary: Updates a price group
+ description: "Required scope: `price-groups:write`"
+ operationId: update-price-group
parameters:
- - name: tariffId
+ - name: id
in: path
required: true
schema:
@@ -5783,64 +5928,31 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/UpdateTariffRequest'
+ $ref: "#/components/schemas/CreateOrUpdatePriceGroupDto"
required: true
responses:
- "200":
- description: Updated Tariff
+ "404":
+ description: Price group not found
content:
application/json:
schema:
- $ref: '#/components/schemas/TariffDto'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaAppResponse"
+ "200":
+ description: Price group successfully updated
content:
application/json:
schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ $ref: "#/components/schemas/PriceGroup"
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/tariffs/{tariffId}/create-prices:
- post:
- tags:
- - Tariff
- summary: Create the prices for a given tariff within a given period of time.
- description: "Required scope: `tariffs:write`"
- operationId: create-tariff-prices
- parameters:
- - name: tariffId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateTariffPricesRequest'
- required: true
- responses:
- "201":
- description: Tariff prices created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/FullTariff'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -5851,18 +5963,6 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
- schema:
- type: object
- example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
"400":
description: The request is invalid
content:
@@ -5873,178 +5973,40 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/team-members:
- get:
+ delete:
tags:
- - Team Members
- summary: Retrieve a list of team members.
- description: "Required scope: `team-members:read`"
- operationId: getTeamMembers
+ - Price Groups
+ summary: Deletes a price group
+ description: "Required scope: `price-groups:delete`"
+ operationId: delete-price-group
parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: teamId
- in: query
- schema:
- required:
- - "false"
- type: integer
- description: Filter team members by `teamId`
- format: int64
- nullable: true
- example: 1
- - name: includeDeleted
- in: query
- schema:
- required:
- - "false"
- type: boolean
- description: Includes deleted resources in the response
- example: true
- default: false
- - name: role
- in: query
- schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/TeamMemberRole'
- - description: Filter team members by the specified `role`
- example: admin
- - name: state
- in: query
- schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/TeamMemberState'
- - description: Filter team members by the specified `state`
- example: expired
- - name: userId
- in: query
+ - name: id
+ in: path
+ required: true
schema:
- minimum: 0
- exclusiveMinimum: true
- required:
- - "false"
type: integer
- description: Filter team members with specified `userId`
format: int64
- nullable: true
- example: 42
- - name: email
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Filter team members with specified `email`
- format: email
- nullable: true
- example: user@acme.com
- - name: phone
- in: query
- schema:
- pattern: "^\\+[1-9]\\d{1,14}$"
- required:
- - "false"
- type: string
- description: Filter team members with specified `phone` number
- nullable: true
- example: "+451234567"
- - name: partnerExternalTeamId
- in: query
- schema:
- required:
- - "false"
- type: string
- description: "Filter team members by the specified `partnerExternalTeamId`Note:\
- \ partnerExternalTeamId refers to external id on the team level"
- nullable: true
- example: 1A2B3C4D5E
- - name: partnerExternalId
- in: query
- schema:
- required:
- - "false"
- type: string
- description: Filter team members with specified `partnerExternalId`
- nullable: true
- example: 1A2B3C4D5E
responses:
- "200":
- description: List of team members that match the criteria
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/MontaPage_TeamMemberDto_'
- "400":
- description: The request is invalid
+ "404":
+ description: Price group not found
content:
application/json:
schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ $ref: "#/components/schemas/MontaAppResponse"
+ "204":
+ description: Price group successfully deleted
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Team Members
- summary: Create (invite) a team member
- description: "Create (invite) a user to join a team, invitation can be done\
- \ via `userId`, `email` and/or `phone`. A user that does not exist in yet\
- \ will have a null `userId`.Required scope: `team-members:write`"
- operationId: post-team-member
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateTeamMember'
- required: true
- responses:
- "201":
- description: Team member created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TeamMemberDto'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6065,87 +6027,63 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/team-members/{id}:
- get:
+ /api/v1/price-groups/{id}/apply:
+ put:
tags:
- - Team Members
- summary: Retrieve a team member.
- description: "Required scope: `team-members:read`"
- operationId: getTeamMember
+ - Price Groups
+ summary: "Apply price group to charge points, sites or team members"
+ description: "Required scope: `price-groups:write`"
+ operationId: apply-price-group
parameters:
- name: id
in: path
required: true
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ApplyPriceGroup"
+ required: true
responses:
- "200":
- description: Team member with provided id
+ "404":
+ description: Price group not found
content:
application/json:
schema:
- $ref: '#/components/schemas/TeamMemberDto'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaAppResponse"
+ "200":
+ description: Price group successfully applied to the selected entities
content:
application/json:
schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ $ref: "#/components/schemas/PriceGroup"
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- patch:
- tags:
- - Team Members
- summary: Patch a team member.
- description: "Required scope: `team-members:write`"
- operationId: patchTeamMember
- parameters:
- - name: id
- in: path
- required: true
- schema:
- type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchTeamMember'
- required: true
- responses:
- "200":
- description: Updated Team member with provided id
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
- $ref: '#/components/schemas/TeamMemberDto'
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -6156,25 +6094,15 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/team-members/{id}/resend-invite:
- post:
+ /api/v1/price-groups/{id}/default:
+ put:
tags:
- - Team Members
- summary: Resend an invite to a team member and reset expiry date.
- description: "Required scope: `team-members:write`"
- operationId: resendTeamMemberInvite
+ - Price Groups
+ summary: Sets a price group as default
+ description: "Required scope: `price-groups:write`"
+ operationId: set-default-price-group
parameters:
- name: id
in: path
@@ -6183,51 +6111,28 @@ paths:
type: integer
format: int64
responses:
- "200":
- description: Team member with provided id
+ "404":
+ description: Price group not found
content:
application/json:
schema:
- $ref: '#/components/schemas/TeamMemberDto'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaAppResponse"
+ "200":
+ description: Price group successfully set as default
content:
application/json:
schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ $ref: "#/components/schemas/PriceGroup"
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/team-members/{teamMemberId}:
- delete:
- tags:
- - Team Members
- summary: Delete an existing team member
- description: "Required scope: `team-members:delete`"
- operationId: delete-team-member
- parameters:
- - name: teamMemberId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "204":
- description: Team member deleted
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6248,104 +6153,75 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/teams:
+ /api/v1/prices/forecast:
get:
tags:
- - Teams
- summary: Retrieve a list of teams
- description: "Required scope: `teams:read`"
- operationId: get-teams
+ - Prices Forecast
+ summary: Retrieve prices forecast.
+ description: "Prices can be forecasted for a charge point and optionally a price\
+ \ group, when `priceGroupId` is not provided the charge point price group\
+ \ will be used. *Note*: This endpoint is in BETA phase and is subject\
+ \ to changes in a near future release Required scope: `prices-forecast:read`"
+ operationId: get-prices-forecast
parameters:
- - name: partnerExternalId
- in: query
- description: "Filter teams by partnerExternalId, to filter only resources\
- \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
- schema:
- type: string
- - name: includeDeleted
+ - name: chargePointId
in: query
- description: Filter to include delete teams in the response
- required: false
schema:
- type: boolean
- default: false
- example: "true"
- - name: page
+ minimum: 0
+ exclusiveMinimum: true
+ type: integer
+ description: Filter to retrieve prices forecast for the specified `chargePointId`
+ format: int64
+ example: 13
+ - name: priceGroupId
in: query
- description: page number to retrieve (starts with 0)
schema:
+ minimum: 0
+ exclusiveMinimum: true
type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
+ description: Filter to retrieve prices forecast for the specified `priceGroupId`
+ format: int64
+ nullable: true
+ example: 130
+ - name: teamMemberId
in: query
- description: "number of items per page (between 1 and 100, default 10)"
schema:
type: integer
- format: int32
- default: 10
- example: "10"
+ description: Filter to retrieve prices forecast for the specified `teamMemberId`
+ format: int64
+ nullable: true
+ example: 13
responses:
"200":
- description: List of teams that match the criteria
+ description: Prices Forecast for the given filter
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_TeamDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/PricesForecast"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- post:
- tags:
- - Teams
- summary: Create a team
- description: "Required scope: `teams:write`"
- operationId: post-team
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateTeamDto'
- required: true
- responses:
- "201":
- description: Team created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Team'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6366,79 +6242,122 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/teams/{id}:
+ /api/v1/reports:
get:
tags:
- - Teams
- summary: Retrieve a team
- description: "Required scope: `teams:read`"
- operationId: get-team
+ - Reports
+ summary: Retrieve a list of reports for charge point(s).
+ description: "Required scope: `reports:read`"
+ operationId: get-reports
parameters:
- - name: id
- in: path
- required: true
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
schema:
type: integer
- format: int64
- responses:
- "200":
- description: Team with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Team'
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/teams/{teamId}:
- delete:
- tags:
- - Teams
- summary: Delete an existing team
- description: "Required scope: `teams:delete`"
- operationId: delete-team
- parameters:
- - name: teamId
- in: path
- required: true
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
schema:
type: integer
- format: int64
- responses:
- "204":
- description: Team deleted
- "403":
+ format: int32
+ default: 10
+ example: 10
+ - name: chargePointId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter to retrieve reports with specified `chargePointId`
+ format: int64
+ nullable: true
+ example: 10
+ - name: state
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter to retrieve reports by `state`
+ nullable: true
+ example: new
+ enum:
+ - new
+ - action
+ - assigned-owner
+ - assigned-monta
+ - assigned-operator
+ - resolved
+ - name: fromDate
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "Filter to retrieve reports where `createdAt` >= `fromDate`\
+ \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: toDate
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "Filter to retrieve reports where `createdAt` <= `toDate` (ISO8601:\
+ \ yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: priority
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Priority of the report
+ nullable: true
+ enum:
+ - low
+ - medium
+ - high
+ responses:
+ "200":
+ description: List of reports that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_ReportDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
description: Operator doesn't have access to resource
content:
application/json:
@@ -6458,44 +6377,29 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- patch:
+ /api/v1/reports/{reportId}:
+ get:
tags:
- - Teams
- summary: Patch an existing team
- description: "Required scope: `teams:write`"
- operationId: patch-team
+ - Reports
+ summary: Retrieve a report related to a charge point.
+ description: "Required scope: `reports:read`"
+ operationId: get-report
parameters:
- - name: teamId
+ - name: reportId
in: path
required: true
schema:
type: integer
format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchTeam'
- required: true
responses:
"200":
- description: Team updated
+ description: report with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/Team'
+ $ref: "#/components/schemas/ReportDto"
"403":
description: Operator doesn't have access to resource
content:
@@ -6506,35 +6410,48 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "400":
- description: The request is invalid
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/wallet-transactions:
+ /api/v1/sites:
get:
tags:
- - Wallet Transactions
- summary: Retrieve your wallet transactions.
- description: "Required scope: `wallet-transactions:read`"
- operationId: get-wallet-transactions
+ - Sites
+ summary: Retrieve your (charge) sites
+ description: "Required scope: `charge-points:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-sites
parameters:
- name: page
in: query
@@ -6543,7 +6460,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -6551,131 +6468,85 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
+ example: 10
- name: teamId
in: query
schema:
type: integer
- description: "Filter to retrieve transactions for a given team. *Note*:\
- \ When not provided the transactions for the operator will be returned\
- \ instead"
- format: int32
- nullable: true
- example: 1
- - name: fromDate
- in: query
- schema:
- pattern: "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})Z$"
- type: string
- description: "Filter to retrieve transactions where `createdAt` >= `fromDate`\
- \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
- format: date-time
- nullable: true
- example: 2022-05-22T09:30:03Z
- - name: toDate
- in: query
- schema:
- pattern: "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})Z$"
- type: string
- description: "Filter to retrieve transactions where `createdAt` <= `toDate`\
- \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
- format: date-time
+ description: Allows to filter by a team id.
+ format: int64
nullable: true
- example: 2022-05-22T09:30:03Z
- - name: referenceId
+ example: 19
+ - name: partnerExternalId
in: query
schema:
type: string
- description: Filter to retrieve transactions by the matching referenceId
+ description: "Filter by partnerExternalId, to filter only resources without\
+ \ `partnerExternalId` *use* `partnerExternalId=\"\"`"
nullable: true
example: "1"
- - name: referenceType
+ - name: sortByLocation
in: query
schema:
+ pattern: "^(-?\\d*\\.\\d+|\\d+\\.\\d*)(,)(-?\\d*\\.\\d+|\\d+\\.\\d*)$"
+ type: string
+ description: "lat,long coordinates. If supplied, the Charge Points will\
+ \ be sorted in nearest first order relativeto this point. (Format: 55.7096,12.5856,\
+ \ -8.050000, -34.900002)"
nullable: true
- allOf:
- - $ref: '#/components/schemas/WalletTransactionReferenceType'
- - type: string
- description: Filter to retrieve transactions by the matching referenceType
- example: CHARGE
- - name: state
+ example: "55.7096,12.5856"
+ - name: operatorId
in: query
schema:
+ type: integer
+ description: Allows to filter by `operatorId`
+ format: int64
nullable: true
- allOf:
- - $ref: '#/components/schemas/WalletTransactionState'
- - type: string
- description: Filter to retrieve transactions by the matching state
- example: complete
- - name: group
+ example: 1
+ - name: includePublic
in: query
schema:
- nullable: true
- allOf:
- - $ref: '#/components/schemas/WalletTransactionGroup'
- - type: string
- description: Filter to retrieve transactions by the matching group
- example: deposit
- - name: partnerExternalId
+ type: boolean
+ description: "Includes public sites from other operators in the response**Note:\
+ \ Only supported from Version `2024-07-01`**"
+ example: false
+ default: false
+ - name: includeDeleted
in: query
schema:
- required:
- - "false"
- type: string
- description: "Filter transactions by partnerExternalId, to filter only resources\
- \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
- nullable: true
- example: "1"
+ type: boolean
+ description: Includes deleted resources in the response
+ example: true
+ default: false
responses:
"200":
- description: List of wallet transactions that match the criteria
+ description: List of sites that match the criteria
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_WalletTransactionDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/MontaPage_SiteDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/wallet-transactions/operator-adjustment-transaction:
- post:
- tags:
- - Wallet Transactions
- summary: Post an operator adjustment transaction
- description: "This API endpoint is for operator to create an adjustment transaction\
- \ to their teams. Required scope: `wallet-transaction:write`"
- operationId: post-operator-adjustment-transaction
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OperatorAdjustmentTransaction'
- required: true
- responses:
- "201":
- description: Transaction created
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/WalletTransaction'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6696,49 +6567,28 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/wallet-transactions/{transactionId}:
- get:
+ post:
tags:
- - Wallet Transactions
- summary: Retrieve a single wallet transaction.
- description: "Required scope: `wallet-transactions:read`"
- operationId: get-wallet-transaction
- parameters:
- - name: transactionId
- in: path
+ - Sites
+ summary: Create a (charge) site
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
+ operationId: post-site
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateSite"
required: true
- schema:
- type: integer
- format: int64
responses:
- "200":
- description: Wallet transaction with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/WalletTransaction'
- "403":
- description: Operator doesn't have access to resource
+ "201":
+ description: Site created
content:
application/json:
schema:
- type: object
- example:
- status: FORBIDDEN
- message: Operator doesn't have access to resource
- errorCode: ACCESS_FORBIDDEN
+ $ref: "#/components/schemas/Site"
"404":
description: Entity with the provided id was not found
content:
@@ -6751,54 +6601,16 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- patch:
- tags:
- - Wallet Transactions
- summary: Patch an existing transaction
- description: "Required scope: `transaction:write`"
- operationId: patch-transaction
- parameters:
- - name: transactionId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PatchWalletTransaction'
- required: true
- responses:
- "200":
- description: Transaction updated
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/WalletTransaction'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6819,110 +6631,52 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/wallets:
+ /api/v1/sites/{siteId}:
get:
tags:
- - Wallets
- summary: Retrieve your wallets.
- description: "Required scope: `wallet-transactions:read`"
- operationId: get-wallets
+ - Sites
+ summary: Retrieve a single (charge) site
+ description: "Required scope: `charge-points:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-site
parameters:
- - name: page
- in: query
- description: page number to retrieve (starts with 0)
- schema:
- type: integer
- format: int32
- default: 0
- example: "1"
- - name: perPage
- in: query
- description: "number of items per page (between 1 and 100, default 10)"
- schema:
- type: integer
- format: int32
- default: 10
- example: "10"
- - name: teamId
- in: query
- schema:
- type: integer
- description: "Filter to retrieve wallet for a given team. *Note*: You need\
- \ to either provide `teamId` or `operatorId`"
- format: int32
- nullable: true
- example: 1
- - name: operatorId
- in: query
+ - name: siteId
+ in: path
+ required: true
schema:
type: integer
- description: "Filter to retrieve wallet for a given operator. *Note*: You\
- \ need to either provide `teamId` or `operatorId`"
- format: int32
- nullable: true
- example: 1
+ format: int64
responses:
"200":
- description: List of wallets that match the criteria
+ description: Site with provided id
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_WalletDto_'
- "400":
- description: The request is invalid
+ $ref: "#/components/schemas/Site"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
type: object
example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
- description: Unauthorized access
+ description: Consumer with provided credentials was not found
content:
application/json:
schema:
type: object
example:
status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
- security:
- - BearerAccessToken: []
- /api/v1/wallets/{walletId}:
- get:
- tags:
- - Wallets
- summary: Retrieve a single wallet.
- description: "Required scope: `wallet-transactions:read`"
- operationId: get-wallet
- parameters:
- - name: walletId
- in: path
- required: true
- schema:
- type: integer
- format: int64
- responses:
- "200":
- description: Wallet with provided id
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Wallet'
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
"403":
description: Operator doesn't have access to resource
content:
@@ -6933,18 +6687,6 @@ paths:
status: FORBIDDEN
message: Operator doesn't have access to resource
errorCode: ACCESS_FORBIDDEN
- "404":
- description: Entity with the provided id was not found
- content:
- application/json:
- schema:
- type: object
- example:
- status: NOT_FOUND
- message: Requested entity/entity provided in body was not found
- readableMessage: user friendly message
- errorCode: RESOURCE_NOT_FOUND
- context: context
"400":
description: The request is invalid
content:
@@ -6955,34 +6697,38 @@ paths:
status: BAD_REQUEST
message: Invalid request
errorCode: BAD_REQUEST
- "401":
- description: Unauthorized access
- content:
- application/json:
- schema:
- type: object
- example:
- status: UNAUTHORIZED
- message: Invalid or expired `accessToken`.
- errorCode: INVALID_ACCESS_TOKEN
security:
- BearerAccessToken: []
- /api/v1/webhooks/config:
- get:
+ delete:
tags:
- - Webhooks
- summary: Get your webhook config
- description: "Required scope: `manage-webhooks:read`"
- operationId: get-webhook-config
+ - Sites
+ summary: Delete an existing (charge) site
+ description: "*Note:* This action will also remove `Charge Points` from the\
+ \ `Site`.Required scope: `charge-points:delete` Organization\
+ \ authorization: `supported`"
+ operationId: delete-site
+ parameters:
+ - name: siteId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
responses:
- "200":
- description: Your Webhook config.
+ "204":
+ description: Site deleted
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/WebhookConfig'
- "404":
- description: Webhook config not found.
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
description: Consumer with provided credentials was not found
content:
@@ -6993,6 +6739,16 @@ paths:
status: UNAUTHORIZED
message: Consumer with given `clientId` and `clientSecret` not found
errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -7005,25 +6761,45 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- put:
+ patch:
tags:
- - Webhooks
- summary: Update your webhook config
- description: "Required scope: `manage-webhooks:write`"
- operationId: update-webhook-config
+ - Sites
+ summary: Patch an existing (charge) site
+ description: "Required scope: `charge-points:write` Organization authorization:\
+ \ `supported`"
+ operationId: patch-site
+ parameters:
+ - name: siteId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/WebhookConfig'
+ $ref: "#/components/schemas/PatchSite"
required: true
responses:
"200":
- description: Webhook config successfully updated.
+ description: Site updated
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Site"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/WebhookConfig'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
description: Consumer with provided credentials was not found
content:
@@ -7034,37 +6810,16 @@ paths:
status: UNAUTHORIZED
message: Consumer with given `clientId` and `clientSecret` not found
errorCode: CONSUMER_NOT_FOUND
- "400":
- description: The request is invalid
- content:
- application/json:
- schema:
- type: object
- example:
- status: BAD_REQUEST
- message: Invalid request
- errorCode: BAD_REQUEST
- security:
- - BearerAccessToken: []
- delete:
- tags:
- - Webhooks
- summary: Delete webhook config
- description: "Required scope: `manage-webhooks:delete`"
- operationId: delete-webhook-config
- responses:
- "204":
- description: Successfully deleted webhook configuration
- "401":
- description: Consumer with provided credentials was not found
+ "403":
+ description: Operator doesn't have access to resource
content:
application/json:
schema:
type: object
example:
- status: UNAUTHORIZED
- message: Consumer with given `clientId` and `clientSecret` not found
- errorCode: CONSUMER_NOT_FOUND
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -7077,14 +6832,13 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/webhooks/entries:
+ /api/v1/sponsored-charge-points:
get:
tags:
- - Webhooks
- summary: Retrieve webhook entries
- description: "This endpoint can help you debug pending/failed webhook entries.\
- \ Required scope: `webhooks:read`"
- operationId: get-webhook-entries
+ - Sponsored Charge Points
+ summary: Retrieve a list of sponsored charge points
+ description: "Required scope: `sponsored-charge-points:read`"
+ operationId: get-sponsored-charge-points
parameters:
- name: page
in: query
@@ -7093,7 +6847,7 @@ paths:
type: integer
format: int32
default: 0
- example: "1"
+ example: 1
- name: perPage
in: query
description: "number of items per page (between 1 and 100, default 10)"
@@ -7101,21 +6855,54 @@ paths:
type: integer
format: int32
default: 10
- example: "10"
- - name: status
+ example: 10
+ - name: chargePointId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Allows to filter list of sponsored charge points by a charge
+ point id
+ format: int64
+ nullable: true
+ example: 13
+ - name: teamId
in: query
- description: The status from which webhook entries will be filtered by
schema:
+ required:
+ - "false"
type: integer
+ description: Allows to filter list of sponsored charge points by a team
+ id.
format: int64
- example: failed
+ nullable: true
+ example: 19
+ - name: includeDeleted
+ in: query
+ schema:
+ type: boolean
+ description: Filter to include deleted entities in the response
+ example: false
responses:
"200":
- description: List of webhook entries for your consumer in the past 24 hours
+ description: List of sponsored charges points that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_SponsoredChargePointDto_"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/MontaPage_WebhookEntryDto_'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
description: Consumer with provided credentials was not found
content:
@@ -7126,6 +6913,16 @@ paths:
status: UNAUTHORIZED
message: Consumer with given `clientId` and `clientSecret` not found
errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -7138,18 +6935,80 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
- /api/v1/webhooks/entries/{entryId}:
+ post:
+ tags:
+ - Sponsored Charge Points
+ summary: Create a sponsored charge point
+ description: "Creates a sponsored charge point for a given user, the sponsorship\
+ \ is automatically approved.*Note:* a charge point can only be sponsored\
+ \ to one user_idRequired scope: `sponsored-charge-points:write`"
+ operationId: post-sponsored-charge-point
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateSponsoredChargePointDto"
+ required: true
+ responses:
+ "201":
+ description: Sponsored charge point created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SponsoredChargePoint"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/sponsored-charge-points/{sponsoredChargePointId}:
get:
tags:
- - Webhooks
- summary: Retrieve a single webhook entry by id
- description: |-
- This endpoint returns a single entry by id.
- *Note that we only persist entries for past 24 hours.*
- Required scope: `webhooks:read`
- operationId: get-webhook-entries_1
+ - Sponsored Charge Points
+ summary: Retrieve a single sponsored charge point
+ description: "Required scope: `sponsored-charge-points:read`"
+ operationId: get-sponsored-charge-point
parameters:
- - name: entryId
+ - name: sponsoredChargePointId
in: path
required: true
schema:
@@ -7157,11 +7016,23 @@ paths:
format: int64
responses:
"200":
- description: Webhook entry with given id
+ description: Sponsored charge point with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SponsoredChargePoint"
+ "404":
+ description: Entity with the provided id was not found
content:
application/json:
schema:
- $ref: '#/components/schemas/WebhookEntry'
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
"401":
description: Consumer with provided credentials was not found
content:
@@ -7172,6 +7043,44 @@ paths:
status: UNAUTHORIZED
message: Consumer with given `clientId` and `clientSecret` not found
errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ delete:
+ tags:
+ - Sponsored Charge Points
+ summary: Delete an existing sponsored charge point
+ description: "Required scope: `sponsored-charge-points:delete`"
+ operationId: delete-sponsored-charge-point
+ parameters:
+ - name: sponsoredChargePointId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Sponsored Charge Point deleted
"404":
description: Entity with the provided id was not found
content:
@@ -7184,6 +7093,26 @@ paths:
readableMessage: user friendly message
errorCode: RESOURCE_NOT_FOUND
context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
"400":
description: The request is invalid
content:
@@ -7196,30 +7125,4187 @@ paths:
errorCode: BAD_REQUEST
security:
- BearerAccessToken: []
-components:
- schemas:
- AdditionalPricing:
- required:
- - type
- - value
- type: object
- properties:
- type:
- allOf:
- - $ref: '#/components/schemas/AdditionalPricingType'
- - description: Type of the additional pricing. `absolute` means the value
- is a price.
- example: percentage
- value:
- allOf:
- - $ref: '#/components/schemas/Money'
- - description: The value of this additional pricing. Both `absolute` and
- `percentage` values here are represented as a money object.
- AdditionalPricingType:
- type: string
- enum:
- - absolute
- - percentage
+ patch:
+ tags:
+ - Sponsored Charge Points
+ summary: Update a sponsored charge point
+ description: "Required scope: `sponsored-charge-points:write`"
+ operationId: patch-sponsored-charge-point
+ parameters:
+ - name: sponsoredChargePointId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchSponsoredChargePoint"
+ required: true
+ responses:
+ "200":
+ description: Updated sponsored charge point with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SponsoredChargePoint"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/subscription-purchases:
+ get:
+ tags:
+ - Subscription Purchases
+ summary: Retrieve a list of subscription purchases
+ description: "Required scope: `subscriptions:read`"
+ operationId: get-subscription-purchases
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: subscriptionId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter subscription purchases by subscription id
+ format: int64
+ nullable: true
+ example: 1
+ - name: includeDeleted
+ in: query
+ schema:
+ required:
+ - "false"
+ type: boolean
+ description: Includes deleted resources in the response
+ nullable: true
+ example: true
+ responses:
+ "200":
+ description: List of subscription purchases that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_SubscriptionPurchaseDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/subscription-purchases/{subscriptionPurchaseId}:
+ get:
+ tags:
+ - Subscription Purchases
+ summary: Retrieve a subscription purchase
+ description: "Required scope: `subscriptions:read`"
+ operationId: get-subscription-purchase
+ parameters:
+ - name: subscriptionPurchaseId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Subscription purchase with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SubscriptionPurchase"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/subscriptions:
+ get:
+ tags:
+ - Subscriptions
+ summary: Retrieve a list of subscriptions
+ description: "Required scope: `subscriptions:read`"
+ operationId: get-subscriptions
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: planId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter subscription by plan
+ format: int64
+ nullable: true
+ example: 1
+ - name: chargePointId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: "Filter subscriptions by charge point.*Note*: This field\
+ \ is deprecated, use `customerId` instead."
+ format: int64
+ nullable: true
+ example: 1
+ deprecated: true
+ - name: customerId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: "Filter subscriptions by customer id (charge point or team\
+ \ id). *Note*: The `customerType` must also be provided when filtering\
+ \ by `customerId`."
+ format: int64
+ nullable: true
+ example: 1
+ - name: customerType
+ in: query
+ schema:
+ description: Filter subscriptions by customer type (charge-point or team).
+ nullable: true
+ example: team
+ allOf:
+ - $ref: "#/components/schemas/SubscriptionCustomerType"
+ - {}
+ - name: subscriptionPurchaseId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter subscriptions by subscription purchase id.
+ format: int64
+ nullable: true
+ example: 42
+ responses:
+ "200":
+ description: List of subscriptions that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_SubscriptionDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Subscriptions
+ summary: Create subscription
+ description: "Required scope: `subscriptions:write`"
+ operationId: create-subscription
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateSubscription"
+ required: true
+ responses:
+ "201":
+ description: The created subscription
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Subscription"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/subscriptions/{subscriptionId}:
+ get:
+ tags:
+ - Subscriptions
+ summary: Retrieve a subscription
+ description: "Required scope: `subscriptions:read`"
+ operationId: get-subscription
+ parameters:
+ - name: subscriptionId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Subscription with provided ID
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Subscription"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ delete:
+ tags:
+ - Subscriptions
+ summary: Cancel subscription
+ description: "Required scope: `subscriptions:delete`"
+ operationId: delete-subscription
+ parameters:
+ - name: subscriptionId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Subscription successfully canceled
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Unit"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/subscriptions/{subscriptionId}/approve:
+ post:
+ tags:
+ - Subscriptions
+ summary: Approve subscription
+ description: "Required scope: `subscriptions:write`"
+ operationId: approve-subscription
+ parameters:
+ - name: subscriptionId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ApproveSubscription"
+ required: true
+ responses:
+ "200":
+ description: The approved subscription
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Subscription"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariff-period-groups:
+ get:
+ tags:
+ - Tariff Period Groups
+ summary: Retrieve Tariff Period Groups by tariff id
+ description: "Required scope: `tariff:read`"
+ operationId: get-period-groups
+ parameters:
+ - name: tariffId
+ in: query
+ description: Filter to retrieve tariff period groups by tariff id
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Tariff period group with provided tariff id
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: "#/components/schemas/TariffPeriodGroup"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Tariff Period Groups
+ summary: Create a new Tariff Period Group.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: create-tariff-period-group
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffPeriodGroup_1"
+ required: true
+ responses:
+ "201":
+ description: New Tariff Period Group
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffPeriodGroup"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariff-period-groups/{id}:
+ get:
+ tags:
+ - Tariff Period Groups
+ summary: Retrieve Tariff Period Groups by id
+ description: "Required scope: `tariff:read`"
+ operationId: get-period-group
+ parameters:
+ - name: id
+ in: path
+ description: Filter to retrieve tariff period groups by id
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Tariff period group with provided group id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffPeriodGroup"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ delete:
+ tags:
+ - Tariff Period Groups
+ summary: "Delete an existing Tariff Period Group, and all contained recurring\
+ \ periods and prices."
+ description: "Required scope: `tariffs:delete` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: delete-tariff-period-group
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Tariff Period Group deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Tariff Period Groups
+ summary: Update existing Tariff Period Group.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: update-tariff-period-group
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffPeriodGroup_2"
+ required: true
+ responses:
+ "200":
+ description: Updated Tariff Period Group
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffPeriodGroup"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariff-recurring-periods:
+ get:
+ tags:
+ - Tariff Recurring Periods
+ summary: Retrieve recurring periods.
+ description: "Required scope: `tariffs:read`"
+ operationId: get-tariff-recurring-periods
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: tariffId
+ in: query
+ required: true
+ schema:
+ type: integer
+ format: int64
+ - name: tariffPeriodGroupId
+ in: query
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Tariff recurring periods with provided tariffId & tariffPeriodGroupId
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Page_TariffRecurringPeriodDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Tariff Recurring Periods
+ summary: Create new recurring period.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: create-tariff-recurring-periods
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffRecurringPeriodCreateRequestDto"
+ required: true
+ responses:
+ "201":
+ description: Tariff recurring period that was created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffRecurringPeriod"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariff-recurring-periods/{id}:
+ delete:
+ tags:
+ - Tariff Recurring Periods
+ summary: "Delete an existing Tariff Recurring Period , and all contained prices."
+ description: "Required scope: `tariffs:delete` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: delete-tariff-recurring-period
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Tariff Recurring Period deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariff-recurring-periods/{periodId}:
+ get:
+ tags:
+ - Tariff Recurring Periods
+ summary: Retrieve a tariff recurring period.
+ description: "Required scope: `tariffs:read`"
+ operationId: get-tariff-recurring-period
+ parameters:
+ - name: periodId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Tariff recurring period with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffRecurringPeriod"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Tariff Recurring Periods
+ summary: Update existing recurring period.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: update-tariff-recurring-periods
+ parameters:
+ - name: periodId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffRecurringPeriodUpdateRequestDto"
+ required: true
+ responses:
+ "200":
+ description: Tariff recurring period that was updated
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffRecurringPeriod"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariffs:
+ get:
+ tags:
+ - Tariff
+ summary: Retrieve all tariffs.
+ description: "Required scope: `tariffs:read`"
+ operationId: get-all-tariffs
+ parameters:
+ - name: countryId
+ in: query
+ description: Country id of the tariff
+ schema:
+ type: integer
+ format: int64
+ - name: countryAreaId
+ in: query
+ description: Country area id of the tariff
+ schema:
+ type: integer
+ format: int64
+ - name: externalId
+ in: query
+ description: External id of the tariff
+ schema:
+ type: string
+ - name: operatorId
+ in: query
+ description: Operator id of the tariff (taken from the consumer)
+ schema:
+ type: integer
+ format: int64
+ - name: teamId
+ in: query
+ description: Team id of the tariff
+ schema:
+ type: integer
+ format: int64
+ - name: zip
+ in: query
+ description: Zip code of the tariff
+ schema:
+ type: string
+ responses:
+ "200":
+ description: All tariffs
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: "#/components/schemas/TariffDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Tariff
+ summary: Create a new Tariff.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call the `create-prices`\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: create-tariff
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateTariffRequest"
+ required: true
+ responses:
+ "201":
+ description: New Tariff
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariffs/{tariffId}:
+ get:
+ tags:
+ - Tariff
+ summary: Retrieve your tariff and prices.
+ description: "Required scope: `tariffs:read`"
+ operationId: get-tariff
+ parameters:
+ - name: start
+ in: query
+ description: "Filter to retrieve tariffs where `createdAt` >= `start` (ISO8601:\
+ \ yyyy-MM-ddTHH:mm:ssZ)"
+ schema:
+ type: string
+ format: date-time
+ example: 2022-05-22T09:30:03Z
+ - name: end
+ in: query
+ description: "Filter to retrieve charges where `createdAt` <= `end` (ISO8601:\
+ \ yyyy-MM-ddTHH:mm:ssZ)"
+ schema:
+ type: string
+ format: date-time
+ example: 2022-05-22T09:30:03Z
+ - name: tariffId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Tariff with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/FullTariff"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ put:
+ tags:
+ - Tariff
+ summary: Update an existing Tariff.
+ description: "Required scope: `tariffs:write`
**Note: Once you are\
+ \ done with creating/updating tariffs and its components you have to call\
+ \ the `create-prices` endpoint to create the prices for the tariff.**"
+ operationId: update-tariff
+ parameters:
+ - name: tariffId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/UpdateTariffRequest"
+ required: true
+ responses:
+ "200":
+ description: Updated Tariff
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TariffDto"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/tariffs/{tariffId}/create-prices:
+ post:
+ tags:
+ - Tariff
+ summary: Create the prices for a given tariff within a given period of time.
+ description: "Required scope: `tariffs:write` **Note: Once you are done\
+ \ with creating/updating tariffs and its components you have to call this\
+ \ endpoint to create the prices for the tariff.**"
+ operationId: create-tariff-prices
+ parameters:
+ - name: tariffId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateTariffPricesRequest"
+ required: true
+ responses:
+ "201":
+ description: Tariff prices created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/FullTariff"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-member-profiles:
+ get:
+ tags:
+ - Team Member Profiles
+ summary: Retrieve a list of team member profiles
+ description: "Required scope: `team-members:read`"
+ operationId: getTeamMemberProfiles
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter team member profiles by `teamId`
+ format: int64
+ nullable: true
+ example: 1
+ - name: name
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter team member profiles by the specified `name`
+ nullable: true
+ example: expired
+ responses:
+ "200":
+ description: List of team member profiles that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_TeamMemberProfileDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Team Member Profiles
+ summary: Create a team member profile
+ description: "Create a team member profile so that it can be applied on a teamRequired\
+ \ scope: `team-members:write`"
+ operationId: post-team-member-profile
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateTeamMemberProfile"
+ required: true
+ responses:
+ "201":
+ description: Team member profile created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMemberProfile"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-member-profiles/{id}:
+ get:
+ tags:
+ - Team Member Profiles
+ summary: Retrieve a team member profile by id
+ description: "Required scope: `team-members:read`"
+ operationId: getTeamMemberProfile
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team member profile with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMemberProfile"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ delete:
+ tags:
+ - Team Member Profiles
+ summary: Delete an existing team member profile
+ description: "Required scope: `team-members:delete`"
+ operationId: delete-team-member-profile
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Team member profile deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Team Member Profiles
+ summary: Patch a team member profile
+ description: "Required scope: `team-members:write`"
+ operationId: updateTeamMemberProfile
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchTeamMemberProfile"
+ required: true
+ responses:
+ "200":
+ description: Updated Team member profile with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMemberProfile"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-members:
+ get:
+ tags:
+ - Team Members
+ summary: Retrieve a list of team members.
+ description: "Required scope: `team-members:read`"
+ operationId: getTeamMembers
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: integer
+ description: Filter team members by `teamId`
+ format: int64
+ nullable: true
+ example: 1
+ - name: includeDeleted
+ in: query
+ schema:
+ required:
+ - "false"
+ type: boolean
+ description: Includes deleted resources in the response
+ example: true
+ default: false
+ - name: role
+ in: query
+ schema:
+ description: Filter team members by the specified `role`
+ nullable: true
+ example: admin
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
+ - name: state
+ in: query
+ schema:
+ description: Filter team members by the specified `state`
+ nullable: true
+ example: expired
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberState_3"
+ - {}
+ - name: userId
+ in: query
+ schema:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "false"
+ type: integer
+ description: Filter team members with specified `userId`
+ format: int64
+ nullable: true
+ example: 42
+ - name: email
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter team members with specified `email`
+ format: email
+ nullable: true
+ example: user@acme.com
+ - name: phone
+ in: query
+ schema:
+ pattern: "^\\+[1-9]\\d{1,14}$"
+ required:
+ - "false"
+ type: string
+ description: Filter team members with specified `phone` number
+ nullable: true
+ example: "+451234567"
+ - name: partnerExternalTeamId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "Filter team members by the specified `partnerExternalTeamId`Note:\
+ \ partnerExternalTeamId refers to external id on the team level"
+ nullable: true
+ example: 1A2B3C4D5E
+ - name: partnerExternalId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: Filter team members with specified `partnerExternalId`
+ nullable: true
+ example: 1A2B3C4D5E
+ responses:
+ "200":
+ description: List of team members that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_TeamMemberDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Team Members
+ summary: Create (invite) a team member
+ description: "Create (invite) a user to join a team, invitation can be done\
+ \ via `userId`, `email` and/or `phone`. A user that does not exist in yet\
+ \ will have a null `userId`.Required scope: `team-members:write`"
+ operationId: post-team-member
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateTeamMember"
+ required: true
+ responses:
+ "201":
+ description: Team member created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMember"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-members/{id}:
+ get:
+ tags:
+ - Team Members
+ summary: Retrieve a team member.
+ description: "Required scope: `team-members:read`"
+ operationId: getTeamMember
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team member with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMember"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Team Members
+ summary: Patch a team member.
+ description: "Required scope: `team-members:write`"
+ operationId: patchTeamMember
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchTeamMember"
+ required: true
+ responses:
+ "200":
+ description: Updated Team member with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMember"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-members/{id}/accept:
+ post:
+ tags:
+ - Team Members
+ summary: Approve a team member who requested to join a team
+ description: "Required scope: `team-members:write`"
+ operationId: acceptTeamMemberJoinRequest
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team member with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMember"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-members/{id}/resend-invite:
+ post:
+ tags:
+ - Team Members
+ summary: Resend an invite to a team member and reset expiry date.
+ description: "Required scope: `team-members:write`"
+ operationId: resendTeamMemberInvite
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team member with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/TeamMember"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/team-members/{teamMemberId}:
+ delete:
+ tags:
+ - Team Members
+ summary: Delete an existing team member
+ description: "Required scope: `team-members:delete`"
+ operationId: delete-team-member
+ parameters:
+ - name: teamMemberId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Team member deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/teams:
+ get:
+ tags:
+ - Teams
+ summary: Retrieve a list of teams
+ description: "Required scope: `teams:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-teams
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ responses:
+ "200":
+ description: List of teams that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_TeamDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ post:
+ tags:
+ - Teams
+ summary: Create a team
+ description: "Required scope: `teams:write` Organization authorization:\
+ \ `supported`"
+ operationId: post-team
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/CreateTeamDto"
+ required: true
+ responses:
+ "201":
+ description: Team created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Team"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/teams/{id}:
+ get:
+ tags:
+ - Teams
+ summary: Retrieve a team
+ description: "Required scope: `teams:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-team
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Team"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/teams/{id}/freeze:
+ post:
+ tags:
+ - Teams
+ summary: Freeze a team
+ description: "Required scope: `teams:write` Organization authorization:\
+ \ `supported`"
+ operationId: freeze-team
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/UpdateTeamStateDto"
+ required: true
+ responses:
+ "200":
+ description: Team with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Team"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/teams/{id}/unfreeze:
+ post:
+ tags:
+ - Teams
+ summary: Unfreeze a team
+ description: "Required scope: `teams:write` Organization authorization:\
+ \ `supported`"
+ operationId: unfreeze-team
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Team with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Team"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/teams/{teamId}:
+ delete:
+ tags:
+ - Teams
+ summary: Delete an existing team
+ description: "Required scope: `teams:delete` Organization authorization:\
+ \ `supported`"
+ operationId: delete-team
+ parameters:
+ - name: teamId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "204":
+ description: Team deleted
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Teams
+ summary: Patch an existing team
+ description: "Required scope: `teams:write` Organization authorization:\
+ \ `supported`"
+ operationId: patch-team
+ parameters:
+ - name: teamId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchTeam"
+ required: true
+ responses:
+ "200":
+ description: Team updated
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Team"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/users:
+ get:
+ tags:
+ - Users
+ summary: Retrieve users
+ description: "Required scope: `users:read`"
+ operationId: get-users
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: email
+ in: query
+ description: filter user by email
+ schema:
+ type: string
+ format: email
+ example: user@example.com
+ - name: phone
+ in: query
+ description: filter user by phone
+ schema:
+ type: string
+ format: phone
+ example: "+4529930022"
+ - name: includeDeleted
+ in: query
+ description: "Set to 'true' to include deleted users, 'false' otherwise"
+ schema:
+ type: boolean
+ default: false
+ example: false
+ responses:
+ "200":
+ description: List of users that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_UserDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/users/{userId}:
+ get:
+ tags:
+ - Users
+ summary: Retrieve a user
+ description: "Required scope: `users:read`"
+ operationId: get-user
+ parameters:
+ - name: userId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: user with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/User"
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallet-transactions:
+ get:
+ tags:
+ - Wallet Transactions
+ summary: Retrieve your wallet transactions
+ description: "Required scope: `wallet-transactions:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-wallet-transactions
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: operatorId
+ in: query
+ schema:
+ type: integer
+ description: "Filter to retrieve transactions for a given operator.*Note*:\
+ \ When not provided the default operator will be used for the given consumer,\
+ \ if the default operator cannot be assigned the request will be rejected"
+ format: int32
+ nullable: true
+ example: 1
+ - name: teamId
+ in: query
+ schema:
+ type: integer
+ description: "Filter to retrieve transactions for a given team.*Note*:\
+ \ When not provided the transactions for the operator will be returned\
+ \ instead"
+ format: int32
+ nullable: true
+ example: 1
+ - name: fromDate
+ in: query
+ schema:
+ pattern: "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})Z$"
+ type: string
+ description: "Filter to retrieve transactions where `createdAt` >= `fromDate`\
+ \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: toDate
+ in: query
+ schema:
+ pattern: "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})Z$"
+ type: string
+ description: "Filter to retrieve transactions where `createdAt` <= `toDate`\
+ \ (ISO8601: yyyy-MM-ddTHH:mm:ssZ)"
+ format: date-time
+ nullable: true
+ example: 2022-05-22T09:30:03Z
+ - name: referenceId
+ in: query
+ schema:
+ type: string
+ description: Filter to retrieve transactions by the matching referenceId
+ nullable: true
+ example: "1"
+ - name: referenceType
+ in: query
+ schema:
+ description: Filter to retrieve transactions by the matching referenceType
+ nullable: true
+ example: CHARGE
+ allOf:
+ - $ref: "#/components/schemas/WalletTransactionReferenceType"
+ - type: string
+ - name: state
+ in: query
+ schema:
+ description: Filter to retrieve transactions by the matching state
+ nullable: true
+ example: complete
+ allOf:
+ - $ref: "#/components/schemas/WalletTransactionState"
+ - type: string
+ - name: group
+ in: query
+ schema:
+ description: Filter to retrieve transactions by the matching group
+ nullable: true
+ example: deposit
+ allOf:
+ - $ref: "#/components/schemas/WalletTransactionGroup"
+ - type: string
+ - name: partnerExternalId
+ in: query
+ schema:
+ required:
+ - "false"
+ type: string
+ description: "**Note: This has been deprecated and won't do anything moving\
+ \ forward.**Filter transactions by partnerExternalId, to filter only resources\
+ \ without `partnerExternalId` *use* `partnerExternalId=\"\"`"
+ nullable: true
+ example: "1"
+ responses:
+ "200":
+ description: List of wallet transactions that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_WalletTransactionDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallet-transactions/invoices/{invoiceId}:
+ get:
+ tags:
+ - Wallet Transactions
+ summary: Retrieves wallet transactions for an invoice
+ description: "Required scope: `wallet-transactions:read Organization authorization:\
+ \ `supported`"
+ operationId: get-wallet-transactions_1
+ parameters:
+ - name: invoiceId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ - name: pageable
+ in: query
+ required: true
+ schema:
+ $ref: "#/components/schemas/Pageable"
+ responses:
+ "200":
+ description: Transactions by invoice successfully retrieved
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_WalletTransactionDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallet-transactions/operator-adjustment-transaction:
+ post:
+ tags:
+ - Wallet Transactions
+ summary: Post an operator adjustment transaction
+ description: "This API endpoint is for operator to create an adjustment transaction\
+ \ to their teams. Required scope: `wallet-transaction:write`"
+ operationId: post-operator-adjustment-transaction
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OperatorAdjustmentTransaction"
+ required: true
+ responses:
+ "201":
+ description: Transaction created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WalletTransaction"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallet-transactions/{transactionId}:
+ get:
+ tags:
+ - Wallet Transactions
+ summary: Retrieve a single wallet transaction
+ description: "Required scope: `wallet-transactions:read` Organization authorization:\
+ \ `supported`"
+ operationId: get-wallet-transaction
+ parameters:
+ - name: transactionId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Wallet transaction with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WalletTransaction"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ patch:
+ tags:
+ - Wallet Transactions
+ summary: Patch an existing transaction
+ description: "**Note: This has been deprecated and won't do anything.** Required\
+ \ scope: `transaction:write`"
+ operationId: patch-transaction
+ parameters:
+ - name: transactionId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PatchWalletTransaction"
+ required: true
+ responses:
+ "200":
+ description: Transaction updated
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WalletTransaction"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ deprecated: true
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallets:
+ get:
+ tags:
+ - Wallets
+ summary: Retrieve your wallets.
+ description: "Required scope: `wallet-transactions:read`"
+ operationId: get-wallets
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: teamId
+ in: query
+ schema:
+ type: integer
+ description: "Filter to retrieve wallet for a given team. *Note*: You need\
+ \ to either provide `teamId` or `operatorId`"
+ format: int32
+ nullable: true
+ example: 1
+ - name: operatorId
+ in: query
+ schema:
+ type: integer
+ description: "Filter to retrieve wallet for a given operator. *Note*: You\
+ \ need to either provide `teamId` or `operatorId`"
+ format: int32
+ nullable: true
+ example: 1
+ responses:
+ "200":
+ description: List of wallets that match the criteria
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_WalletDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/wallets/{walletId}:
+ get:
+ tags:
+ - Wallets
+ summary: Retrieve a single wallet.
+ description: "Required scope: `wallet-transactions:read`"
+ operationId: get-wallet
+ parameters:
+ - name: walletId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Wallet with provided id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Wallet"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/webhooks/config:
+ get:
+ tags:
+ - Webhooks
+ summary: Get your webhook config
+ description: "Required scope: `manage-webhooks:read`"
+ operationId: get-webhook-config
+ responses:
+ "200":
+ description: Your Webhook config.
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WebhookConfig"
+ "404":
+ description: Webhook config not found.
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ put:
+ tags:
+ - Webhooks
+ summary: Update your webhook config
+ description: "Required scope: `manage-webhooks:write`"
+ operationId: update-webhook-config
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WebhookConfig"
+ required: true
+ responses:
+ "200":
+ description: Webhook config successfully updated.
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WebhookConfig"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ delete:
+ tags:
+ - Webhooks
+ summary: Delete webhook config
+ description: "Required scope: `manage-webhooks:delete`"
+ operationId: delete-webhook-config
+ responses:
+ "204":
+ description: Successfully deleted webhook configuration
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/webhooks/entries:
+ get:
+ tags:
+ - Webhooks
+ summary: Retrieve webhook entries
+ description: "This endpoint can help you debug pending/failed webhook entries.\
+ \ Required scope: `webhooks:read`"
+ operationId: get-webhook-entries
+ parameters:
+ - name: page
+ in: query
+ description: page number to retrieve (starts with 0)
+ schema:
+ type: integer
+ format: int32
+ default: 0
+ example: 1
+ - name: perPage
+ in: query
+ description: "number of items per page (between 1 and 100, default 10)"
+ schema:
+ type: integer
+ format: int32
+ default: 10
+ example: 10
+ - name: status
+ in: query
+ schema:
+ type: string
+ description: Filter to retrieve entries by `status`
+ nullable: true
+ example: failed
+ enum:
+ - pending
+ - completed
+ - failed
+ responses:
+ "200":
+ description: List of webhook entries for your consumer in the past 24 hours
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/MontaPage_WebhookEntryDto_"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+ /api/v1/webhooks/entries/{entryId}:
+ get:
+ tags:
+ - Webhooks
+ summary: Retrieve a single webhook entry by id
+ description: |-
+ This endpoint returns a single entry by id.
+ *Note that we only persist entries for past 24 hours.*
+ Required scope: `webhooks:read`
+ operationId: get-webhook-entries_1
+ parameters:
+ - name: entryId
+ in: path
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ "200":
+ description: Webhook entry with given id
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/WebhookEntry"
+ "404":
+ description: Entity with the provided id was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: NOT_FOUND
+ message: Requested entity/entity provided in body was not found
+ readableMessage: user friendly message
+ errorCode: RESOURCE_NOT_FOUND
+ context: context
+ "401":
+ description: Consumer with provided credentials was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: UNAUTHORIZED
+ message: Consumer with given `clientId` and `clientSecret` not found
+ errorCode: CONSUMER_NOT_FOUND
+ "403":
+ description: Operator doesn't have access to resource
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: FORBIDDEN
+ message: Operator doesn't have access to resource
+ errorCode: ACCESS_FORBIDDEN
+ "400":
+ description: The request is invalid
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ status: BAD_REQUEST
+ message: Invalid request
+ errorCode: BAD_REQUEST
+ security:
+ - BearerAccessToken: []
+components:
+ schemas:
+ AdditionalPricing:
+ required:
+ - type
+ - value
+ type: object
+ properties:
+ type:
+ description: Type of the additional pricing. `absolute` means the value
+ is a price.
+ example: percentage
+ allOf:
+ - $ref: "#/components/schemas/AdditionalPricingType"
+ - {}
+ value:
+ description: The value of this additional pricing. Both `absolute` and `percentage`
+ values here are represented as a money object.
+ allOf:
+ - $ref: "#/components/schemas/Money"
+ - {}
+ title:
+ required:
+ - "false"
+ type: string
+ description: A title for this additional pricing.
+ nullable: true
+ AdditionalPricingType:
+ type: string
+ enum:
+ - absolute
+ - percentage
Address:
required:
- address1
@@ -7236,7 +11322,7 @@ components:
type: string
description: Second line of address
nullable: true
- example: København
+ example: København
address3:
type: string
description: Third line of address
@@ -7354,7 +11440,7 @@ components:
description: The list of prices and tariffs relevant for this breakdown
entry
items:
- $ref: '#/components/schemas/Component'
+ $ref: "#/components/schemas/Component"
BreakdownSummary:
required:
- totalAdjustments
@@ -7401,6 +11487,14 @@ components:
description: Total price for the given charge
format: int64
example: 2220
+ totalDiscount:
+ required:
+ - "false"
+ type: integer
+ description: Total discount applied for the given charge
+ format: int64
+ nullable: true
+ example: 2220
Charge:
required:
- costBreakdown
@@ -7420,30 +11514,34 @@ components:
format: int64
example: 1
user:
+ description: User that performed the charge
allOf:
- - $ref: '#/components/schemas/PublicUser'
- - description: User that performed the charge
+ - $ref: "#/components/schemas/PublicUser_3"
+ - {}
teamMember:
+ description: "Team that performed the charge, if part of the charge points'\
+ \ team"
nullable: true
allOf:
- - $ref: '#/components/schemas/SimpleTeamMemberDto'
- - description: "Team that performed the charge, if part of the charge points'\
- \ team"
+ - $ref: "#/components/schemas/SimpleTeamMemberDto"
+ - {}
type:
+ description: Type of the charge
+ example: "1"
allOf:
- - $ref: '#/components/schemas/ChargeType'
- - description: Type of the charge
- example: "1"
+ - $ref: "#/components/schemas/ChargeType"
+ - {}
chargePointId:
type: integer
description: Id of the charge point related to this charge
format: int64
example: 21
publicChargePoint:
+ description: The public information about the charge point related to this
+ charge
allOf:
- - $ref: '#/components/schemas/PublicChargePoint'
- - description: The public information about the charge point related to
- this charge
+ - $ref: "#/components/schemas/PublicChargePoint"
+ - {}
sponsoredChargePointId:
required:
- "false"
@@ -7532,11 +11630,11 @@ components:
nullable: true
example: 2022-05-12T16:56:45.99Z
state:
+ description: State of the charge
+ example: charging
allOf:
- - $ref: '#/components/schemas/ChargeStateDto'
+ - $ref: "#/components/schemas/ChargeStateDto"
- type: string
- description: State of the charge
- example: charging
startSource:
type: string
description: "Indicates the starting source for this charge, e.g app-ios,\
@@ -7560,7 +11658,7 @@ components:
type: array
description: List of consumed Kwh split by hour
items:
- $ref: '#/components/schemas/KwhPerHour'
+ $ref: "#/components/schemas/KwhPerHour"
costBreakdown:
type: array
description: "Detailed breakdown of the costs by hour**Note**:\
@@ -7568,7 +11666,7 @@ components:
\ endpoint instead"
deprecated: true
items:
- $ref: '#/components/schemas/ChargeCost'
+ $ref: "#/components/schemas/ChargeCost"
x-sunset: 2024-04-01
priceBreakdown:
type: array
@@ -7577,7 +11675,7 @@ components:
\ endpoint instead"
deprecated: true
items:
- $ref: '#/components/schemas/ChargePrice'
+ $ref: "#/components/schemas/ChargePrice"
x-sunset: 2024-04-01
startMeterKwh:
type: number
@@ -7648,36 +11746,42 @@ components:
nullable: true
example: Lorem Ipsum
currency:
+ description: Currency used for payment.
nullable: true
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: Currency used for payment.
+ - $ref: "#/components/schemas/Currency_11"
+ - {}
payingTeam:
+ description: Team who paid for this charge
nullable: true
allOf:
- - $ref: '#/components/schemas/PayingTeam'
- - description: Team who paid for this charge
+ - $ref: "#/components/schemas/PayingTeam"
+ - {}
sponsorTeam:
+ description: Team who sponsored this charge
nullable: true
allOf:
- - $ref: '#/components/schemas/SponsorTeam'
- - description: Team who sponsored this charge
+ - $ref: "#/components/schemas/SponsorTeam"
+ - {}
operator:
+ description: Operator this of this charge
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator this of this charge
+ - $ref: "#/components/schemas/Operator"
+ - {}
chargeAuth:
+ description: The object used to authenticate a charge
nullable: true
allOf:
- - $ref: '#/components/schemas/ChargeAuthentication'
- - description: The object used to authenticate a charge
+ - $ref: "#/components/schemas/ChargeAuthentication"
+ - {}
soc:
+ description: Information about the state of charge if available
nullable: true
+ example: "42"
allOf:
- - $ref: '#/components/schemas/StateOfCharge'
- - description: Information about the state of charge if available
- example: "42"
+ - $ref: "#/components/schemas/StateOfCharge"
+ - {}
socLimit:
type: number
description: Configured SoC limit for this charge
@@ -7685,11 +11789,12 @@ components:
nullable: true
example: 80
genericPaymentSession:
+ description: "Generic payment session for this charge. If provided, the\
+ \ charge was paid with this payment session."
nullable: true
allOf:
- - $ref: '#/components/schemas/GenericPaymentSession'
- - description: "Generic payment session for this charge. If provided, the\
- \ charge was paid with this payment session."
+ - $ref: "#/components/schemas/GenericPaymentSession"
+ - {}
partnerExternalId:
type: string
description: "External Id of this entity, managed by you. **We recommend\
@@ -7762,10 +11867,11 @@ components:
nullable: true
example: Monta Team Key
operator:
+ description: Operator of this charge auth token
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator of this charge auth token
+ - $ref: "#/components/schemas/Operator"
+ - {}
montaNetwork:
type: boolean
description: If the charge auth token is active in the Monta network
@@ -7848,15 +11954,17 @@ components:
format: int64
example: 10001
priceBreakdown:
+ description: "The price breakdown, Includes information necessary to understand\
+ \ the composition of the final charge price"
allOf:
- - $ref: '#/components/schemas/DetailedBreakdown'
- - description: "The price breakdown, Includes information necessary to understand\
- \ the composition of the final charge price"
+ - $ref: "#/components/schemas/DetailedBreakdown"
+ - {}
costBreakdown:
+ description: The cost breakdown is similar to the price breakdown but focuses
+ on the costs incurred for the given charge
allOf:
- - $ref: '#/components/schemas/DetailedBreakdown'
- - description: The cost breakdown is similar to the price breakdown but
- focuses on the costs incurred for the given charge
+ - $ref: "#/components/schemas/DetailedBreakdown"
+ - {}
ChargeCost:
required:
- time
@@ -7888,9 +11996,10 @@ components:
format: double
example: 13.77
type:
+ description: The type of this metadata
allOf:
- - $ref: '#/components/schemas/MetadataTypeDto'
- - description: The type of this metadata
+ - $ref: "#/components/schemas/MetadataTypeDto"
+ - {}
ChargePoint:
required:
- connectors
@@ -7930,10 +12039,11 @@ components:
nullable: true
example: 42
operator:
+ description: Operator of this charge point
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator of this charge point
+ - $ref: "#/components/schemas/Operator"
+ - {}
createdAt:
type: string
description: Creation date of this charge point
@@ -8009,26 +12119,28 @@ components:
nullable: true
example: "Installer note: XYZ"
state:
+ description: State of the charge point
nullable: true
+ example: available
allOf:
- - $ref: '#/components/schemas/ChargePointState'
+ - $ref: "#/components/schemas/ChargePointState"
- type: string
- description: State of the charge point
- example: available
location:
+ description: Location information for this charge point
allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this charge point
+ - $ref: "#/components/schemas/Location"
+ - {}
connectors:
type: array
description: "List of supported connector types at this charge point (e.g.\
\ type-2, ccs, ...)"
items:
- $ref: '#/components/schemas/ChargePointConnector'
+ $ref: "#/components/schemas/ChargePointConnector"
deeplinks:
+ description: Deeplinks to open charge screen in Monta app or web.
allOf:
- - $ref: '#/components/schemas/ChargePointDeeplinks'
- - description: Deeplinks to open charge screen in Monta app or web.
+ - $ref: "#/components/schemas/ChargePointDeeplinks"
+ - {}
lastMeterReadingKwh:
type: number
description: Last meter reading (KWH) for this charge point
@@ -8061,12 +12173,13 @@ components:
nullable: true
example: v1
integrationType:
+ description: "Indicates what kind of integration this charge point is using\
+ \ (e.g oicp, ocpi, Note: null meaning not integrated)"
nullable: true
+ example: oicp
allOf:
- - $ref: '#/components/schemas/ChargePointIntegrationType'
- - description: "Indicates what kind of integration this charge point is\
- \ using (e.g oicp, ocpi, Note: null meaning not integrated)"
- example: oicp
+ - $ref: "#/components/schemas/ChargePointIntegrationType"
+ - {}
evseId:
type: string
description: The EVSE id for this charge point
@@ -8110,6 +12223,29 @@ components:
reserved for`null` indicates that reservation is not supported.
format: int32
nullable: true
+ example: null
+ simCard:
+ description: SIM card data for the given charge point
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/SimCard"
+ - {}
+ roaming:
+ type: boolean
+ description: Indicates whether roaming is enabled for this charge point
+ example: true
+ lastConnectedAt:
+ type: string
+ description: The last date/time this charge point was reported as connected
+ format: date-time
+ nullable: true
+ example: 2023-01-18T00:00:00Z
+ disconnectedAt:
+ type: string
+ description: The date/time this charge point was reported as disconnected
+ format: date-time
+ nullable: true
+ example: 2023-01-01T00:00:00Z
ChargePointBrand:
required:
- identifier
@@ -8190,10 +12326,11 @@ components:
format: int64
example: 1
state:
+ description: The current state of the charge point integration
+ example: connected
allOf:
- - $ref: '#/components/schemas/ChargePointIntegrationStateDto'
- - description: The current state of the charge point integration
- example: connected
+ - $ref: "#/components/schemas/ChargePointIntegrationStateDto"
+ - {}
serialNumber:
type: string
description: The serial number of this charge point integration
@@ -8209,9 +12346,10 @@ components:
nullable: true
example: 1
chargePoint:
+ description: The charge point associated to this integration
allOf:
- - $ref: '#/components/schemas/ChargePoint'
- - description: The charge point associated to this integration
+ - $ref: "#/components/schemas/ChargePoint"
+ - {}
activeAt:
type: string
description: The Date this charge point integration was set to active
@@ -8246,6 +12384,11 @@ components:
- unknown
ChargePointIntegrationType:
type: string
+ description: "definitions: \n* `oicp` - Indicates the current integration is\
+ \ OICP. \n* `ocpi` - Indicates the current integration is OCPI. \n* `ocpp`\
+ \ - Indicates the current integration is OCPP. \n* `other` - Fallback value,\
+ \ Indicates a new type was added but is not mapped/unknown on this API yet.\
+ \ \n"
enum:
- oicp
- ocpi
@@ -8274,15 +12417,16 @@ components:
\ name - Model name)"
example: SecuriCharge Dual
brand:
+ description: The brand of the charge point model
allOf:
- - $ref: '#/components/schemas/ChargePointModelDto.ChargePointBrandDto'
- - description: The brand of the charge point model
+ - $ref: "#/components/schemas/ChargePointModelDto.ChargePointBrandDto"
+ - {}
features:
type: array
description: "The supported features by this charge point model, only supported\
\ features will be included"
items:
- $ref: '#/components/schemas/ChargePointModelFeature'
+ $ref: "#/components/schemas/ChargePointModelFeature"
createdAt:
type: string
description: Creation date of this charge point model
@@ -8332,6 +12476,22 @@ components:
type: boolean
description: The current status of the feature
example: true
+ ChargePointOcppLog:
+ required:
+ - message
+ - timestamp
+ type: object
+ properties:
+ timestamp:
+ type: string
+ description: Timestamp of the OCPP log
+ format: date-time
+ example: 2022-05-12T15:56:45.99Z
+ message:
+ type: string
+ description: "Message content of the OCPP log, can be a string or an array\
+ \ of mixed types"
+ example: Charge point connected
ChargePointState:
type: string
description: "Various types of Charge Point states. Definitions: \n\n* `available`\
@@ -8345,9 +12505,7 @@ components:
\ in use and scheduled. \n* `error` - The charge point is in an error state.\
\ \n* `disconnected` - The charge point is disconnected from Monta. \n* `passive`\
\ - The charge point is in a passive state, charging can only be controlled\
- \ locally. \n* `maintenance` - The charge point is in maintenance mode. \n\
- * `other` - Fallback value, Indicates a new type was added but is not mapped/unknown\
- \ on this API yet. \n"
+ \ locally. \n* `maintenance` - The charge point is in maintenance mode. \n"
enum:
- available
- busy
@@ -8362,6 +12520,78 @@ components:
- passive
- maintenance
- other
+ ChargePointStatisticsDto:
+ required:
+ - fromDate
+ - sessionSuccessRate
+ - toDate
+ - totalEnergyConsumed
+ - totalSessions
+ type: object
+ properties:
+ fromDate:
+ required:
+ - "true"
+ type: string
+ description: Start date of the statistics period
+ format: date-time
+ example: 2024-03-20T00:00:00Z
+ toDate:
+ required:
+ - "true"
+ type: string
+ description: End date of the statistics period
+ format: date-time
+ example: 2024-03-30T00:00:00Z
+ totalEnergyConsumed:
+ required:
+ - "true"
+ type: number
+ description: Total energy consumed during the period (in kWh)
+ example: 500.5
+ totalSessions:
+ required:
+ - "true"
+ type: integer
+ description: Total number of charging sessions during the period
+ format: int32
+ example: 150
+ sessionSuccessRate:
+ required:
+ - "true"
+ type: number
+ description: Success rate of charging sessions during the period (as a percentage)
+ format: double
+ example: 95
+ systemUptimePercentage:
+ required:
+ - "false"
+ type: number
+ description: Percentage of uptime for the system during the period
+ format: double
+ nullable: true
+ example: 99.9
+ states:
+ required:
+ - "false"
+ type: array
+ description: Detailed state for the period
+ items:
+ $ref: "#/components/schemas/States"
+ days:
+ required:
+ - "false"
+ type: array
+ description: Daily statistics for the period
+ items:
+ $ref: "#/components/schemas/TimePeriod"
+ months:
+ required:
+ - "false"
+ type: array
+ description: Monthly statistics for the period
+ items:
+ $ref: "#/components/schemas/TimePeriod"
ChargePrice:
required:
- time
@@ -8411,10 +12641,11 @@ components:
type: object
properties:
type:
+ description: The type of charge insight
+ example: completed-charges-insights
allOf:
- - $ref: '#/components/schemas/ChargesInsightTypeDto'
- - description: The type of charge insight
- example: completed-charges-insights
+ - $ref: "#/components/schemas/ChargesInsightTypeDto"
+ - {}
fromDate:
type: string
description: "Indicates the starting period (`fromDate`) used calculate\
@@ -8434,20 +12665,127 @@ components:
description: The title for for this charge insight
example: Completed charge sessions insights
operator:
+ description: The operator to which this charge insight belongs to
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: The operator to which this charge insight belongs to
+ - $ref: "#/components/schemas/Operator"
+ - {}
currency:
+ description: The currency applicable for this charge insight
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: The currency applicable for this charge insight
+ - $ref: "#/components/schemas/Currency_5"
+ - {}
insights:
required:
- "true"
type: array
- description: The compilation of insights entries composing this charge insight
+ description: The compilation of insights entries composing this charge insight
+ items:
+ $ref: "#/components/schemas/ChargesInsightEntry"
+ ChargesInsightByChargeAuthTokenReportDto:
+ required:
+ - consumptions
+ - identifier
+ - type
+ type: object
+ properties:
+ id:
+ type: integer
+ description: The id of the charge auth token
+ format: int64
+ example: 1
+ identifier:
+ type: string
+ description: "The identifier of the charge auth token, Note: without prefix\
+ \ e.g `VID:`"
+ example: 38C58DB85F4
+ type:
+ type: string
+ description: The method type used for this charge auth token
+ example: vehicleId
+ enum:
+ - vehicleId
+ - rfid
+ consumptions:
+ required:
+ - "true"
+ type: array
+ description: Charge consumptions grouped by `chargeType`
items:
- $ref: '#/components/schemas/ChargesInsightEntry'
+ $ref: "#/components/schemas/ChargesInsightByChargeAuthTokenReportDto.Consumption"
+ ChargesInsightByChargeAuthTokenReportDto.Consumption:
+ required:
+ - chargeType
+ - totalGrossPrice
+ - totalKwh
+ - totalNetPrice
+ - totalSessions
+ - totalVat
+ type: object
+ properties:
+ chargeType:
+ required:
+ - "true"
+ type: string
+ description: "Defines the type of charge, ie. if it was a sponsored or public\
+ \ charge. \n\ndefinitions: \n* `sponsored` - Charges that have been sponsored.\
+ \ \n* `team-operator` - Charges that belong to Charge Points of the same\
+ \ operator as paying team operator. \n* `public` - Any charge that was\
+ \ paid for by this team that does not match the other cases. \n\nNote\
+ \ that more chargeTypes might be added in the future. Make sure to handle\
+ \ this gracefully."
+ totalSessions:
+ required:
+ - "true"
+ type: integer
+ description: Number of charging sessions
+ format: int64
+ totalKwh:
+ required:
+ - "true"
+ type: number
+ description: Sum of all Kwh consumed
+ format: double
+ totalNetPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge net prices
+ format: double
+ totalVat:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge vat amounts
+ format: double
+ totalGrossPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge gross prices
+ format: double
+ memberCostGroupId:
+ required:
+ - "false"
+ type: integer
+ description: "The ID of the Member Cost Group applied to this charges, or\
+ \ Null if none"
+ format: int64
+ nullable: true
+ memberCostGroupName:
+ required:
+ - "false"
+ type: string
+ description: "The name of the Member Cost Group applied to this charges,\
+ \ or Null if none"
+ nullable: true
+ memberCostGroupPrice:
+ required:
+ - "false"
+ type: number
+ description: "Sum of all charge costs in the Member Cost Group currency,\
+ \ or Null if none"
+ format: double
+ nullable: true
ChargesInsightChargerReport:
required:
- chargePointId
@@ -8481,7 +12819,7 @@ components:
type: array
description: Charge consumptions
items:
- $ref: '#/components/schemas/ChargesInsightChargerReportDto.Consumption'
+ $ref: "#/components/schemas/ChargesInsightChargerReportDto.Consumption"
ChargesInsightChargerReportDto.Consumption:
required:
- totalKwh
@@ -8500,6 +12838,174 @@ components:
type: number
description: Sum of all Kwh consumed
format: double
+ ChargesInsightDriverMemberCostsReport:
+ required:
+ - consumptions
+ - teamId
+ - teamMemberId
+ - userId
+ type: object
+ properties:
+ teamId:
+ required:
+ - "true"
+ type: integer
+ description: Team ID used for this report
+ format: int64
+ teamMemberId:
+ required:
+ - "true"
+ type: integer
+ description: Team Member ID of the Driver
+ format: int64
+ userId:
+ required:
+ - "true"
+ type: integer
+ description: User ID of the Driver
+ format: int64
+ consumptions:
+ required:
+ - "true"
+ type: array
+ description: Charge consumptions grouped by `chargeType`
+ items:
+ $ref: "#/components/schemas/ChargesInsightDriverMemberCostsReportDto.Consumption"
+ ChargesInsightDriverMemberCostsReportDto.Consumption:
+ required:
+ - chargeType
+ - countryBreakdown
+ - totalGrossPrice
+ - totalKwh
+ - totalNetPrice
+ - totalSessions
+ - totalVat
+ type: object
+ properties:
+ chargeType:
+ required:
+ - "true"
+ type: string
+ description: "Defines the type of charge, ie. if it was a sponsored or public\
+ \ charge. \n\ndefinitions: \n* `sponsored` - Charges that have been sponsored.\
+ \ \n* `team-operator` - Charges that belong to Charge Points of the same\
+ \ operator as paying team operator. \n* `public` - Any charge that was\
+ \ paid for by this team that does not match the other cases. \n\nNote\
+ \ that more chargeTypes might be added in the future. Make sure to handle\
+ \ this gracefully."
+ totalSessions:
+ required:
+ - "true"
+ type: integer
+ description: Number of charging sessions
+ format: int64
+ totalKwh:
+ required:
+ - "true"
+ type: number
+ description: Sum of all Kwh consumed
+ format: double
+ totalNetPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge net prices
+ format: double
+ totalVat:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge vat amounts
+ format: double
+ totalGrossPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge gross prices
+ format: double
+ memberCostGroupId:
+ required:
+ - "false"
+ type: integer
+ description: "The ID of the Member Cost Group applied to this charges, or\
+ \ Null if none"
+ format: int64
+ nullable: true
+ memberCostGroupName:
+ required:
+ - "false"
+ type: string
+ description: "The name of the Member Cost Group applied to this charges,\
+ \ or Null if none"
+ nullable: true
+ memberCostGroupPrice:
+ required:
+ - "false"
+ type: number
+ description: "Sum of all charge costs in the Member Cost Group currency,\
+ \ or Null if none"
+ format: double
+ nullable: true
+ countryBreakdown:
+ required:
+ - "true"
+ type: array
+ description: Breakdown of the charges by country
+ items:
+ $ref: "#/components/schemas/ChargesInsightDriverMemberCostsReportDto.Consumption.CountryBreakdown"
+ ChargesInsightDriverMemberCostsReportDto.Consumption.CountryBreakdown:
+ required:
+ - countryCode
+ - totalGrossPrice
+ - totalKwh
+ - totalNetPrice
+ - totalSessions
+ - totalVat
+ type: object
+ properties:
+ countryCode:
+ required:
+ - "true"
+ type: string
+ description: Two letter Country Code
+ totalSessions:
+ required:
+ - "true"
+ type: integer
+ description: Number of charging sessions
+ format: int64
+ totalKwh:
+ required:
+ - "true"
+ type: number
+ description: Sum of all Kwh consumed
+ format: double
+ totalNetPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge net prices
+ format: double
+ totalVat:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge vat amounts
+ format: double
+ totalGrossPrice:
+ required:
+ - "true"
+ type: number
+ description: Sum of all charge gross prices
+ format: double
+ memberCostGroupPrice:
+ required:
+ - "false"
+ type: number
+ description: "Sum of all charge costs in the Member Cost Group currency,\
+ \ or Null if none"
+ format: double
+ nullable: true
ChargesInsightDriverReport:
required:
- consumptions
@@ -8532,7 +13038,7 @@ components:
type: array
description: Charge consumptions grouped by `chargeType`
items:
- $ref: '#/components/schemas/ChargesInsightDriverReportDto.Consumption'
+ $ref: "#/components/schemas/ChargesInsightDriverReportDto.Consumption"
ChargesInsightDriverReportDto.Consumption:
required:
- chargeType
@@ -8591,15 +13097,17 @@ components:
type: object
properties:
type:
+ description: The type for this insight entry
+ example: completed-sponsored-charges-insights
allOf:
- - $ref: '#/components/schemas/ChargesInsightEntryTypeDto'
- - description: The type for this insight entry
- example: completed-sponsored-charges-insights
+ - $ref: "#/components/schemas/ChargesInsightEntryTypeDto"
+ - {}
summary:
+ description: "The summary for this insight entry, The summary contains the\
+ \ compiled statistics for the entry"
allOf:
- - $ref: '#/components/schemas/ChargesInsightSummary'
- - description: "The summary for this insight entry, The summary contains\
- \ the compiled statistics for the entry"
+ - $ref: "#/components/schemas/ChargesInsightSummary"
+ - {}
ChargesInsightEntryTypeDto:
type: string
description: Enumerate the various types of charge insights
@@ -8659,10 +13167,11 @@ components:
type: object
properties:
type:
+ description: The type of price/fee for this component
+ example: tariff
allOf:
- - $ref: '#/components/schemas/ComponentTypeDto'
- - description: The type of price/fee for this component
- example: tariff
+ - $ref: "#/components/schemas/ComponentTypeDto"
+ - {}
price:
required:
- "true"
@@ -8683,40 +13192,42 @@ components:
description: Indicates this component is master a master pricing
example: true
tag:
+ description: The tag for this component
nullable: true
allOf:
- - $ref: '#/components/schemas/PriceGroupTag'
- - description: The tag for this component
+ - $ref: "#/components/schemas/PriceGroupTag"
+ - {}
metadata:
+ description: "Additional information (metadata) for this component, e.g\
+ \ tariffId, kwh and others"
nullable: true
allOf:
- - $ref: '#/components/schemas/ComponentMetadataDto'
- - description: "Additional information (metadata) for this component, e.g\
- \ tariffId, kwh and others"
+ - $ref: "#/components/schemas/ComponentMetadataDto"
+ - {}
ComponentMetadataDto:
required:
- type
type: object
properties:
type:
- $ref: '#/components/schemas/ComponentMetadataTypeDto'
+ $ref: "#/components/schemas/ComponentMetadataTypeDto"
discriminator:
propertyName: type
mapping:
- spot-price-additional-price-metadata: '#/components/schemas/SpotPriceAdditionalPercentageComponentMetadata'
- spot-price-metadata: '#/components/schemas/SpotPriceComponentMetadata'
- tariff-metadata: '#/components/schemas/TariffComponentMetadata'
- default-metadata: '#/components/schemas/DefaultComponentMetadata'
- duration-fee-metadata: '#/components/schemas/DurationFeeComponentMetadata'
- idle-fee-metadata: '#/components/schemas/IdleFeeComponentMetadata'
+ spot-price-additional-price-metadata: "#/components/schemas/SpotPriceAdditionalPercentageComponentMetadata"
+ spot-price-metadata: "#/components/schemas/SpotPriceComponentMetadata"
+ tariff-metadata: "#/components/schemas/TariffComponentMetadata"
+ default-metadata: "#/components/schemas/DefaultComponentMetadata"
+ duration-fee-metadata: "#/components/schemas/DurationFeeComponentMetadata"
+ idle-fee-metadata: "#/components/schemas/IdleFeeComponentMetadata"
oneOf:
- - $ref: '#/components/schemas/SpotPriceComponentMetadata'
- - $ref: '#/components/schemas/SpotPriceAdditionalPriceComponentMetadata'
- - $ref: '#/components/schemas/SpotPriceAdditionalPercentageComponentMetadata'
- - $ref: '#/components/schemas/DurationFeeComponentMetadata'
- - $ref: '#/components/schemas/IdleFeeComponentMetadata'
- - $ref: '#/components/schemas/TariffComponentMetadata'
- - $ref: '#/components/schemas/DefaultComponentMetadata'
+ - $ref: "#/components/schemas/SpotPriceComponentMetadata"
+ - $ref: "#/components/schemas/SpotPriceAdditionalPriceComponentMetadata"
+ - $ref: "#/components/schemas/SpotPriceAdditionalPercentageComponentMetadata"
+ - $ref: "#/components/schemas/DurationFeeComponentMetadata"
+ - $ref: "#/components/schemas/IdleFeeComponentMetadata"
+ - $ref: "#/components/schemas/TariffComponentMetadata"
+ - $ref: "#/components/schemas/DefaultComponentMetadata"
ComponentMetadataTypeDto:
type: string
description: "Enumerate the various types of metadata.The content of metadata\
@@ -8747,12 +13258,14 @@ components:
- fixed-charging-fee
- idle-fee
- adjustment
+ - bilateral-agreement
- other
Consumer:
required:
- clientId
- createdAt
- name
+ - operatorIds
- scopes
- teamIds
type: object
@@ -8766,10 +13279,18 @@ components:
description: Your operator id
format: int64
example: 42
+ operatorIds:
+ type: array
+ description: "List of operator ids that are authorized for API operations.\
+ \ If empty, all child operators of this operator are authorized."
+ items:
+ type: integer
+ format: int64
+ example: 42
teamIds:
type: array
- description: "List of team ids that are unlocked for API operations. If\
- \ empty, all teams of this operator are unlocked."
+ description: "List of team ids that are authorized for API operations. If\
+ \ empty, all teams of this operator are authorized."
items:
type: integer
format: int64
@@ -8885,10 +13406,11 @@ components:
nullable: true
example: GB
level:
+ description: The level of depth for this country area
+ example: bidding-area
allOf:
- - $ref: '#/components/schemas/CountryAreaLevel'
- - description: The level of depth for this country area
- example: bidding-area
+ - $ref: "#/components/schemas/CountryAreaLevel"
+ - {}
CountryAreaLevel:
type: string
enum:
@@ -8903,16 +13425,25 @@ components:
type: object
properties:
type:
+ description: Type of the additional pricing. `absolute` means the value
+ is a price.
+ example: percentage
allOf:
- - $ref: '#/components/schemas/AdditionalPricingType'
- - description: Type of the additional pricing. `absolute` means the value
- is a price.
- example: percentage
+ - $ref: "#/components/schemas/AdditionalPricingType"
+ - {}
value:
+ minimum: 0
+ exclusiveMinimum: true
required:
- "true"
type: number
description: The value of this additional pricing.
+ title:
+ required:
+ - "false"
+ type: string
+ description: A title for this additional pricing.
+ nullable: true
CreateChargeAuthToken:
required:
- identifier
@@ -8947,10 +13478,11 @@ components:
\ e.g `VID:`"
example: 38C58DB85F4
type:
+ description: Type of the charge auth token
+ example: vehicleId
allOf:
- - $ref: '#/components/schemas/ChargeAuthenticationType'
- - description: Type of the charge auth token
- example: vehicleId
+ - $ref: "#/components/schemas/ChargeAuthenticationType"
+ - {}
name:
type: string
description: Name of the charge auth token
@@ -9055,15 +13587,17 @@ components:
format: double
example: 22
visibility:
+ description: Visibility type of the charge point
+ example: private
allOf:
- - $ref: '#/components/schemas/VisibilityType'
- - description: Visibility type of the charge point
- example: private
+ - $ref: "#/components/schemas/VisibilityType"
+ - {}
type:
+ description: Electric current type the charge point support
+ example: ac
allOf:
- - $ref: '#/components/schemas/ElectricCurrentType'
- - description: Electric current type the charge point support
- example: ac
+ - $ref: "#/components/schemas/ElectricCurrentType"
+ - {}
active:
type: boolean
description: Indicates the charge point is active
@@ -9085,7 +13619,11 @@ components:
\ \n When not present the provide charge point model connectors\
\ will be used instead. \n "
nullable: true
- example: "[1,2,3,4]"
+ example:
+ - 1
+ - 2
+ - 3
+ - 4
items:
type: integer
format: int64
@@ -9209,14 +13747,16 @@ components:
description: Name of the price group
example: Public Price Group
type:
+ description: Type of the price group
+ example: public
allOf:
- - $ref: '#/components/schemas/PriceGroupType'
- - description: Type of the price group
- example: public
+ - $ref: "#/components/schemas/PriceGroupType"
+ - {}
masterPrice:
+ description: The master price
allOf:
- - $ref: '#/components/schemas/CreateOrUpdatePricingDto'
- - description: The master price
+ - $ref: "#/components/schemas/CreateOrUpdatePricingDto"
+ - {}
fees:
required:
- "false"
@@ -9224,7 +13764,7 @@ components:
description: All the fees for the price group
nullable: true
items:
- $ref: '#/components/schemas/CreateOrUpdatePricingDto'
+ $ref: "#/components/schemas/CreateOrUpdatePricingDto"
CreateOrUpdatePricingDto:
required:
- endAtFullyCharged
@@ -9241,11 +13781,12 @@ components:
nullable: true
example: Starting Fee
type:
+ description: Type of the pricing. `minute` is used for Minute fee. `min`
+ is used for the master price.
+ example: kwh
allOf:
- - $ref: '#/components/schemas/PricingType'
- - description: Type of the pricing. `minute` is used for Minute fee. `min`
- is used for the master price.
- example: kwh
+ - $ref: "#/components/schemas/PricingType"
+ - {}
endAtFullyCharged:
required:
- "true"
@@ -9334,7 +13875,7 @@ components:
values to be added on top of the previous calculations
nullable: true
items:
- $ref: '#/components/schemas/CreateAdditionalPricingDto'
+ $ref: "#/components/schemas/CreateAdditionalPricingDto"
from:
required:
- "false"
@@ -9400,15 +13941,17 @@ components:
description: Name of the site
example: Monta CPH Site
address:
+ description: "Address of the site, Note: please ensure to always provide\
+ \ a valid address"
allOf:
- - $ref: '#/components/schemas/CreatedOrUpdateAddress'
- - description: "Address of the site, Note: please ensure to always provide\
- \ a valid address"
+ - $ref: "#/components/schemas/CreatedOrUpdateAddress"
+ - {}
visibility:
+ description: Visibility type of the site
+ example: private
allOf:
- - $ref: '#/components/schemas/VisibilityType_1'
- - description: Visibility type of the site
- example: private
+ - $ref: "#/components/schemas/VisibilityType_1"
+ - {}
partnerExternalId:
type: string
description: "External Id of this entity, managed by you."
@@ -9460,10 +14003,11 @@ components:
nullable: true
example: 1
payoutSchedule:
+ description: The payout schedule for this sponsored charge point
+ example: realtime
allOf:
- - $ref: '#/components/schemas/SponsoredChargePointPayoutType'
- - description: The payout schedule for this sponsored charge point
- example: realtime
+ - $ref: "#/components/schemas/SponsoredChargePointPayoutType"
+ - {}
payForSubscriptions:
type: boolean
description: Indicates that company pay for subscriptions
@@ -9480,33 +14024,32 @@ components:
type: integer
description: Id of the plan to subscribe to
format: int64
- customerType:
- allOf:
- - $ref: '#/components/schemas/SubscriptionCustomerType'
- - description: Type of customer the subscription is created for.Currently
- you can create subscriptions for charge-points only.
customerId:
minimum: 0
exclusiveMinimum: true
type: integer
- description: "Id of the customer the subscription is created for, e.g. a\
- \ chargePointId"
+ description: "Id of the customer the subscription is created for, e.g. team\
+ \ or charge-point id"
format: int64
+ customerType:
+ description: Type of the customer that the subscription is created for.
+ e.g. team or charge-point
+ allOf:
+ - $ref: "#/components/schemas/SubscriptionCustomerType"
+ - {}
discountAbsolute:
minimum: 0
- exclusiveMinimum: true
required:
- "false"
type: number
description: "Allows to modify the absolute discount on a subscription if\
- \ provided.\n If not provided, the discount of the plan is\
+ \ provided. \n If not provided, the discount of the plan is\
\ used.\n Note: If you want to set it on an existing subscription,\
\ you have to cancel the subscription first.\n "
format: double
nullable: true
discountPercentage:
minimum: 0
- exclusiveMinimum: true
required:
- "false"
type: number
@@ -9517,11 +14060,23 @@ components:
format: double
nullable: true
serviceConfig:
+ description: "Configure the subscription, based on the plans serviceType.Currently\
+ \ you can configure tax-refund subscriptions only."
nullable: true
allOf:
- - $ref: '#/components/schemas/SubscriptionServiceConfig'
- - description: "Configure the subscription, based on the plans serviceType.Currently\
- \ you can configure tax-refund subscriptions only."
+ - $ref: "#/components/schemas/SubscriptionServiceConfig"
+ - {}
+ userId:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "false"
+ type: integer
+ description: "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."
+ format: int64
+ nullable: true
CreateTariffPricesRequest:
required:
- end
@@ -9616,14 +14171,17 @@ components:
- "true"
type: array
description: Zip codes where this tariff is applicable
- example: "[\"2200\", \"2100\"]"
+ example:
+ - "2200"
+ - "2100"
items:
type: string
tariffType:
+ description: Dynamic or weekly
+ example: WEEKLY
allOf:
- - $ref: '#/components/schemas/TariffType'
- - description: Dynamic or weekly
- example: WEEKLY
+ - $ref: "#/components/schemas/TariffType"
+ - {}
active:
required:
- "false"
@@ -9643,11 +14201,12 @@ components:
description: Human description of the area the tariff is active in
example: Fyn
customerType:
+ description: What kind of customer types are the tariff for?
nullable: true
+ example: C_CUSTOMER
allOf:
- - $ref: '#/components/schemas/TariffCustomerType'
- - description: What kind of customer types are the tariff for?
- example: c_customer
+ - $ref: "#/components/schemas/TariffCustomerType"
+ - {}
CreateTeamDto:
required:
- address
@@ -9664,11 +14223,22 @@ components:
example: 42
userEmail:
type: string
- description: "email of the user that owns the team, useful when the userId\
+ description: "Email of the user that owns the team, useful when the userId\
\ is not known"
format: email
nullable: true
- example: user@monta.com
+ example: user@monta.com
+ operatorId:
+ minimum: 0
+ exclusiveMinimum: true
+ type: integer
+ description: "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."
+ format: int64
+ nullable: true
+ example: 1
name:
minLength: 1
type: string
@@ -9680,15 +14250,16 @@ components:
format: email
example: contact@monta.com
type:
+ description: type of the team
+ example: private
allOf:
- - $ref: '#/components/schemas/TeamType.Creatable'
- - description: type of the team
- example: private
+ - $ref: "#/components/schemas/TeamType.Creatable"
+ - {}
address:
+ description: "Address of the team, Note: be sure to add always a valid address"
allOf:
- - $ref: '#/components/schemas/CreatedOrUpdateAddress'
- - description: "Address of the team, Note: be sure to add always a valid\
- \ address"
+ - $ref: "#/components/schemas/CreatedOrUpdateAddress"
+ - {}
companyName:
type: string
description: The company name for the team
@@ -9752,10 +14323,11 @@ components:
nullable: true
example: "+45123456789"
role:
+ description: Role for this member within the team
+ example: admin
allOf:
- - $ref: '#/components/schemas/TeamMemberRole'
- - description: Role for this member within the team
- example: admin
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
priceGroupId:
type: integer
description: "The price group for this team member, when not provided the\
@@ -9763,6 +14335,24 @@ components:
format: int64
nullable: true
example: 1
+ costGroupId:
+ type: integer
+ description: The cost group for this team member
+ format: int64
+ nullable: true
+ example: 1
+ teamMemberProfileId:
+ type: integer
+ description: The team member profile id to apply to this team member
+ format: int64
+ nullable: true
+ example: 1
+ canConfigureChargePoints:
+ type: boolean
+ description: Indicates if the team member access to pay with team wallet
+ when charging
+ example: false
+ default: false
canPayWithTeamWallet:
type: boolean
description: Gives the team member access to pay with team wallet when charging
@@ -9782,13 +14372,24 @@ components:
teamWalletChargePaymentType:
nullable: true
allOf:
- - $ref: '#/components/schemas/TeamWalletChargePaymentType'
+ - $ref: "#/components/schemas/TeamWalletChargePaymentType"
canManageTeamWallet:
type: boolean
description: Gives the team member access to withdraw and deposit from your
team wallet to your bank account
example: false
default: false
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ nullable: true
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
note:
type: string
description: A note for the team member
@@ -9800,7 +14401,11 @@ components:
type: array
description: Ids of the charge point this team member with will have access
nullable: true
- example: "[1,2,3,4]"
+ example:
+ - 1
+ - 2
+ - 3
+ - 4
items:
type: integer
format: int64
@@ -9815,59 +14420,331 @@ components:
nullable: true
items:
type: object
+ CreateTeamMemberProfile:
+ required:
+ - canPayForChargesCountryIds
+ - description
+ - name
+ - role
+ - teamWalletChargePaymentType
+ type: object
+ properties:
+ teamId:
+ minimum: 0
+ exclusiveMinimum: true
+ type: integer
+ description: Id of the team
+ format: int64
+ example: 1
+ name:
+ type: string
+ description: The team member profile name
+ example: Example profile 1
+ description:
+ type: string
+ description: The team member profile description
+ example: Example profile 1
+ role:
+ description: Role for team member profile
+ example: admin
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
+ priceGroupId:
+ type: integer
+ description: "The price group, when not provided the default team price\
+ \ group will be applied"
+ format: int64
+ nullable: true
+ example: 1
+ costGroupId:
+ type: integer
+ description: The cost group
+ format: int64
+ nullable: true
+ example: 1
+ canConfigureChargePoints:
+ type: boolean
+ description: Allows the team applying member profile to configure charge
+ points
+ example: false
+ default: false
+ canPayWithTeamWallet:
+ type: boolean
+ description: Gives the team applying member profile access to pay with team
+ wallet when charging
+ example: false
+ default: false
+ canRequestSponsoring:
+ type: boolean
+ description: Allows the team applying member profile to request sponsoring
+ from this team for their charge point
+ example: false
+ default: false
+ canManageTeamMembers:
+ type: boolean
+ description: Allows the team applying member profile to view and manage
+ other members settings
+ example: false
+ default: false
+ teamWalletChargePaymentType:
+ $ref: "#/components/schemas/TeamWalletChargePaymentType"
+ canManageTeamWallet:
+ type: boolean
+ description: Gives the team member access to withdraw and deposit from your
+ team wallet to your bank account
+ example: false
+ default: false
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
CreatedOrUpdateAddress:
required:
- - address1
- - city
- - countryId
- - zipCode
+ - address1
+ - city
+ - countryId
+ - zipCode
+ type: object
+ properties:
+ address1:
+ minLength: 1
+ required:
+ - "true"
+ type: string
+ description: First line of address
+ example: Strandboulevarden 122
+ address2:
+ minimum: 1
+ required:
+ - "false"
+ type: string
+ description: Second line of address
+ nullable: true
+ example: København
+ address3:
+ minimum: 1
+ required:
+ - "false"
+ type: string
+ description: Third line of address
+ nullable: true
+ example: 5. sal
+ city:
+ minLength: 1
+ type: string
+ description: The city name
+ example: Berlin
+ zipCode:
+ minLength: 1
+ required:
+ - "true"
+ type: string
+ description: The address zip code
+ example: "10011"
+ countryId:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
+ type: integer
+ description: "The country id, Note"
+ format: int64
+ example: 194
+ Currency:
+ required:
+ - decimals
+ - identifier
+ type: object
+ properties:
+ id:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "false"
+ type: integer
+ description: id of the currency
+ format: int64
+ nullable: true
+ example: 1
+ master:
+ required:
+ - "false"
+ type: boolean
+ description: "Whether the currency is master or not, master meaning the\
+ \ default currency"
+ example: true
+ identifier:
+ maxLength: 3
+ minLength: 3
+ required:
+ - "true"
+ type: string
+ description: 3 characters identifier
+ example: DKK
+ name:
+ required:
+ - "false"
+ type: string
+ description: Name of the currency
+ example: Danish krone
+ decimals:
+ minimum: 0
+ required:
+ - "true"
+ type: integer
+ description: How many decimals the currency has
+ format: int32
+ example: 2
+ CurrencyDto:
+ type: object
+ properties:
+ id:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "false"
+ type: integer
+ description: id of the currency
+ format: int64
+ nullable: true
+ example: 1
+ identifier:
+ type: string
+ description: Currency identifier
+ nullable: true
+ example: DKK
+ name:
+ type: string
+ description: Readable name of currency
+ nullable: true
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_1:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
+ type: string
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
+ type: string
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_11:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
+ type: string
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
+ type: string
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_13:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
+ type: string
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
+ type: string
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_14:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
+ type: string
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
+ type: string
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_17:
+ required:
+ - identifier
+ - name
type: object
properties:
- address1:
- minLength: 1
- required:
- - "true"
- type: string
- description: First line of address
- example: Strandboulevarden 122
- address2:
- minLength: 1
- required:
- - "false"
+ identifier:
type: string
- description: Second line of address
- nullable: true
- example: København
- address3:
- minLength: 1
- required:
- - "false"
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
type: string
- description: Third line of address
- nullable: true
- example: 5. sal
- city:
- minLength: 1
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
+ type: integer
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_3:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
type: string
- description: The city name
- example: Berlin
- zipCode:
- minLength: 1
- required:
- - "true"
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
+ name:
type: string
- description: The address zip code
- example: "10011"
- countryId:
- minimum: 0
- exclusiveMinimum: true
- required:
- - "true"
+ description: Readable name of currency
+ example: Danish krone
+ decimals:
type: integer
- description: "The country id, Note"
- format: int64
- example: 194
- Currency:
+ description: Number of decimals for this currency
+ format: int32
+ example: 2
+ Currency_5:
required:
- identifier
- name
@@ -9886,56 +14763,38 @@ components:
description: Number of decimals for this currency
format: int32
example: 2
- CurrencyDto_3:
+ Currency_7:
+ required:
+ - identifier
+ - name
type: object
properties:
- id:
- minimum: 0
- exclusiveMinimum: true
- required:
- - "false"
- type: integer
- description: id of the currency
- format: int64
- nullable: true
- example: 1
identifier:
type: string
- description: "Currency identifier, e.g. DKK"
- nullable: true
- example: DKK
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
name:
type: string
description: Readable name of currency
- nullable: true
example: Danish krone
decimals:
type: integer
description: Number of decimals for this currency
format: int32
example: 2
- CurrencyDto_4:
+ Currency_9:
+ required:
+ - identifier
+ - name
type: object
properties:
- id:
- minimum: 0
- exclusiveMinimum: true
- required:
- - "false"
- type: integer
- description: id of the currency
- format: int64
- nullable: true
- example: 1
identifier:
type: string
- description: "Currency identifier, e.g. DKK"
- nullable: true
- example: DKK
+ description: "Currency identifier, e.g. dkk"
+ example: dkk
name:
type: string
description: Readable name of currency
- nullable: true
example: Danish krone
decimals:
type: integer
@@ -9958,10 +14817,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: default
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: default
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
kwh:
type: number
description: The kwh for this metadata entry
@@ -9984,14 +14844,16 @@ components:
type: object
properties:
summary:
+ description: The summary of the total prices for this breakdown
allOf:
- - $ref: '#/components/schemas/BreakdownSummary'
- - description: The summary of the total prices for this breakdown
+ - $ref: "#/components/schemas/BreakdownSummary"
+ - {}
currency:
+ description: "The currency applicable for this breakdown (for all the components:\
+ \ prices, fees, adjustments)"
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: "The currency applicable for this breakdown (for all the\
- \ components: prices, fees, adjustments)"
+ - $ref: "#/components/schemas/Currency_9"
+ - {}
breakdown:
required:
- "true"
@@ -9999,21 +14861,21 @@ components:
description: "The breakdown entries for this breakdown, currently organized\
\ on an hourly basis"
items:
- $ref: '#/components/schemas/Breakdown'
+ $ref: "#/components/schemas/Breakdown"
fees:
required:
- "true"
type: array
description: The fees that compose this breakdown
items:
- $ref: '#/components/schemas/Component'
+ $ref: "#/components/schemas/Component"
adjustments:
required:
- "true"
type: array
description: The adjustments applied for this breakdown
items:
- $ref: '#/components/schemas/Component'
+ $ref: "#/components/schemas/Component"
DriverReportDatesFilteredBy:
type: string
enum:
@@ -10025,10 +14887,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: default-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: default-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
totalMinutes:
type: number
description: The total duration in minutes for this metadata entry
@@ -10041,9 +14904,14 @@ components:
example: 10
ElectricCurrentType:
type: string
+ description: "definitions: \n* `ac` - Indicates the charge point use `ac` (alternating\
+ \ current) as electric current. \n* `dc` - Indicates the charge point use\
+ \ `ac` (direct current) as electric current. \n* `other` - Indicates the team\
+ \ member has only access to the selected charge points. \n"
enum:
- ac
- dc
+ - other
FullTariff:
required:
- prices
@@ -10051,19 +14919,21 @@ components:
type: object
properties:
tariff:
+ description: tariff
allOf:
- - $ref: '#/components/schemas/TariffDto'
- - description: tariff
+ - $ref: "#/components/schemas/TariffDto"
+ - {}
prices:
type: array
description: list of the tariff prices
items:
- $ref: '#/components/schemas/Price'
+ $ref: "#/components/schemas/Price"
priceSpecification:
+ description: Price specification
nullable: true
allOf:
- - $ref: '#/components/schemas/PriceSpecification'
- - description: Price specification
+ - $ref: "#/components/schemas/PriceSpecification"
+ - {}
GenericPaymentSession:
required:
- externalId
@@ -10097,6 +14967,12 @@ components:
or `cardLast4`.
nullable: true
example: "1234"
+ amount:
+ type: number
+ description: The amount of the payment session. Negative amounts will be
+ rejected by the API
+ nullable: true
+ example: 1234
IdleFeeComponentMetadata:
required:
- from
@@ -10105,14 +14981,16 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: default-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: default-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
amountPerMinute:
type: integer
description: The idle fee per minute for this metadata entry
format: int64
+ example: null
minutes:
type: number
description: For how long the the charge stayed idle after fully charged
@@ -10147,9 +15025,10 @@ components:
format: int64
example: 22
operator:
+ description: The operator of this installer job
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: The operator of this installer job
+ - $ref: "#/components/schemas/Operator"
+ - {}
teamId:
type: integer
description: Id of the team of this installer job
@@ -10185,7 +15064,7 @@ components:
type: array
description: List of tasks of this installer job
items:
- $ref: '#/components/schemas/InstallerJobTask'
+ $ref: "#/components/schemas/InstallerJobTask"
completedAt:
type: string
description: Date this installer job was completed
@@ -10272,6 +15151,99 @@ components:
format: date-time
nullable: true
example: 2022-05-12T15:56:45.99Z
+ InvoiceDto:
+ required:
+ - createdAt
+ - currency
+ - dueAt
+ - from
+ - id
+ - status
+ - to
+ - totalPayableBalance
+ - walletId
+ type: object
+ properties:
+ id:
+ required:
+ - "true"
+ type: integer
+ description: Id of the invoice
+ format: int64
+ example: 123
+ walletId:
+ required:
+ - "true"
+ type: integer
+ description: Id of the wallet
+ format: int64
+ example: 123
+ from:
+ required:
+ - "true"
+ type: string
+ description: Invoice from date
+ format: date-time
+ example: 2024-03-01T00:00:00Z
+ to:
+ required:
+ - "true"
+ type: string
+ description: Invoice to date
+ format: date-time
+ example: 2024-03-30T00:00:00Z
+ approvedAt:
+ required:
+ - "false"
+ type: string
+ description: The date it was approved
+ format: date-time
+ nullable: true
+ example: 2024-03-30T00:00:00Z
+ totalStatement:
+ type: number
+ description: Total statement
+ nullable: true
+ example: 12.22
+ totalPayableBalance:
+ type: number
+ description: Total payable balance
+ example: 12.22
+ currency:
+ description: Currency
+ allOf:
+ - $ref: "#/components/schemas/CurrencyDto"
+ - {}
+ status:
+ type: string
+ description: status of the invoice
+ example: paid
+ enum:
+ - paid
+ - unpaid
+ - settled
+ createdAt:
+ required:
+ - "true"
+ type: string
+ description: Invoice creation date
+ format: date-time
+ example: 2024-03-30T00:00:00Z
+ dueAt:
+ required:
+ - "true"
+ type: string
+ description: Invoice due date
+ format: date-time
+ nullable: true
+ example: 2024-03-30T00:00:00Z
+ pdfUrl:
+ required:
+ - "false"
+ type: string
+ description: URL to the invoice PDF
+ nullable: true
+ example: https://monta.imgix.net/production/wallet/invoices/xyxy.pdf
KafkaEventType:
type: string
enum:
@@ -10297,15 +15269,17 @@ components:
type: object
properties:
coordinates:
+ description: "Coordinates (lat, lng)"
nullable: true
allOf:
- - $ref: '#/components/schemas/Coordinates'
- - description: "Coordinates (lat, lng)"
+ - $ref: "#/components/schemas/Coordinates"
+ - {}
address:
+ description: Address
nullable: true
allOf:
- - $ref: '#/components/schemas/Address'
- - description: Address
+ - $ref: "#/components/schemas/Address"
+ - {}
MapResult:
required:
- chargePoints
@@ -10315,16 +15289,20 @@ components:
properties:
chargePoints:
type: array
+ description: list of all charge points found in that area
items:
- $ref: '#/components/schemas/MapResultChargePoint'
+ $ref: "#/components/schemas/MapResultChargePoint"
sites:
type: array
+ description: list of all sites found in that area
items:
- $ref: '#/components/schemas/MapResultSite'
+ $ref: "#/components/schemas/MapResultSite"
cluster:
type: array
+ description: list of all clusters (of charge points and sites) found in
+ that area
items:
- $ref: '#/components/schemas/MapResultCluster'
+ $ref: "#/components/schemas/MapResultCluster"
MapResultChargePoint:
required:
- connectors
@@ -10399,19 +15377,21 @@ components:
- passive
- other
location:
+ description: Location information for this charge point
allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this charge point
+ - $ref: "#/components/schemas/Location"
+ - {}
connectors:
type: array
description: "List of supported connector types at this charge point (e.g.\
\ type-2, ccs, ...)"
items:
- $ref: '#/components/schemas/ChargePointConnector'
+ $ref: "#/components/schemas/ChargePointConnector"
deeplinks:
+ description: Deeplinks to open charge screen in Monta app or web.
allOf:
- - $ref: '#/components/schemas/ChargePointDeeplinks'
- - description: Deeplinks to open charge screen in Monta app or web.
+ - $ref: "#/components/schemas/ChargePointDeeplinks"
+ - {}
description: Reduced model of Charge Point
MapResultCluster:
required:
@@ -10419,9 +15399,10 @@ components:
type: object
properties:
coordinates:
+ description: Coordinates of the cluster
allOf:
- - $ref: '#/components/schemas/Coordinates'
- - description: Coordinates of the cluster
+ - $ref: "#/components/schemas/Coordinates"
+ - {}
count:
type: integer
description: Number of entities (Charge points and sites) clustered.
@@ -10485,26 +15466,27 @@ components:
nullable: true
example: In order to access this site enter 0000 as code at the gate.
location:
+ description: Location information for this site
allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this site
+ - $ref: "#/components/schemas/Location"
+ - {}
connectors:
type: array
description: "List of supported connector types at this site (e.g. type-2,\
\ ccs, ...)"
items:
- $ref: '#/components/schemas/ChargePointConnector'
+ $ref: "#/components/schemas/ChargePointConnector"
description: Reduced model of Site
MetadataDto:
type: object
discriminator:
propertyName: type
mapping:
- tax-refund-metadata: '#/components/schemas/TaxRefundMetadata'
- charge-metadata: '#/components/schemas/ChargeMetadata'
+ tax-refund-metadata: "#/components/schemas/TaxRefundMetadata"
+ charge-metadata: "#/components/schemas/ChargeMetadata"
oneOf:
- - $ref: '#/components/schemas/TaxRefundMetadata'
- - $ref: '#/components/schemas/ChargeMetadata'
+ - $ref: "#/components/schemas/TaxRefundMetadata"
+ - $ref: "#/components/schemas/ChargeMetadata"
MetadataTypeDto:
type: string
enum:
@@ -10526,9 +15508,10 @@ components:
format: int64
example: 12312
currency:
+ description: Currency
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: Currency
+ - $ref: "#/components/schemas/Currency"
+ - {}
locale:
minLength: 1
required:
@@ -10544,7 +15527,7 @@ components:
type: object
properties:
status:
- $ref: '#/components/schemas/MontaHttpStatus'
+ $ref: "#/components/schemas/MontaHttpStatus"
message:
type: string
nullable: true
@@ -10566,7 +15549,7 @@ components:
type: array
nullable: true
items:
- $ref: '#/components/schemas/MontaAppResponse.ErrorDetail'
+ $ref: "#/components/schemas/MontaAppResponse.ErrorDetail"
statusCode:
type: integer
format: int32
@@ -10589,7 +15572,7 @@ components:
type: array
nullable: true
items:
- $ref: '#/components/schemas/MontaAppResponse.ErrorDetail.Body'
+ $ref: "#/components/schemas/MontaAppResponse.ErrorDetail.Body"
MontaAppResponse.ErrorDetail.Body:
required:
- message
@@ -10701,9 +15684,9 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargeAuthToken'
+ $ref: "#/components/schemas/ChargeAuthToken"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
+ $ref: "#/components/schemas/MontaPage.Meta"
MontaPage_ChargeDto_:
required:
- data
@@ -10713,10 +15696,106 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Charge'
+ $ref: "#/components/schemas/Charge"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointBrandDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePointBrand"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointConnectorDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePointConnector"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePoint"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointIntegrationDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePointIntegration"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointModelDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePointModel"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargePointOcppLogDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargePointOcppLog"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargesInsightByChargeAuthTokenReportDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargesInsightByChargeAuthTokenReportDto"
+ meta:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargesInsightChargerReportDto_:
+ required:
+ - data
+ - meta
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: "#/components/schemas/ChargesInsightChargerReport"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargePointBrandDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargesInsightDriverMemberCostsReportDto_:
required:
- data
- meta
@@ -10725,10 +15804,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargePointBrand'
+ $ref: "#/components/schemas/ChargesInsightDriverMemberCostsReport"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargePointConnectorDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ChargesInsightDriverReportDto_:
required:
- data
- meta
@@ -10737,10 +15816,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargePointConnector'
+ $ref: "#/components/schemas/ChargesInsightDriverReport"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargePointDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_CountryAreaDto_:
required:
- data
- meta
@@ -10749,10 +15828,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargePoint'
+ $ref: "#/components/schemas/CountryArea"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargePointIntegrationDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_CountryDto_:
required:
- data
- meta
@@ -10761,10 +15840,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargePointIntegration'
+ $ref: "#/components/schemas/Country"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargePointModelDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_CurrencyDto_:
required:
- data
- meta
@@ -10773,10 +15852,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargePointModel'
+ $ref: "#/components/schemas/CurrencyDto"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargesInsightChargerReportDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_InstallerJobDto_:
required:
- data
- meta
@@ -10785,10 +15864,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargesInsightChargerReport'
+ $ref: "#/components/schemas/InstallerJob"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_ChargesInsightDriverReportDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_InvoiceDto_:
required:
- data
- meta
@@ -10797,10 +15876,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/ChargesInsightDriverReport'
+ $ref: "#/components/schemas/InvoiceDto"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_CountryAreaDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_NestedTeamDto_:
required:
- data
- meta
@@ -10809,10 +15888,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/CountryArea'
+ $ref: "#/components/schemas/NestedTeam"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_CountryDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_OperatorDto_:
required:
- data
- meta
@@ -10821,10 +15900,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Country'
+ $ref: "#/components/schemas/Operator"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_CurrencyDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_PaymentTerminalDto_:
required:
- data
- meta
@@ -10833,10 +15912,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/CurrencyDto_3'
+ $ref: "#/components/schemas/PaymentTerminal"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_InstallerJobDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_PlanDto_:
required:
- data
- meta
@@ -10845,10 +15924,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/InstallerJob'
+ $ref: "#/components/schemas/Plan"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_OperatorDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_PriceGroupDto_:
required:
- data
- meta
@@ -10857,10 +15936,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Operator'
+ $ref: "#/components/schemas/PriceGroup"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_PaymentTerminalDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_PriceGroupTagDto_:
required:
- data
- meta
@@ -10869,10 +15948,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/PaymentTerminal'
+ $ref: "#/components/schemas/PriceGroupTag"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_PlanDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_ReportDto_:
required:
- data
- meta
@@ -10881,10 +15960,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Plan'
+ $ref: "#/components/schemas/ReportDto"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_PriceGroupDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_SiteDto_:
required:
- data
- meta
@@ -10893,10 +15972,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/PriceGroup'
+ $ref: "#/components/schemas/Site"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_PriceGroupTagDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_SponsoredChargePointDto_:
required:
- data
- meta
@@ -10905,10 +15984,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/PriceGroupTag'
+ $ref: "#/components/schemas/SponsoredChargePoint"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_SiteDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_SubscriptionDto_:
required:
- data
- meta
@@ -10917,10 +15996,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Site'
+ $ref: "#/components/schemas/Subscription"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_SponsoredChargePointDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_SubscriptionPurchaseDto_:
required:
- data
- meta
@@ -10929,10 +16008,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/SponsoredChargePoint'
+ $ref: "#/components/schemas/SubscriptionPurchase"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_SubscriptionDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_TeamDto_:
required:
- data
- meta
@@ -10941,10 +16020,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Subscription'
+ $ref: "#/components/schemas/Team"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_SubscriptionPurchaseDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_TeamMemberDto_:
required:
- data
- meta
@@ -10953,10 +16032,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/SubscriptionPurchase'
+ $ref: "#/components/schemas/TeamMember"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_TeamDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_TeamMemberProfileDto_:
required:
- data
- meta
@@ -10965,10 +16044,10 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Team'
+ $ref: "#/components/schemas/TeamMemberProfile"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
- MontaPage_TeamMemberDto_:
+ $ref: "#/components/schemas/MontaPage.Meta"
+ MontaPage_UserDto_:
required:
- data
- meta
@@ -10977,9 +16056,9 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/TeamMemberDto'
+ $ref: "#/components/schemas/User"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
+ $ref: "#/components/schemas/MontaPage.Meta"
MontaPage_WalletDto_:
required:
- data
@@ -10989,9 +16068,9 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/Wallet'
+ $ref: "#/components/schemas/Wallet"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
+ $ref: "#/components/schemas/MontaPage.Meta"
MontaPage_WalletTransactionDto_:
required:
- data
@@ -11001,9 +16080,9 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/WalletTransaction'
+ $ref: "#/components/schemas/WalletTransaction"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
+ $ref: "#/components/schemas/MontaPage.Meta"
MontaPage_WebhookEntryDto_:
required:
- data
@@ -11013,9 +16092,142 @@ components:
data:
type: array
items:
- $ref: '#/components/schemas/WebhookEntry'
+ $ref: "#/components/schemas/WebhookEntry"
meta:
- $ref: '#/components/schemas/MontaPage.Meta'
+ $ref: "#/components/schemas/MontaPage.Meta"
+ NestedTeam:
+ required:
+ - access
+ - createdAt
+ - parentTeam
+ - state
+ - userRole
+ type: object
+ properties:
+ id:
+ type: integer
+ description: Id of the nested team relation
+ format: int64
+ example: 1
+ parentTeam:
+ description: "Parent team, the one who sends the invite"
+ allOf:
+ - $ref: "#/components/schemas/PublicTeam"
+ - {}
+ nestedTeam:
+ description: "Parent team, the one who receives the invite"
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/PublicTeam"
+ - {}
+ priceGroup:
+ description: Price group applied to the nested team
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/PriceGroup_1"
+ - {}
+ invitedByUser:
+ description: User who requested the invitation
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/PublicUser"
+ - {}
+ userRole:
+ type: string
+ description: The role assigned to the nested team
+ example: user
+ enum:
+ - user
+ access:
+ description: "Access to parent team CPs / sites: to all or selected charge\
+ \ points and/or sites"
+ example: all
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberAccess"
+ - {}
+ state:
+ description: State of the nested team invitation
+ example: accepted
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberState"
+ - {}
+ selectedChargePointIds:
+ type: array
+ description: Selected charge points nested team has access to
+ nullable: true
+ example:
+ - 41
+ - 72
+ - 93
+ items:
+ type: integer
+ format: int64
+ note:
+ type: string
+ description: Internal note for this nested team
+ nullable: true
+ example: Internal note placeholder
+ createdAt:
+ type: string
+ description: Datetime of the creation of nested team invite
+ format: date-time
+ example: 2022-07-27T18:11:41Z
+ updatedAt:
+ type: string
+ description: Datetime of the update of nested team invite
+ format: date-time
+ nullable: true
+ example: 2022-07-28T18:11:41Z
+ invitedAt:
+ type: string
+ description: Datetime nested team was invited
+ format: date-time
+ nullable: true
+ example: 2022-07-28T18:11:41Z
+ NestedTeamInvite:
+ required:
+ - access
+ - nestedTeamId
+ - parentTeamId
+ - priceGroupId
+ type: object
+ properties:
+ parentTeamId:
+ type: integer
+ description: "Id of the parent team, the one who sends the invite"
+ format: int64
+ example: 1
+ nestedTeamId:
+ type: integer
+ description: "Id of the nested team, the one who receives the invite"
+ format: int64
+ example: 2
+ priceGroupId:
+ type: integer
+ description: Price group applied to the nested team
+ format: int64
+ example: 3
+ access:
+ description: Is access granted to all or selected charge points and sites
+ example: all
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberAccess"
+ - {}
+ selectedChargePointIds:
+ type: array
+ description: List of charge point ids nested team access will be assigned
+ to
+ nullable: true
+ items:
+ type: integer
+ format: int64
+ selectedSiteIds:
+ type: array
+ description: List of site ids nested team access will be assigned to
+ nullable: true
+ items:
+ type: integer
+ format: int64
Operator:
required:
- identifier
@@ -11040,6 +16252,7 @@ components:
description: Partner id (owner of this operator)
format: int64
nullable: true
+ example: null
vatNumber:
type: string
description: VAT number
@@ -11074,6 +16287,7 @@ components:
type: integer
description: Currency identifier
format: int64
+ example: null
amount:
type: number
description: Amount to transfer
@@ -11081,13 +16295,17 @@ components:
example: 13.77
partnerExternalId:
type: string
- description: "External Id of this entity, managed by you."
+ description: "**Note: This has been deprecated and will be null always.**External\
+ \ Id of this entity, managed by you."
nullable: true
example: ACME-12345
+ deprecated: true
partnerCustomPayload:
type: array
- description: "Custom JSON payload for this entity, managed by you."
+ description: "**Note: This has been deprecated and will be null always.**Custom\
+ \ JSON payload for this entity, managed by you."
nullable: true
+ deprecated: true
items:
type: object
OperatorRole:
@@ -11099,10 +16317,8 @@ components:
Page_TariffRecurringPeriodDto_:
type: object
allOf:
- - $ref: '#/components/schemas/Slice_TariffRecurringPeriodDto_'
- - required:
- - totalSize
- properties:
+ - $ref: "#/components/schemas/Slice_TariffRecurringPeriodDto_"
+ - properties:
totalSize:
type: integer
format: int64
@@ -11110,21 +16326,29 @@ components:
type: integer
format: int32
Pageable:
+ required:
+ - size
+ - sort
type: object
allOf:
- - $ref: '#/components/schemas/Sort'
- - required:
- - size
- - sort
- properties:
+ - $ref: "#/components/schemas/Sort"
+ - properties:
number:
type: integer
format: int32
size:
type: integer
format: int32
+ mode:
+ $ref: "#/components/schemas/Pageable.Mode"
sort:
- $ref: '#/components/schemas/Sort'
+ $ref: "#/components/schemas/Sort"
+ Pageable.Mode:
+ type: string
+ enum:
+ - CURSOR_NEXT
+ - CURSOR_PREVIOUS
+ - OFFSET
Pair_String.BigDecimal_:
required:
- first
@@ -11139,15 +16363,16 @@ components:
type: object
properties:
genericPaymentSession:
+ description: "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.externalId`or `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.**"
nullable: true
allOf:
- - $ref: '#/components/schemas/GenericPaymentSession'
- - description: "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.externalId`or `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.**"
+ - $ref: "#/components/schemas/PatchGenericPaymentSession"
+ - {}
partnerExternalId:
type: string
description: "External Id of this entity, managed by you."
@@ -11251,17 +16476,19 @@ components:
nullable: true
example: 22
visibility:
+ description: Visibility type of the charge point
nullable: true
+ example: private
allOf:
- - $ref: '#/components/schemas/VisibilityType'
- - description: Visibility type of the charge point
- example: private
+ - $ref: "#/components/schemas/VisibilityType"
+ - {}
type:
+ description: Electric current type the charge point support
nullable: true
+ example: ac
allOf:
- - $ref: '#/components/schemas/ElectricCurrentType'
- - description: Electric current type the charge point support
- example: ac
+ - $ref: "#/components/schemas/ElectricCurrentType"
+ - {}
active:
type: boolean
description: Indicates the charge point is active
@@ -11281,7 +16508,11 @@ components:
type: array
description: Ids of the connectors this charge point support
nullable: true
- example: "[1,2,3,4]"
+ example:
+ - 1
+ - 2
+ - 3
+ - 4
items:
type: integer
format: int64
@@ -11299,10 +16530,85 @@ components:
example: ACME-12345
partnerCustomPayload:
type: array
- description: "Custom JSON payload for this entity, managed by you."
+ description: "\n Custom JSON payload managed by you.\n To\
+ \ override default values or provide additional metadata.\n Can\
+ \ include keys like `custom_roaming_name` and `custom_roaming_evse_id`\
+ \ for roaming charge points,\n if so the fields must follow the\
+ \ correct format.\n The payload is limited to 1000 characters overall.\
+ \ \n "
nullable: true
+ example: |-
+ {
+ "custom_property": "additional_value",
+ "custom_roaming_name": "Roaming_CP",
+ "custom_roaming_evse_id": "DE*123*E12345",
+ }
items:
type: object
+ PatchGenericPaymentSession:
+ required:
+ - externalId
+ - provider
+ type: object
+ properties:
+ provider:
+ type: string
+ description: The provider of the payment session
+ example: logos
+ externalId:
+ type: string
+ description: 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:
+ type: string
+ description: "External Id of this entity, managed by you."
+ nullable: true
+ example: ACME-12345
+ cardBrand:
+ type: string
+ description: The brand of the card used for the payment session
+ nullable: true
+ example: VISA
+ cardLast4:
+ type: string
+ description: 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`.
+ nullable: true
+ example: "1234"
+ amount:
+ type: number
+ description: The amount of the payment session. Negative amounts will be
+ rejected by the API
+ format: double
+ nullable: true
+ example: 10.1
+ PatchNestedTeam:
+ type: object
+ properties:
+ priceGroupId:
+ type: integer
+ description: Price group applied to the nested team
+ format: int64
+ nullable: true
+ example: 1
+ note:
+ maxLength: 255
+ type: string
+ description: "A note (instructions, warning, information) you have entered\
+ \ for this nested team member"
+ nullable: true
+ example: A note for nested team member
+ selectedChargePointIds:
+ type: array
+ description: List of charge point ids nested team access will be assigned
+ to
+ nullable: true
+ items:
+ type: integer
+ format: int64
PatchPriceGroupTag:
type: object
properties:
@@ -11336,17 +16642,19 @@ components:
nullable: true
example: Monta CPH Site
address:
+ description: "Address of the site, Note: please ensure to always provide\
+ \ a valid address"
nullable: true
allOf:
- - $ref: '#/components/schemas/CreatedOrUpdateAddress'
- - description: "Address of the site, Note: please ensure to always provide\
- \ a valid address"
+ - $ref: "#/components/schemas/CreatedOrUpdateAddress"
+ - {}
visibility:
+ description: Visibility type of the site
nullable: true
+ example: private
allOf:
- - $ref: '#/components/schemas/VisibilityType_3'
- - description: Visibility type of the site
- example: private
+ - $ref: "#/components/schemas/VisibilityType_3"
+ - {}
partnerExternalId:
type: string
description: "External Id of this entity, managed by you."
@@ -11371,11 +16679,12 @@ components:
nullable: true
example: 1
payoutSchedule:
+ description: The payout schedule for this sponsored charge point
nullable: true
+ example: "1"
allOf:
- - $ref: '#/components/schemas/SponsoredChargePointPayoutType'
- - description: The payout schedule for this sponsored charge point
- example: "1"
+ - $ref: "#/components/schemas/SponsoredChargePointPayoutType"
+ - {}
payForSubscriptions:
type: boolean
description: Indicates that company pay for subscriptions
@@ -11412,10 +16721,11 @@ components:
nullable: true
example: contact@monta.com
address:
+ description: Address of the team
nullable: true
allOf:
- - $ref: '#/components/schemas/CreatedOrUpdateAddress'
- - description: Address of the team
+ - $ref: "#/components/schemas/CreatedOrUpdateAddress"
+ - {}
companyName:
type: string
description: The company name for the team
@@ -11444,22 +16754,46 @@ components:
type: array
description: Ids of the charge points to patch this team member with
nullable: true
- example: "[1,2,3,4]"
+ example:
+ - 1
+ - 2
+ - 3
+ - 4
items:
type: integer
format: int64
role:
+ description: Role for this member within the team
nullable: true
+ example: admin
allOf:
- - $ref: '#/components/schemas/TeamMemberRole'
- - description: Role for this member within the team
- example: admin
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
priceGroupId:
type: integer
description: The price group for this team member
format: int64
nullable: true
example: 1
+ costGroupId:
+ type: integer
+ description: The cost group for this team member
+ format: int64
+ nullable: true
+ example: 1
+ teamMemberProfileId:
+ type: integer
+ description: The team member profile id to apply to this team member
+ format: int64
+ nullable: true
+ example: 1
+ canConfigureChargePoints:
+ type: boolean
+ description: Indicates if the team member access to pay with team wallet
+ when charging
+ nullable: true
+ example: false
+ default: false
canPayWithTeamWallet:
type: boolean
description: Gives the team member access to pay with team wallet when charging
@@ -11489,7 +16823,18 @@ components:
teamWalletChargePaymentType:
nullable: true
allOf:
- - $ref: '#/components/schemas/TeamWalletChargePaymentType'
+ - $ref: "#/components/schemas/TeamWalletChargePaymentType"
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ nullable: true
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
note:
type: string
description: A note for the team member
@@ -11506,6 +16851,85 @@ components:
nullable: true
items:
type: object
+ PatchTeamMemberProfile:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Name for the team member profile
+ nullable: true
+ example: seasonal offer
+ description:
+ type: string
+ description: Description for the team member profile
+ nullable: true
+ example: detail description
+ role:
+ description: Role for the team member profile
+ nullable: true
+ example: admin
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
+ priceGroupId:
+ type: integer
+ description: The price group for the team member profile
+ format: int64
+ nullable: true
+ example: 1
+ costGroupId:
+ type: integer
+ description: The cost group for the team member profile
+ format: int64
+ nullable: true
+ example: 1
+ canPayWithTeamWallet:
+ type: boolean
+ description: Gives the team member access to pay with team wallet when charging
+ nullable: true
+ example: false
+ default: false
+ canManageTeamWallet:
+ type: boolean
+ description: Gives the team member access to withdraw and deposit from your
+ team wallet to your bank account
+ nullable: true
+ example: false
+ default: false
+ canRequestSponsoring:
+ type: boolean
+ description: Allows the team member to request sponsoring from this team
+ for their charge point
+ nullable: true
+ example: false
+ default: false
+ canManageTeamMembers:
+ type: boolean
+ description: Allows the team member to view and manage other members settings
+ nullable: true
+ example: false
+ default: false
+ teamWalletChargePaymentType:
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/TeamWalletChargePaymentType"
+ canConfigureChargePoints:
+ type: boolean
+ description: Allows the team member profile to configure charge points
+ nullable: true
+ example: false
+ default: false
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ nullable: true
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
PatchWalletTransaction:
type: object
properties:
@@ -11554,10 +16978,11 @@ components:
description: "Id of this terminal. **NOTE: This is a String**"
example: payter_123
type:
+ description: "Type of this terminal, ie \"payter\""
+ example: payter
allOf:
- - $ref: '#/components/schemas/PaymentTerminalType'
- - description: "Type of this terminal, ie \"payter\""
- example: payter
+ - $ref: "#/components/schemas/PaymentTerminalType"
+ - {}
teamId:
type: integer
description: The team this terminal belongs to
@@ -11611,6 +17036,24 @@ components:
enum:
- payter
- other
+ Performance:
+ required:
+ - status
+ - usagePercentage
+ type: object
+ properties:
+ status:
+ required:
+ - "true"
+ type: string
+ description: State of the system or charge point
+ example: operational
+ usagePercentage:
+ required:
+ - "true"
+ type: number
+ description: Percentage of time in this state
+ example: 75
Plan:
required:
- active
@@ -11692,11 +17135,12 @@ components:
nullable: true
example: support@acme.com
applicableFor:
+ description: Indicates whether this plan can be applied to teams or charge
+ points. 'operator' value is only used internally.
+ example: charge-point
allOf:
- - $ref: '#/components/schemas/PlanApplicableFor'
- - description: Indicates whether this plan can be applied to teams or charge
- points. 'operator' value is only used internally.
- example: charge-point
+ - $ref: "#/components/schemas/PlanApplicableFor"
+ - {}
active:
required:
- "true"
@@ -11704,11 +17148,12 @@ components:
description: Indicates if the plan is active (only active plans can be applied).
example: true
applicationAudience:
+ description: "Indicates whether this plan is shown in your (operator's)\
+ \ app only, or in the Monta app as well."
+ example: all
allOf:
- - $ref: '#/components/schemas/PlanApplicationAudience'
- - description: "Indicates whether this plan is shown in your (operator's)\
- \ app only, or in the Monta app as well."
- example: all
+ - $ref: "#/components/schemas/PlanApplicationAudience"
+ - {}
visibleInMarketPlace:
required:
- "true"
@@ -11717,31 +17162,34 @@ components:
not.
example: true
priceModel:
+ description: Indicates if the price is per charge point or a fixed price.
+ example: fixed
allOf:
- - $ref: '#/components/schemas/PlanPriceModel'
- - description: Indicates if the price is per charge point or a fixed price.
- example: fixed
+ - $ref: "#/components/schemas/PlanPriceModel"
+ - {}
prices:
required:
- "true"
type: array
description: Active plan prices
items:
- $ref: '#/components/schemas/PlanPrice'
+ $ref: "#/components/schemas/PlanPrice"
pricesWithVat:
required:
- "true"
type: boolean
description: Indicates if the prices are incl. VAT or not. Default is `true`.
serviceType:
+ description: "Plan service type, custom or tax-refund"
+ example: tax-refund
allOf:
- - $ref: '#/components/schemas/PlanServiceType'
- - description: "Service of the Plan, custom or tax-refund"
- example: tax-refund
+ - $ref: "#/components/schemas/PlanServiceType"
+ - {}
serviceConfig:
+ description: "Additional configuration, based on serviceType"
allOf:
- - $ref: '#/components/schemas/PlanServiceConfig'
- - description: "Additional configuration, based on serviceType"
+ - $ref: "#/components/schemas/PlanServiceConfig"
+ - {}
PlanApplicableFor:
type: string
enum:
@@ -11753,6 +17201,11 @@ components:
enum:
- all
- own
+ PlanCustomAdditionalFeeApplicationScope:
+ type: string
+ enum:
+ - all
+ - paid
PlanPrice:
required:
- currency
@@ -11769,9 +17222,10 @@ components:
format: double
example: 4.99
currency:
+ description: Currency for `price`.
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: Currency for `price`.
+ - $ref: "#/components/schemas/Currency_1"
+ - {}
PlanPriceModel:
type: string
enum:
@@ -11780,14 +17234,22 @@ components:
PlanServiceConfig:
type: object
anyOf:
- - $ref: '#/components/schemas/PlanServiceConfigCustom'
- - $ref: '#/components/schemas/PlanServiceConfigTaxRefund'
+ - $ref: "#/components/schemas/PlanServiceConfigCustom"
+ - $ref: "#/components/schemas/PlanServiceConfigTaxRefund"
PlanServiceConfigCustom:
required:
- additionalFeeAbsolute
- additionalFeePercentage
+ - additionalStartingFee
type: object
properties:
+ additionalFeeApplicationScope:
+ description: Type of charges to which custom additional fees are applied
+ nullable: true
+ example: all
+ allOf:
+ - $ref: "#/components/schemas/PlanCustomAdditionalFeeApplicationScope"
+ - {}
additionalFeePercentage:
required:
- "true"
@@ -11805,6 +17267,43 @@ components:
\ operator.Note: This uses the default currency of the operator!"
format: double
example: 0.5
+ additionalStartingFee:
+ required:
+ - "true"
+ type: number
+ description: "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!"
+ format: double
+ example: 0.5
+ roamingAdditionalFeePercentage:
+ required:
+ - "false"
+ type: integer
+ description: "Same as the additional fee percentage, but only applied to\
+ \ roaming sessions."
+ format: int32
+ nullable: true
+ example: 2
+ roamingAdditionalFeeAbsolute:
+ required:
+ - "false"
+ type: number
+ description: "Same as the additional fee absolute, but only applied to roaming\
+ \ sessions."
+ format: double
+ nullable: true
+ example: 0.5
+ roamingAdditionalStartingFee:
+ required:
+ - "false"
+ type: number
+ description: "Same as the additional starting fee, but only applied to roaming\
+ \ sessions."
+ format: double
+ nullable: true
+ example: 0.5
PlanServiceConfigTaxRefund:
required:
- additionalFeeAbsolute
@@ -11813,6 +17312,13 @@ components:
- priceIncludesVat
type: object
properties:
+ additionalFeeApplicationScope:
+ description: Type of charges to which custom additional fees are applied
+ nullable: true
+ example: all
+ allOf:
+ - $ref: "#/components/schemas/PlanCustomAdditionalFeeApplicationScope"
+ - {}
additionalFeePercentage:
required:
- "true"
@@ -11840,36 +17346,297 @@ components:
priceIncludesVat:
required:
- "true"
- type: boolean
- description: Indicates whether the VAT is already included in the price
- example: true
- PlanServiceType:
- type: string
- enum:
- - custom
- - tax-refund
- Price:
+ type: boolean
+ description: Indicates whether the VAT is already included in the price
+ example: true
+ PlanServiceType:
+ type: string
+ enum:
+ - custom
+ - tax-refund
+ Price:
+ required:
+ - start
+ type: object
+ properties:
+ start:
+ type: string
+ description: start
+ format: date-time
+ price:
+ type: number
+ description: price
+ nullable: true
+ PriceGroup:
+ required:
+ - appliedTo
+ - createdAt
+ - id
+ - masterPrice
+ - name
+ - tariffs
+ - type
+ type: object
+ properties:
+ id:
+ minimum: 0
+ exclusiveMinimum: true
+ required:
+ - "true"
+ type: integer
+ description: Id of the price group
+ format: int64
+ example: 522
+ name:
+ required:
+ - "true"
+ type: string
+ description: Name of the price group
+ example: Public Price Group
+ default:
+ type: boolean
+ type:
+ description: Type of the price group
+ example: public
+ allOf:
+ - $ref: "#/components/schemas/PriceGroupType"
+ - {}
+ masterPrice:
+ description: The master price
+ allOf:
+ - $ref: "#/components/schemas/Pricing"
+ - {}
+ tariffs:
+ required:
+ - "true"
+ type: array
+ description: Tariffs of the price group
+ nullable: true
+ items:
+ $ref: "#/components/schemas/Pricing"
+ fees:
+ required:
+ - "false"
+ type: array
+ description: Fees of the price group
+ nullable: true
+ items:
+ $ref: "#/components/schemas/Pricing"
+ teamMemberCount:
+ required:
+ - "false"
+ type: integer
+ description: To how many team members the price group has been applied to
+ format: int32
+ nullable: true
+ chargePointCount:
+ required:
+ - "false"
+ type: integer
+ description: To how many charge points the price group has been applied
+ to
+ format: int32
+ nullable: true
+ appliedTo:
+ $ref: "#/components/schemas/PriceGroupAppliedTo"
+ createdAt:
+ required:
+ - "true"
+ type: string
+ description: When the price group was created
+ format: date-time
+ example: 2023-03-16T15:37:23Z
+ updatedAt:
+ required:
+ - "false"
+ type: string
+ description: When the price group was updated
+ format: date-time
+ nullable: true
+ example: 2023-03-16T15:37:23Z
+ PriceGroupAppliedTo:
+ required:
+ - chargePoints
+ - sites
+ - teamMembers
+ type: object
+ properties:
+ chargePoints:
+ required:
+ - "true"
+ type: array
+ description: Id's of the ChargePoints this Pricegroup has been applied to
+ items:
+ type: integer
+ format: int64
+ sites:
+ required:
+ - "true"
+ type: array
+ description: Id's of the Sites this Pricegroup has been applied to
+ items:
+ type: integer
+ format: int64
+ teamMembers:
+ required:
+ - "true"
+ type: array
+ description: Id's of the Team Members this Pricegroup has been applied to
+ items:
+ type: integer
+ format: int64
+ PriceGroupTag:
+ required:
+ - createdAt
+ - name
+ type: object
+ properties:
+ id:
+ type: integer
+ description: The id for this tag.
+ format: int64
+ example: null
+ name:
+ type: string
+ description: The name for this tag.
+ example: Energy
+ description:
+ type: string
+ description: The description for this tag.
+ nullable: true
+ example: Used to group `Energy` pricing elements
+ partnerExternalId:
+ type: string
+ description: "External Id of this entity, managed by you."
+ nullable: true
+ example: ACME-12345
+ partnerCustomPayload:
+ type: array
+ description: "Custom JSON payload for this entity, managed by you."
+ nullable: true
+ items:
+ type: object
+ operator:
+ description: The operator to which this resource belongs to.
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/Operator"
+ - {}
+ createdAt:
+ type: string
+ description: Creation date of this resource.
+ format: date-time
+ example: 2022-05-12T15:56:45.99Z
+ updatedAt:
+ type: string
+ description: Last update date of this resource.
+ format: date-time
+ nullable: true
+ example: 2022-05-12T16:56:45.99Z
+ PriceGroupType:
+ type: string
+ enum:
+ - public
+ - member
+ - sponsored
+ - cost
+ - roaming
+ - reimbursement
+ - other
+ PriceGroup_1:
+ required:
+ - name
+ type: object
+ properties:
+ id:
+ type: integer
+ description: Id of the price group
+ format: int64
+ example: 1
+ name:
+ type: string
+ description: Name of the price group
+ example: Standard Pricing
+ PriceSpecification:
+ required:
+ - specifications
+ type: object
+ properties:
+ specifications:
+ type: array
+ description: price specifications
+ items:
+ $ref: "#/components/schemas/Pair_String.BigDecimal_"
+ PricesForecast:
+ required:
+ - currency
+ - forecasts
+ - operator
+ - priceGroup
+ type: object
+ properties:
+ operator:
+ description: The operator to which this charge point and price group belongs
+ to
+ allOf:
+ - $ref: "#/components/schemas/Operator"
+ - {}
+ currency:
+ description: The currency applicable for this forecast
+ allOf:
+ - $ref: "#/components/schemas/Currency_17"
+ - {}
+ priceGroup:
+ description: The price group applicable for this forecast
+ allOf:
+ - $ref: "#/components/schemas/PriceGroup"
+ - {}
+ forecasts:
+ required:
+ - "true"
+ type: array
+ description: The compilation of entries composing this prices forecast
+ items:
+ $ref: "#/components/schemas/PricesForecastEntry"
+ PricesForecastEntry:
required:
- - start
+ - name
+ - pricePerKwh
+ - time
type: object
properties:
- start:
+ time:
+ required:
+ - "true"
type: string
- description: start
+ description: "The time this forecasted price is applicable, forecast is\
+ \ valid from time + 1 Hour"
format: date-time
- price:
- type: number
- description: price
- nullable: true
- PriceGroup:
+ example: 2023-11-29T18:00:00Z
+ pricePerKwh:
+ required:
+ - "true"
+ type: integer
+ description: The projected price per kWh
+ format: int64
+ example: 5978
+ name:
+ required:
+ - "true"
+ type: string
+ description: The human readable name for the forecast (includes the currency
+ information)
+ example: 0.60 DKK/kWh
+ Pricing:
required:
- - appliedTo
- - createdAt
+ - dynamicPricing
+ - endAtFullyCharged
- id
- - masterPrice
- - name
- - tariffs
+ - master
+ - price
- type
+ - updatedAt
+ - vat
type: object
properties:
id:
@@ -11878,468 +17645,513 @@ components:
required:
- "true"
type: integer
- description: Id of the price group
+ description: Id of the pricing
format: int64
- example: 522
- name:
+ example: 1
+ description:
required:
- - "true"
+ - "false"
type: string
- description: Name of the price group
- example: Public Price Group
- default:
- type: boolean
+ description: Name of the pricing. It will be null when it's the master price
+ nullable: true
+ example: Starting Fee
type:
+ description: Type of the pricing. `minute` is used for Minute fee. `min`
+ is used for the master price.
+ example: min
allOf:
- - $ref: '#/components/schemas/PriceGroupType'
- - description: Type of the price group
- example: public
- masterPrice:
- allOf:
- - $ref: '#/components/schemas/Pricing'
- - description: The master price
- tariffs:
+ - $ref: "#/components/schemas/PricingType"
+ - {}
+ master:
required:
- "true"
- type: array
- description: Tariffs of the price group
+ type: boolean
+ description: If this is the master price (not a fee)
+ example: true
+ dynamicPricing:
+ required:
+ - "true"
+ type: boolean
+ description: If it's a dynamic price. It will be true if a `tariffId` is
+ present.
+ example: false
+ endAtFullyCharged:
+ required:
+ - "true"
+ type: boolean
+ description: 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:
+ required:
+ - "true"
+ type: boolean
+ description: "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
+ percentage:
+ type: number
+ description: Used by Spot Price. It will multiply the fallback price by
+ this percentage
+ format: float
nullable: true
- items:
- $ref: '#/components/schemas/Pricing'
- fees:
+ example: 10.2
+ tariffId:
required:
- "false"
- type: array
- description: Fees of the price group
+ type: integer
+ description: The id of the selected Tariff
+ format: int64
nullable: true
- items:
- $ref: '#/components/schemas/Pricing'
- teamMemberCount:
+ example: 5
+ updatedAt:
+ required:
+ - "true"
+ type: string
+ description: When the pricing was last updated
+ format: date-time
+ example: 2023-03-16T15:37:23Z
+ applyAfterMinutes:
required:
- "false"
type: integer
- description: To how many team members the price group has been applied to
+ description: "Used by Charging, Minute and Idle Fees. After how many minutes\
+ \ the fee should start being applied."
format: int32
nullable: true
- chargePointCount:
+ example: 30
+ price:
+ description: The price of this Fee or Master price
+ allOf:
+ - $ref: "#/components/schemas/Money"
+ - {}
+ priceMin:
+ description: 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
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/Money"
+ - {}
+ priceMax:
+ description: 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
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/Money"
+ - {}
+ feePriceMax:
+ description: Used by Idle fee. The maximum the user will be charged for
+ the idle fee
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/Money"
+ - {}
+ additional:
required:
- "false"
- type: integer
- description: To how many charge points the price group has been applied
- to
- format: int32
+ type: array
+ description: Used by spot price. Additional absolute money or percentages
+ values to be added on top of the previous calculations
nullable: true
- appliedTo:
- $ref: '#/components/schemas/PriceGroupAppliedTo'
- createdAt:
+ items:
+ $ref: "#/components/schemas/AdditionalPricing"
+ from:
required:
- - "true"
+ - "false"
type: string
- description: When the price group was created
+ description: DateTime "from" time to which this pricing should apply from
format: date-time
+ nullable: true
example: 2023-03-16T15:37:23Z
- updatedAt:
+ to:
required:
- "false"
type: string
- description: When the price group was updated
+ description: DateTime "to" time to which this pricing should apply to
format: date-time
nullable: true
example: 2023-03-16T15:37:23Z
- PriceGroupAppliedTo:
- required:
- - chargePoints
- - sites
- - teamMembers
- type: object
- properties:
- chargePoints:
- required:
- - "true"
- type: array
- description: Id's of the ChargePoints this Pricegroup has been applied to
- items:
- type: integer
- format: int64
- sites:
- required:
- - "true"
- type: array
- description: Id's of the Sites this Pricegroup has been applied to
- items:
- type: integer
- format: int64
- teamMembers:
+ tagId:
required:
- - "true"
- type: array
- description: Id's of the Team Members this Pricegroup has been applied to
- items:
- type: integer
- format: int64
- PriceGroupTag:
+ - "false"
+ type: integer
+ description: The id of the charge pricing tag for this pricing
+ format: int64
+ nullable: true
+ example: 109
+ PricingType:
+ type: string
+ enum:
+ - kwh
+ - min
+ - spot
+ - tariff
+ - starting
+ - charging
+ - idle
+ - minute
+ PublicChargePoint:
required:
- - createdAt
- - name
+ - chargePointOperatorName
+ - evseId
+ - location
type: object
properties:
id:
type: integer
- description: The id for this tag.
+ description: Id of this charge point
+ format: int64
+ example: 1
+ evseId:
+ type: string
+ description: The EVSE id for this charge point
+ example: DK*MON*E2
+ name:
+ type: string
+ description: Name of the charge point
+ nullable: true
+ example: Monta CPH HQ
+ chargePointOperatorName:
+ type: string
+ description: The charge point operator name
+ nullable: false
+ example: Monta
+ location:
+ description: Location information for this charge point
+ allOf:
+ - $ref: "#/components/schemas/Location"
+ - {}
+ maxKw:
+ type: number
+ description: Max KW available at this charge point.
+ format: double
+ nullable: true
+ example: 150
+ chargePointModelId:
+ type: integer
+ description: The ID of the charge point model for this charge point.
format: int64
- name:
+ nullable: true
+ example: 42
+ brandName:
type: string
- description: The name for this tag.
- example: Energy
- description:
+ description: Brand name for this charge point
+ nullable: true
+ example: Easee
+ modelName:
type: string
- description: The description for this tag.
+ description: Model name for this charge point
nullable: true
- example: Used to group `Energy` pricing elements
- partnerExternalId:
+ example: Easee - Home
+ deletedAt:
type: string
- description: "External Id of this entity, managed by you."
+ description: Date this charge point was deleted
+ format: date-time
nullable: true
- example: ACME-12345
- partnerCustomPayload:
- type: array
- description: "Custom JSON payload for this entity, managed by you."
+ example: 2022-05-12T16:56:45.99Z
+ PublicTeam:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: Id of the public team
+ format: int64
+ example: 1
+ publicName:
+ type: string
+ description: Public name of the team
nullable: true
- items:
- type: object
- operator:
+ example: Example Team
+ memberCount:
+ type: integer
+ description: Number of members in the team
+ format: int64
nullable: true
- allOf:
- - $ref: '#/components/schemas/Operator'
- - description: The operator to which this resource belongs to.
- createdAt:
+ example: 10
+ PublicUser:
+ type: object
+ properties:
+ id:
+ type: integer
+ description: Id of the user
+ format: int64
+ example: 1
+ firstName:
type: string
- description: Creation date of this resource.
- format: date-time
- example: 2022-05-12T15:56:45.99Z
- updatedAt:
+ description: First name of the user
+ nullable: true
+ example: John
+ lastName:
type: string
- description: Last update date of this resource.
- format: date-time
+ description: Last name of the user
nullable: true
- example: 2022-05-12T16:56:45.99Z
- PriceGroupType:
- type: string
- enum:
- - public
- - member
- - sponsored
- - cost
- - roaming
- - reimbursement
- - other
- PriceSpecification:
+ example: Doe
+ displayName:
+ type: string
+ description: Display name of the user
+ nullable: true
+ example: johndoe123
+ PublicUser_1:
required:
- - specifications
+ - displayName
+ - id
type: object
properties:
- specifications:
- type: array
- description: price specifications
- items:
- $ref: '#/components/schemas/Pair_String.BigDecimal_'
- PricesForecast:
+ id:
+ required:
+ - "true"
+ type: integer
+ description: Id of the user
+ format: int64
+ example: 10
+ displayName:
+ required:
+ - "true"
+ type: string
+ description: Formatted name to be displayed
+ example: John Doe
+ PublicUser_3:
required:
- - currency
- - forecasts
- - operator
- - priceGroup
+ - displayName
+ - id
type: object
properties:
- operator:
- allOf:
- - $ref: '#/components/schemas/Operator'
- - description: The operator to which this charge point and price group belongs
- to
- currency:
- allOf:
- - $ref: '#/components/schemas/Currency'
- - description: The currency applicable for this forecast
- priceGroup:
- allOf:
- - $ref: '#/components/schemas/PriceGroup'
- - description: The price group applicable for this forecast
- forecasts:
+ id:
required:
- "true"
- type: array
- description: The compilation of entries composing this prices forecast
- items:
- $ref: '#/components/schemas/PricesForecastEntry'
- PricesForecastEntry:
+ type: integer
+ description: Id of the user
+ format: int64
+ example: 10
+ displayName:
+ required:
+ - "true"
+ type: string
+ description: Formatted name to be displayed
+ example: John Doe
+ ReasonDto:
required:
- - name
- - pricePerKwh
- - time
+ - id
+ - identifier
+ - priority
+ - reason
+ - type
type: object
properties:
- time:
+ id:
+ required:
+ - "true"
+ type: integer
+ description: Id of the reason
+ format: int32
+ example: 10
+ identifier:
required:
- "true"
type: string
- description: "The time this forecasted price is applicable, forecast is\
- \ valid from time + 1 Hour"
- format: date-time
- example: 2023-11-29T18:00:00Z
- pricePerKwh:
+ description: Identifier of the reason
+ reason:
required:
- "true"
- type: integer
- description: The projected price per kWh
- format: int64
- example: 5978
- name:
+ type: string
+ description: Reason of the report
+ type:
required:
- "true"
type: string
- description: The human readable name for the forecast (includes the currency
- information)
- example: 0.60 DKK/kWh
- Pricing:
+ description: Type of the report
+ priority:
+ required:
+ - "true"
+ type: string
+ description: Priority of the report
+ ReportDto:
required:
- - dynamicPricing
- - endAtFullyCharged
+ - createdAt
- id
- - master
- - price
- - type
- - updatedAt
- - vat
+ - imageUrls
+ - operatorId
+ - relationId
+ - relationType
+ - state
type: object
properties:
id:
- minimum: 0
- exclusiveMinimum: true
required:
- "true"
type: integer
- description: Id of the pricing
+ description: Id of the report
format: int64
- example: 1
- description:
+ example: 10
+ reportedByUserId:
required:
- "false"
- type: string
- description: Name of the pricing. It will be null when it's the master price
+ type: integer
+ description: Id of the user who reported
+ format: int64
nullable: true
- example: Starting Fee
- type:
- allOf:
- - $ref: '#/components/schemas/PricingType'
- - description: Type of the pricing. `minute` is used for Minute fee. `min`
- is used for the master price.
- example: min
- master:
+ example: 10
+ operatorId:
required:
- "true"
- type: boolean
- description: If this is the master price (not a fee)
- example: true
- dynamicPricing:
+ type: integer
+ description: Id of the operator related to the report
+ format: int64
+ example: 10
+ relationType:
required:
- "true"
- type: boolean
- description: If it's a dynamic price. It will be true if a `tariffId` is
- present.
- example: false
- endAtFullyCharged:
+ type: string
+ description: Type of the relation
+ relationId:
required:
- "true"
- type: boolean
- description: 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:
+ type: integer
+ description: Id of the relation
+ format: int64
+ example: 10
+ body:
+ required:
+ - "false"
+ type: string
+ description: Body of the report
+ nullable: true
+ example: available but can not start
+ state:
required:
- "true"
- type: boolean
- description: "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
- percentage:
+ type: string
+ description: State of the report
+ reason:
+ description: Reason of the report
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/ReasonDto"
+ - {}
+ source:
required:
- "false"
- type: number
- description: Used by Spot Price. It will multiply the fallback price by
- this percentage
- format: float
+ type: string
+ description: Source of the report
nullable: true
- example: 10.2
- default: 100
- tariffId:
+ imageUrls:
+ required:
+ - "true"
+ type: array
+ description: List of image URLs
+ example:
+ - https://monta.imgix.net/reports/example-image-1.png
+ - https://monta.imgix.net/reports/example-image-2.png
+ items:
+ type: string
+ assignedToOperatorId:
required:
- "false"
type: integer
- description: The id of the selected Tariff
+ description: Id of the operator assigned to the report
format: int64
nullable: true
- example: 5
- updatedAt:
- required:
- - "true"
- type: string
- description: When the pricing was last updated
- format: date-time
- example: 2023-03-16T15:37:23Z
- applyAfterMinutes:
+ example: 10
+ assignedToUserId:
required:
- "false"
type: integer
- description: "Used by Charging, Minute and Idle Fees. After how many minutes\
- \ the fee should start being applied."
- format: int32
- nullable: true
- example: 30
- price:
- allOf:
- - $ref: '#/components/schemas/Money'
- - description: The price of this Fee or Master price
- priceMin:
+ description: Id of the user assigned to the report
+ format: int64
nullable: true
- allOf:
- - $ref: '#/components/schemas/Money'
- - description: 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:
+ example: 10
+ resolvedByUserId:
+ required:
+ - "false"
+ type: integer
+ description: Id of the user who resolved the report
+ format: int64
nullable: true
- allOf:
- - $ref: '#/components/schemas/Money'
- - description: 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:
+ example: 10
+ operatorNote:
+ required:
+ - "false"
+ type: string
+ description: Note from the operator
nullable: true
- allOf:
- - $ref: '#/components/schemas/Money'
- - description: Used by Idle fee. The maximum the user will be charged for
- the idle fee
- additional:
+ example: The charge point is not working
+ adminNote:
required:
- "false"
- type: array
- description: Used by spot price. Additional absolute money or percentages
- values to be added on top of the previous calculations
+ type: string
+ description: Note from the admin
nullable: true
- items:
- $ref: '#/components/schemas/AdditionalPricing'
- from:
+ example: The charge point is not working
+ userNote:
required:
- "false"
type: string
- description: DateTime "from" time to which this pricing should apply from
- format: date-time
+ description: Note from the user
nullable: true
- example: 2023-03-16T15:37:23Z
- to:
+ example: The charge point is not working
+ resolvedAt:
required:
- "false"
type: string
- description: DateTime "to" time to which this pricing should apply to
+ description: Time when the report was resolved
format: date-time
nullable: true
- example: 2023-03-16T15:37:23Z
- tagId:
+ example: 2023-02-06T11:00:00Z
+ escalatedAt:
required:
- "false"
- type: integer
- description: The id of the charge pricing tag for this pricing
- format: int64
- nullable: true
- example: 109
- PricingType:
- type: string
- enum:
- - kwh
- - min
- - spot
- - tariff
- - starting
- - charging
- - idle
- - minute
- PublicChargePoint:
- required:
- - chargePointOperatorName
- - evseId
- - location
- type: object
- properties:
- id:
- type: integer
- description: Id of this charge point
- format: int64
- example: 1
- evseId:
- type: string
- description: The EVSE id for this charge point
- example: DK*MON*E2
- name:
type: string
- description: Name of the charge point
+ description: Time when the report was escalated
+ format: date-time
nullable: true
- example: Monta CPH HQ
- chargePointOperatorName:
+ example: 2023-02-06T10:00:00Z
+ assignedAt:
+ required:
+ - "false"
type: string
- description: The charge point operator name
- nullable: false
- example: Monta
- location:
- allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this charge point
- maxKw:
- type: number
- description: Max KW available at this charge point.
- format: double
- nullable: true
- example: 150
- chargePointModelId:
- type: integer
- description: The ID of the charge point model for this charge point.
- format: int64
+ description: Time when the report was assigned
+ format: date-time
nullable: true
- example: 42
- brandName:
+ example: 2023-02-06T09:00:00Z
+ createdAt:
+ required:
+ - "true"
type: string
- description: Brand name for this charge point
- nullable: true
- example: Easee
- modelName:
+ description: Time when the report was created
+ format: date-time
+ example: 2023-02-06T08:00:00Z
+ updatedAt:
+ required:
+ - "false"
type: string
- description: Model name for this charge point
+ description: Time when the report was updated
+ format: date-time
nullable: true
- example: Easee - Home
+ example: 2023-02-06T11:00:00Z
deletedAt:
+ required:
+ - "false"
type: string
- description: Date this charge point was deleted
+ description: Time when the report was deleted
format: date-time
nullable: true
- example: 2022-05-12T16:56:45.99Z
- PublicUser:
- required:
- - displayName
- - id
+ example: 2023-02-06T12:00:00Z
+ SimCard:
type: object
properties:
- id:
- required:
- - "true"
- type: integer
- description: Id of the user
- format: int64
- example: 10
- displayName:
- required:
- - "true"
+ imsi:
type: string
- description: Formatted name to be displayed
- example: John Doe
+ description: imsi (International Mobile Subscriber Identity) for the SIM
+ card
+ nullable: true
+ example: "310150123456789"
+ iccid:
+ type: string
+ description: iccid (Integrated Circuit Card Identifier) for the SIM card
+ nullable: true
+ example: "8931501234567890123"
SimpleTeamMemberDto:
required:
- id
@@ -12411,10 +18223,11 @@ components:
description: Name of the site
example: Monta CPH HQ
operator:
+ description: Operator of this charging site
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator of this charging site
+ - $ref: "#/components/schemas/Operator"
+ - {}
createdAt:
type: string
description: Creation date of this charging site
@@ -12482,15 +18295,16 @@ components:
nullable: true
example: In order to access this site enter 0000 as code at the gate.
location:
+ description: Location information for this site
allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this site
+ - $ref: "#/components/schemas/Location"
+ - {}
connectors:
type: array
description: "List of supported connector types at this site (e.g. type-2,\
\ ccs, ...)"
items:
- $ref: '#/components/schemas/ChargePointConnector'
+ $ref: "#/components/schemas/ChargePointConnector"
Slice_TariffRecurringPeriodDto_:
required:
- content
@@ -12500,9 +18314,9 @@ components:
content:
type: array
items:
- $ref: '#/components/schemas/TariffRecurringPeriod'
+ $ref: "#/components/schemas/TariffRecurringPeriod"
pageable:
- $ref: '#/components/schemas/Pageable'
+ $ref: "#/components/schemas/Pageable"
pageNumber:
type: integer
format: int32
@@ -12525,7 +18339,7 @@ components:
orderBy:
type: array
items:
- $ref: '#/components/schemas/Sort.Order'
+ $ref: "#/components/schemas/Sort.Order"
Sort.Order:
required:
- direction
@@ -12536,7 +18350,7 @@ components:
ignoreCase:
type: boolean
direction:
- $ref: '#/components/schemas/Sort.Order.Direction'
+ $ref: "#/components/schemas/Sort.Order.Direction"
property:
type: string
ascending:
@@ -12579,23 +18393,26 @@ components:
format: int64
example: 1
payout:
+ description: The payout frequency for this sponsored charge point
+ example: realtime
allOf:
- - $ref: '#/components/schemas/SponsoredChargePointPayoutType'
- - description: The payout frequency for this sponsored charge point
- example: realtime
+ - $ref: "#/components/schemas/SponsoredChargePointPayoutType"
+ - {}
payForSubscriptions:
type: boolean
description: Indicates the company pays for the subscriptions
example: true
operator:
+ description: Operator of this sponsored charge point
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator of this sponsored charge point
+ - $ref: "#/components/schemas/Operator"
+ - {}
chargePoint:
+ description: The charge point being sponsored
allOf:
- - $ref: '#/components/schemas/SponsoredChargePointData'
- - description: The charge point being sponsored
+ - $ref: "#/components/schemas/SponsoredChargePointData"
+ - {}
acceptedAt:
type: string
description: Date the sponsorshi was accepted
@@ -12636,19 +18453,22 @@ components:
nullable: true
example: Monta CPH HQ
user:
+ description: The user (owner) of this charge point
nullable: true
allOf:
- - $ref: '#/components/schemas/PublicUser'
- - description: The user (owner) of this charge point
+ - $ref: "#/components/schemas/PublicUser_1"
+ - {}
sponsoredPriceGroup:
+ description: The sponsored price group of this charge point
nullable: true
allOf:
- - $ref: '#/components/schemas/PriceGroup'
- - description: The sponsored price group of this charge point
+ - $ref: "#/components/schemas/PriceGroup"
+ - {}
location:
+ description: Location information for this charge point
allOf:
- - $ref: '#/components/schemas/Location'
- - description: Location information for this charge point
+ - $ref: "#/components/schemas/Location"
+ - {}
serialNumber:
type: string
description: Serial number for this charge point
@@ -12725,10 +18545,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: spot-price-additional-percentage-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: spot-price-additional-percentage-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
price:
type: integer
description: The additional price on top of the spot price metadata entry
@@ -12749,10 +18570,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: spot-price-additional-price-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: spot-price-additional-price-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
kwh:
required:
- "true"
@@ -12772,10 +18594,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: spot-price-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: spot-price-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
kwh:
type: number
description: The kwh for this metadata entry
@@ -12817,6 +18640,7 @@ components:
\ with `socLimit`, in this case the first limit to hit will stop the charge"
format: double
nullable: true
+ example: 20
socLimit:
maximum: 100
minimum: 1
@@ -12826,6 +18650,16 @@ components:
\ with `kwhLimit`, in this case the first limit to hit will stop the charge"
format: double
nullable: true
+ example: null
+ priceLimit:
+ minimum: 1
+ type: number
+ description: "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."
+ format: double
+ nullable: true
+ example: 12.5
priceGroupId:
minimum: 0
exclusiveMinimum: true
@@ -12836,16 +18670,19 @@ components:
nullable: true
example: 42
genericPaymentSession:
+ description: "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.externalId`or `genericPaymentSession.cardLast4`."
nullable: true
allOf:
- - $ref: '#/components/schemas/GenericPaymentSession'
- - description: "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.externalId`or `genericPaymentSession.cardLast4`."
+ - $ref: "#/components/schemas/GenericPaymentSession"
+ - {}
partnerExternalId:
type: string
- description: "External Id of this entity, managed by you."
+ description: "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`."
nullable: true
example: ACME-12345
partnerCustomPayload:
@@ -12871,6 +18708,32 @@ components:
enum:
- charge-point
- vehicle
+ States:
+ required:
+ - duration
+ - percentage
+ - state
+ type: object
+ properties:
+ state:
+ required:
+ - "true"
+ type: string
+ description: State of the system or charge point
+ example: operational
+ percentage:
+ required:
+ - "true"
+ type: number
+ description: Percentage of the time spent in this state
+ example: 75
+ duration:
+ required:
+ - "true"
+ type: integer
+ description: Duration in this state (in seconds)
+ format: int64
+ example: 3600
Subscription:
required:
- createdAt
@@ -12885,10 +18748,11 @@ components:
format: int64
example: 1
state:
+ description: State of the subscription
+ example: active
allOf:
- - $ref: '#/components/schemas/SubscriptionState'
- - description: State of the subscription
- example: active
+ - $ref: "#/components/schemas/SubscriptionState"
+ - {}
nextPurchaseAt:
type: string
description: Date of next purchase
@@ -12948,21 +18812,23 @@ components:
format: int64
example: 1
customerType:
+ description: Customer type
+ example: charge-point
allOf:
- - $ref: '#/components/schemas/SubscriptionCustomerType'
- - description: Customer type
- example: charge-point
+ - $ref: "#/components/schemas/SubscriptionCustomerType"
+ - {}
planId:
type: integer
description: Plan id
format: int64
example: 42
serviceConfig:
+ description: "Subscription configuration, based on the plans serviceType.Currently\
+ \ you can configure tax-refund subscriptions only."
nullable: true
allOf:
- - $ref: '#/components/schemas/SubscriptionServiceConfig'
- - description: "Subscription configuration, based on the plans serviceType.Currently\
- \ you can configure tax-refund subscriptions only."
+ - $ref: "#/components/schemas/SubscriptionServiceConfig"
+ - {}
createdAt:
type: string
description: Subscription creation date
@@ -12983,13 +18849,19 @@ components:
format: date-time
nullable: true
example: 2023-05-12T15:56:45.99Z
+ SubscriptionCustomAdditionalFeeApplicationScope:
+ type: string
+ enum:
+ - all
+ - paid
SubscriptionCustomerType:
type: string
+ description: Enumerate the various subscription customer types
enum:
- - team
- - charge-point
- - operator
- - other
+ - TEAM
+ - CHARGE_POINT
+ - OPERATOR
+ - OTHER
SubscriptionPurchase:
required:
- createdAt
@@ -13009,10 +18881,11 @@ components:
nullable: true
example: "1"
type:
+ description: The type of this subscription purchase
+ example: period
allOf:
- - $ref: '#/components/schemas/SubscriptionPurchaseTypeDto'
- - description: The type of this subscription purchase
- example: period
+ - $ref: "#/components/schemas/SubscriptionPurchaseTypeDto"
+ - {}
discountPercentage:
type: number
description: The discount percentage applied to this purchase
@@ -13039,13 +18912,15 @@ components:
format: double
example: 25
currency:
+ description: The currency for this purchase
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: The currency for this purchase
+ - $ref: "#/components/schemas/Currency_3"
+ - {}
subscription:
+ description: The subscription this purchase refers to
allOf:
- - $ref: '#/components/schemas/Subscription'
- - description: The subscription this purchase refers to
+ - $ref: "#/components/schemas/Subscription"
+ - {}
createdAt:
type: string
description: Creation date of this subscription purchase
@@ -13073,7 +18948,84 @@ components:
SubscriptionServiceConfig:
type: object
anyOf:
- - $ref: '#/components/schemas/SubscriptionServiceConfigTaxRefund'
+ - $ref: "#/components/schemas/SubscriptionServiceConfigTaxRefund"
+ - $ref: "#/components/schemas/SubscriptionServiceConfigCustom"
+ SubscriptionServiceConfigCustom:
+ required:
+ - additionalFeeAbsolute
+ - additionalFeePercentage
+ - additionalStartingFee
+ - serviceType
+ - subscriptionAdditionalFeeApplicationScope
+ type: object
+ properties:
+ serviceType:
+ description: "Plan service type, custom or tax-refund"
+ example: custom
+ allOf:
+ - $ref: "#/components/schemas/PlanServiceType"
+ - {}
+ subscriptionAdditionalFeeApplicationScope:
+ description: Amount to pay out per kWh
+ nullable: true
+ example: "1.29"
+ allOf:
+ - $ref: "#/components/schemas/SubscriptionCustomAdditionalFeeApplicationScope"
+ - {}
+ additionalFeePercentage:
+ required:
+ - "true"
+ type: integer
+ description: "This percentage will be added as additional fee, paid by charge\
+ \ point owner.Will only be applied to charge point owned by operator."
+ format: int32
+ example: 2
+ additionalFeeAbsolute:
+ required:
+ - "true"
+ type: number
+ description: "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!"
+ format: double
+ example: 0.5
+ additionalStartingFee:
+ required:
+ - "true"
+ type: number
+ description: "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!"
+ format: double
+ example: 0.5
+ roamingAdditionalFeePercentage:
+ required:
+ - "false"
+ type: integer
+ description: "Same as the additional fee percentage, but only applied to\
+ \ roaming sessions."
+ format: int32
+ nullable: true
+ example: 2
+ roamingAdditionalFeeAbsolute:
+ required:
+ - "false"
+ type: number
+ description: "Same as the additional fee absolute, but only applied to roaming\
+ \ sessions."
+ format: double
+ nullable: true
+ example: 0.5
+ roamingAdditionalStartingFee:
+ required:
+ - "false"
+ type: number
+ description: "Same as the additional starting fee, but only applied to roaming\
+ \ sessions."
+ format: double
+ nullable: true
+ example: 0.5
SubscriptionServiceConfigTaxRefund:
required:
- payoutPerKwh
@@ -13082,10 +19034,11 @@ components:
type: object
properties:
serviceType:
+ description: "Plan service type, custom or tax-refund"
+ example: tax-refund
allOf:
- - $ref: '#/components/schemas/PlanServiceType'
- - description: "Service of the Plan, custom or tax-refund"
- example: tax-refund
+ - $ref: "#/components/schemas/PlanServiceType"
+ - {}
payoutPerKwh:
required:
- "true"
@@ -13113,10 +19066,11 @@ components:
type: object
properties:
type:
+ description: The type of this metadata entry
+ example: tariff-metadata
allOf:
- - $ref: '#/components/schemas/ComponentMetadataTypeDto'
- - description: The type of this metadata entry
- example: tariff-metadata
+ - $ref: "#/components/schemas/ComponentMetadataTypeDto"
+ - {}
tariffId:
type: integer
description: The tariff id for this metadata entry
@@ -13220,14 +19174,17 @@ components:
zipCodes:
type: array
description: Zip codes of the tariff
- example: "[5610, 5960]"
+ example:
+ - 5610
+ - 5960
items:
type: string
tariffType:
+ description: Type of the tariff
+ example: WEEKLY
allOf:
- - $ref: '#/components/schemas/TariffType'
- - description: Type of the tariff
- example: WEEKLY
+ - $ref: "#/components/schemas/TariffType"
+ - {}
active:
type: boolean
description: Indicates if the Tariff is active or not
@@ -13241,11 +19198,12 @@ components:
description: Area of the tariff
example: Jylland
customerType:
+ description: Customer type of the tariff
nullable: true
+ example: B_HIGH
allOf:
- - $ref: '#/components/schemas/TariffCustomerType'
- - description: Customer type of the tariff
- example: B_HIGH
+ - $ref: "#/components/schemas/TariffCustomerType"
+ - {}
createdAt:
type: string
description: Creation date of the tariff
@@ -13283,6 +19241,45 @@ components:
type: integer
description: tariff id
format: int64
+ TariffPeriodGroup_1:
+ required:
+ - activeFrom
+ - activeTo
+ - description
+ type: object
+ properties:
+ activeFrom:
+ type: string
+ description: tariff period group active from date
+ format: date
+ activeTo:
+ type: string
+ description: tariff period group active to date
+ format: date
+ description:
+ type: string
+ description: tariff period group description
+ tariffId:
+ type: integer
+ description: tariff id
+ format: int64
+ TariffPeriodGroup_2:
+ type: object
+ properties:
+ activeFrom:
+ type: string
+ description: tariff period group active from date
+ format: date
+ nullable: true
+ activeTo:
+ type: string
+ description: tariff period group active to date
+ format: date
+ nullable: true
+ description:
+ type: string
+ description: tariff period group description
+ nullable: true
TariffRecurringPeriod:
required:
- dayOfWeek
@@ -13298,14 +19295,16 @@ components:
description: id of the tariff
format: int64
dayOfWeek:
+ description: day of the period
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: day of the period
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
endDayOfWeek:
+ description: End day of the period
nullable: true
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: End day of the period
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
start:
type: integer
description: starting hour of the period
@@ -13342,17 +19341,18 @@ components:
format: int64
example: 1
dayOfWeek:
+ description: Capitalized name of the day of the week
+ example: MONDAY
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: Capitalized name of the day of the week
- example: MONDAY
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
endDayOfWeek:
+ description: Capitalized name of the day of the week that the price is for
nullable: true
+ example: FRIDAY
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: Capitalized name of the day of the week that the price is
- for
- example: FRIDAY
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
startHour:
required:
- "true"
@@ -13377,17 +19377,19 @@ components:
type: object
properties:
dayOfWeek:
+ description: Capitalized name of the day of the week
nullable: true
+ example: MONDAY
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: Capitalized name of the day of the week
- example: MONDAY
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
endDayOfWeek:
+ description: Capitalized name of the end day of the week
nullable: true
+ example: FRIDAY
allOf:
- - $ref: '#/components/schemas/DayOfWeek'
- - description: Capitalized name of the end day of the week
- example: FRIDAY
+ - $ref: "#/components/schemas/DayOfWeek"
+ - {}
startHour:
required:
- "false"
@@ -13432,9 +19434,15 @@ components:
format: double
example: 13.77
type:
+ description: The type of this metadata
allOf:
- - $ref: '#/components/schemas/MetadataTypeDto'
- - description: The type of this metadata
+ - $ref: "#/components/schemas/MetadataTypeDto"
+ - {}
+ chargeId:
+ type: integer
+ description: The reference to chargeId for the tax refund
+ format: int64
+ nullable: true
Team:
required:
- address
@@ -13486,18 +19494,21 @@ components:
nullable: true
example: DE123456789
operator:
+ description: The operator to this team is associated
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: The operator to this team is associated
+ - $ref: "#/components/schemas/Operator"
+ - {}
address:
+ description: The address where the team is located
allOf:
- - $ref: '#/components/schemas/TeamDto.TeamAddressDto'
- - description: The address where the team is located
+ - $ref: "#/components/schemas/TeamDto.TeamAddressDto"
+ - {}
currency:
+ description: The currency assigned for this team
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: The currency assigned for this team
+ - $ref: "#/components/schemas/Currency_7"
+ - {}
type:
type: string
description: Type of the team
@@ -13506,6 +19517,12 @@ components:
- private
- professional
- operator
+ category:
+ description: Category of the team
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/TeamDto.TeamCategoryDto"
+ - {}
operatorId:
type: integer
description: "Deprecated (will be removed by 01.04.24), use `operator` field\
@@ -13520,6 +19537,21 @@ components:
description: Id of the user that owns this team
format: int64
example: 1
+ isFrozen:
+ type: boolean
+ description: Whether the team is frozen or not
+ example: false
+ frozenReason:
+ type: string
+ description: Team freezing reason
+ nullable: true
+ example: removed team
+ frozenAt:
+ type: string
+ description: Frozen date of this team
+ format: date-time
+ nullable: true
+ example: 2022-05-12T16:56:45.99Z
blockedAt:
type: string
description: Blocked date of this team
@@ -13554,7 +19586,7 @@ components:
type: string
description: Second line of address
nullable: true
- example: København
+ example: København
address3:
type: string
description: Third line of address
@@ -13575,20 +19607,24 @@ components:
description: The address country
format: int64
example: 1
- TeamMemberAccess:
- type: string
- description: "definitions: \n* `all` - Indicates the team member has access\
- \ all the team's charge points. \n* `selected` - Indicates the team member\
- \ has only access to the selected charge points. \n* `other` - Fallback value,\
- \ Indicates a new type was added but is not mapped/unknown on this API yet.\
- \ \n"
- enum:
- - all
- - selected
- - other
- TeamMemberDto:
+ TeamDto.TeamCategoryDto:
+ required:
+ - identifier
+ - name
+ type: object
+ properties:
+ identifier:
+ type: string
+ description: Category Identifier
+ example: cpo
+ name:
+ type: string
+ description: Category name
+ example: Charge Point Operator
+ TeamMember:
required:
- access
+ - canPayForChargesCountryIds
- chargePointIds
- id
- role
@@ -13599,9 +19635,10 @@ components:
id:
required:
- "true"
- type: string
+ type: integer
description: Id of the team member
- example: "1"
+ format: int64
+ example: 1
teamId:
type: integer
description: Team id of team member
@@ -13614,10 +19651,11 @@ components:
nullable: true
example: Casper Rasmussen
operator:
+ description: Operator of this team member
nullable: true
allOf:
- - $ref: '#/components/schemas/Operator'
- - description: Operator of this team member
+ - $ref: "#/components/schemas/Operator"
+ - {}
partnerExternalTeamId:
type: string
description: The partner external id for the team
@@ -13631,21 +19669,24 @@ components:
nullable: true
example: 1
role:
+ description: Role of the this member within the team
+ example: admin
allOf:
- - $ref: '#/components/schemas/TeamMemberRole'
- - description: Role of the this member within the team
- example: admin
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
access:
+ description: Indicates if the user has access to all charge points or only
+ to selected charge points
+ example: all
allOf:
- - $ref: '#/components/schemas/TeamMemberAccess'
- - description: Indicates if the user has access to all charge points or
- only to selected charge points
- example: all
+ - $ref: "#/components/schemas/TeamMemberAccess_1"
+ - {}
state:
+ description: State of the invitation
+ example: accepted
allOf:
- - $ref: '#/components/schemas/TeamMemberState'
- - description: State of the invitation
- example: accepted
+ - $ref: "#/components/schemas/TeamMemberState_1"
+ - {}
note:
type: string
description: Note for team member
@@ -13701,6 +19742,24 @@ components:
format: int64
nullable: true
example: 1
+ costGroupId:
+ type: integer
+ description: The cost group for this team member
+ format: int64
+ nullable: true
+ example: 1
+ teamMemberProfileId:
+ type: integer
+ description: The team member profile id to apply to this team member
+ format: int64
+ nullable: true
+ example: 1
+ canConfigureChargePoints:
+ type: boolean
+ description: Indicates if the team member access to pay with team wallet
+ when charging
+ example: false
+ default: false
canPayWithTeamWallet:
type: boolean
description: Indicates if the team member access to pay with team wallet
@@ -13725,8 +19784,18 @@ components:
settings
example: false
default: false
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
teamWalletChargePaymentType:
- $ref: '#/components/schemas/TeamWalletChargePaymentType'
+ $ref: "#/components/schemas/TeamWalletChargePaymentType"
partnerExternalId:
type: string
description: "External Id of this entity, managed by you."
@@ -13738,6 +19807,136 @@ components:
nullable: true
items:
type: object
+ TeamMemberAccess:
+ type: string
+ enum:
+ - all
+ - selected
+ TeamMemberAccess_1:
+ type: string
+ description: "definitions: \n* `all` - Indicates the team member has access\
+ \ all the team's charge points. \n* `selected` - Indicates the team member\
+ \ has only access to the selected charge points. \n* `other` - Fallback value,\
+ \ Indicates a new type was added but is not mapped/unknown on this API yet.\
+ \ \n"
+ enum:
+ - all
+ - selected
+ - other
+ TeamMemberProfile:
+ required:
+ - id
+ - name
+ - role
+ - teamWalletChargePaymentType
+ type: object
+ properties:
+ id:
+ required:
+ - "true"
+ type: integer
+ description: Id of the team member profile
+ format: int64
+ example: 1
+ teamId:
+ type: integer
+ description: Team id of team member profile
+ format: int64
+ example: 42
+ name:
+ type: string
+ description: The team member profile name
+ example: Example profile 1
+ description:
+ type: string
+ description: The team member profile description
+ nullable: true
+ example: description
+ role:
+ description: Role of the this team member profile
+ example: admin
+ allOf:
+ - $ref: "#/components/schemas/TeamMemberRole"
+ - {}
+ priceGroupId:
+ type: integer
+ description: The price group for this team member profile
+ format: int64
+ nullable: true
+ example: 1
+ costGroupId:
+ type: integer
+ description: The cost group for this team member profile
+ format: int64
+ nullable: true
+ example: 1
+ canPayWithTeamWallet:
+ type: boolean
+ description: Indicates if the team member profile access to pay with team
+ wallet when charging
+ example: false
+ default: false
+ canManageTeamWallet:
+ type: boolean
+ description: Indicates if team member profile has access to withdraw and
+ deposit from your team wallet to your bank account
+ example: false
+ default: false
+ canRequestSponsoring:
+ type: boolean
+ description: Indicates if the team member profile is allowed to request
+ sponsoring from this team for their charge point
+ example: false
+ default: false
+ canManageTeamMembers:
+ type: boolean
+ description: Indicates that the team member profile can view and manage
+ other members settings
+ example: false
+ default: false
+ canConfigureChargePoints:
+ type: boolean
+ description: Indicates that the team member profile can configure charge
+ points
+ example: false
+ default: false
+ teamWalletChargePaymentType:
+ $ref: "#/components/schemas/TeamWalletChargePaymentType"
+ canPayForChargesCountryIds:
+ type: array
+ description: List of country ids for which the team member can pay for charges
+ nullable: true
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ type: integer
+ format: int32
+ operator:
+ description: Operator of this team member
+ nullable: true
+ allOf:
+ - $ref: "#/components/schemas/Operator"
+ - {}
+ createdAt:
+ type: string
+ description: Date the team member profile was created
+ format: date-time
+ nullable: true
+ example: 2022-05-12T15:56:45.99Z
+ updatedAt:
+ type: string
+ description: Date the team member profile was updated
+ format: date-time
+ nullable: true
+ example: 2022-05-12T16:56:45.99Z
+ deletedAt:
+ type: string
+ description: Date the team member profile was deleted
+ format: date-time
+ nullable: true
+ example: 2022-05-12T16:56:45.99Z
TeamMemberRole:
type: string
enum:
@@ -13745,6 +19944,25 @@ components:
- user
- other
TeamMemberState:
+ type: string
+ enum:
+ - requested
+ - invited
+ - accepted
+ - rejected_at
+ - blocked
+ - expired
+ TeamMemberState_1:
+ type: string
+ enum:
+ - requested
+ - invited
+ - rejected
+ - accepted
+ - blocked
+ - expired
+ - other
+ TeamMemberState_3:
type: string
enum:
- requested
@@ -13757,8 +19975,8 @@ components:
TeamOrOperator:
type: object
anyOf:
- - $ref: '#/components/schemas/Operator'
- - $ref: '#/components/schemas/PayingTeam'
+ - $ref: "#/components/schemas/Operator"
+ - $ref: "#/components/schemas/PayingTeam"
TeamType.Creatable:
type: string
enum:
@@ -13775,6 +19993,26 @@ components:
- all
- none
default: none
+ TimePeriod:
+ required:
+ - dailyPerformance
+ - date
+ type: object
+ properties:
+ date:
+ required:
+ - "true"
+ type: string
+ description: Date for the statistics
+ format: date-time
+ example: 2024-03-30T00:00:00Z
+ dailyPerformance:
+ required:
+ - "true"
+ type: array
+ description: Performance metrics for the day
+ items:
+ $ref: "#/components/schemas/Performance"
Token:
required:
- accessToken
@@ -13876,15 +20114,18 @@ components:
type: array
description: Zip codes where this tariff is applicable
nullable: true
- example: "[\"2200\", \"2100\"]"
+ example:
+ - "2200"
+ - "2100"
items:
type: string
tariffType:
+ description: Dynamic or weekly
nullable: true
+ example: WEEKLY
allOf:
- - $ref: '#/components/schemas/TariffType'
- - description: Dynamic or weekly
- example: WEEKLY
+ - $ref: "#/components/schemas/TariffType"
+ - {}
active:
required:
- "true"
@@ -13904,13 +20145,117 @@ components:
description: Human description of the area the tariff is active in
example: Fyn
customerType:
+ description: What kind of customer types are the tariff for?
+ nullable: true
+ example: c_customer
+ allOf:
+ - $ref: "#/components/schemas/TariffCustomerType"
+ - {}
+ UpdateTeamStateDto:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: Team freezing reason
+ nullable: true
+ example: removed team
+ User:
+ required:
+ - id
+ type: object
+ properties:
+ id:
+ required:
+ - "true"
+ type: integer
+ description: Id of the user
+ format: int64
+ example: 10
+ firstName:
+ required:
+ - "false"
+ type: string
+ description: First name of the user
+ nullable: true
+ example: John
+ lastName:
+ required:
+ - "false"
+ type: string
+ description: Last name of the user
+ nullable: true
+ example: Doe
+ email:
+ required:
+ - "false"
+ type: string
+ description: Email of the user
+ nullable: true
+ example: john.doe@example.com
+ phone:
+ required:
+ - "false"
+ type: string
+ description: Phone number of the user
+ nullable: true
+ example: "+1234567890"
+ profileImageUrl:
+ required:
+ - "false"
+ type: string
+ description: URL of the profile image
+ nullable: true
+ example: https://example.com/profile.jpg
+ address:
+ description: Address of the user
nullable: true
allOf:
- - $ref: '#/components/schemas/TariffCustomerType'
- - description: What kind of customer types are the tariff for?
- example: c_customer
+ - $ref: "#/components/schemas/Address"
+ - {}
+ language:
+ required:
+ - "false"
+ type: string
+ description: Preferred language of the user
+ nullable: true
+ example: en
+ termsReadAt:
+ required:
+ - "false"
+ type: string
+ description: Timestamp when the user read the terms
+ format: date-time
+ nullable: true
+ example: 2023-06-21T15:03:14Z
+ createdAt:
+ required:
+ - "false"
+ type: string
+ description: Timestamp when the user was created
+ format: date-time
+ nullable: true
+ example: 2023-06-21T15:03:14Z
+ updatedAt:
+ required:
+ - "false"
+ type: string
+ description: Timestamp when the user was last updated
+ format: date-time
+ nullable: true
+ example: 2023-06-21T15:03:14Z
+ deletedAt:
+ required:
+ - "false"
+ type: string
+ description: Timestamp when the user was deleted
+ format: date-time
+ nullable: true
+ example: 2023-06-21T15:03:14Z
VisibilityType:
type: string
+ description: "definitions: \n* `private` - Indicates the charge point access\
+ \ is private, only available to users from operator umbrella. \n* `public`\
+ \ - Indicates the charge point access is public. \n"
enum:
- private
- public
@@ -13953,10 +20298,11 @@ components:
description: CountryId of this wallet.
format: int64
balance:
+ description: "Balance of this wallet, if available (not in list endpoints)."
nullable: true
allOf:
- - $ref: '#/components/schemas/WalletDto.BalanceDto'
- - description: "Balance of this wallet, if available (not in list endpoints)."
+ - $ref: "#/components/schemas/WalletDto.BalanceDto"
+ - {}
WalletDto.BalanceDto:
type: object
properties:
@@ -14001,20 +20347,22 @@ components:
format: double
example: 2.75
fromCurrency:
+ description: Currency for `fromAmount`.
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: Currency for `fromAmount`.
+ - $ref: "#/components/schemas/Currency_13"
+ - {}
fromType:
type: string
description: "Type of sender: operator, team"
nullable: true
example: team
from:
+ description: "Type of sender: operator, team"
nullable: true
+ example: team
allOf:
- - $ref: '#/components/schemas/TeamOrOperator'
- - description: "Type of sender: operator, team"
- example: team
+ - $ref: "#/components/schemas/TeamOrOperator"
+ - {}
fromWalletId:
required:
- "false"
@@ -14040,20 +20388,22 @@ components:
format: double
example: 2.75
toCurrency:
+ description: Currency used for `toAmount`.
allOf:
- - $ref: '#/components/schemas/Currency'
- - description: Currency used for `toAmount`.
+ - $ref: "#/components/schemas/Currency_14"
+ - {}
toType:
type: string
description: "Type of receiver: operator, team"
nullable: true
example: operator
to:
+ description: "Type of sender: operator, team"
nullable: true
+ example: team
allOf:
- - $ref: '#/components/schemas/TeamOrOperator'
- - description: "Type of sender: operator, team"
- example: team
+ - $ref: "#/components/schemas/TeamOrOperator"
+ - {}
toWalletId:
required:
- "false"
@@ -14081,23 +20431,32 @@ components:
format: date-time
nullable: true
example: 2022-04-22T09:47:05Z
+ completedAt:
+ required:
+ - "false"
+ type: string
+ description: Completion date of transaction
+ format: date-time
+ nullable: true
+ example: 2022-04-22T09:47:05Z
referenceId:
type: string
description: Reference id of this transaction. e.g the charge id
nullable: true
example: referenceId
referenceType:
+ description: Reference type of this transaction.
nullable: true
+ example: CHARGE
allOf:
- - $ref: '#/components/schemas/WalletTransactionReferenceType'
- - description: Reference type of this transaction.
- example: CHARGE
+ - $ref: "#/components/schemas/WalletTransactionReferenceType"
+ - {}
group:
+ description: Transaction group of this transaction
+ example: withdraw
allOf:
- - $ref: '#/components/schemas/WalletTransactionGroup'
+ - $ref: "#/components/schemas/WalletTransactionGroup"
- type: string
- description: Transaction group of this transaction
- example: withdraw
kind:
type: string
description: "\n Kind of this transaction, ie 'charge-sponsored'.\n\
@@ -14110,11 +20469,11 @@ components:
format: double
example: 25
state:
+ description: Transaction state of this transaction
+ example: complete
allOf:
- - $ref: '#/components/schemas/WalletTransactionState'
+ - $ref: "#/components/schemas/WalletTransactionState"
- type: string
- description: Transaction state of this transaction
- example: complete
note:
type: string
description: A note that has been entered for this transaction.
@@ -14122,20 +20481,25 @@ components:
example: Test transaction.
partnerExternalId:
type: string
- description: "External Id of this entity, managed by you."
+ description: "**Note: This has been deprecated and will be null always.**External\
+ \ Id of this entity, managed by you."
nullable: true
example: ACME-12345
+ deprecated: true
partnerCustomPayload:
type: array
- description: "Custom JSON payload for this entity, managed by you."
+ description: "**Note: This has been deprecated and will be null always.**Custom\
+ \ JSON payload for this entity, managed by you."
nullable: true
+ deprecated: true
items:
type: object
metadata:
+ description: Additional information for this transaction
nullable: true
allOf:
- - $ref: '#/components/schemas/MetadataDto'
- - description: Additional information for this transaction
+ - $ref: "#/components/schemas/MetadataDto"
+ - {}
WalletTransactionGroup:
type: string
enum:
@@ -14177,13 +20541,14 @@ components:
- other
WebhookConfig:
required:
+ - eventTypes
- webhookSecret
- webhookUrl
type: object
properties:
webhookUrl:
maxLength: 191
- pattern: https://.*
+ pattern: https://(?!(.*monta\.com?)).*
required:
- "true"
type: string
@@ -14200,13 +20565,14 @@ components:
eventTypes:
maxItems: 512
required:
- - "false"
+ - "true"
type: array
- description: "A list of event type to subscribe to. Use [\"*\"] to subscribe\
- \ to all."
- example: "[\"charges\", \"team-members\"]"
+ description: A list of event types to subscribe to.
+ example:
+ - charges
+ - team-members
items:
- $ref: '#/components/schemas/WebhookEntry.EventType'
+ $ref: "#/components/schemas/WebhookEntry.EventType"
WebhookEntry:
required:
- createdAt
@@ -14231,28 +20597,34 @@ components:
format: int64
example: 1
eventType:
+ description: "\n Type of event this entry belongs to.\n \
+ \ Note: This is not the type of the entity (payload.EntityType),\
+ \ but the type of the event that you can subscribe to.\n "
+ example: charge-points
allOf:
- - $ref: '#/components/schemas/WebhookEntry.EventType'
- - description: "\n Type of event this entry belongs to.\n \
- \ Note: This is not the type of the entity (payload.EntityType),\
- \ but the type of the event that you can subscribe to.\n "
- example: charge-points
+ - $ref: "#/components/schemas/WebhookEntry.EventType"
+ - {}
payload:
+ description: payload of this entry
+ example: "See [Charge](/reference/get-charge) payload"
allOf:
- - $ref: '#/components/schemas/WebhookEntryPayload'
- - description: payload of this entry
- example: "See [Charge](/reference/get-charge) payload"
+ - $ref: "#/components/schemas/WebhookEntryPayload"
+ - {}
status:
+ description: Status of the entry
+ example: completed
allOf:
- - $ref: '#/components/schemas/WebhookEntry.Status'
- - description: Status of the entry
- example: completed
+ - $ref: "#/components/schemas/WebhookEntry.Status"
+ - {}
error:
+ description: Contains the error message if the delivery failed
nullable: true
+ example:
+ errorCode: "500"
+ errorMessage: "Bad Gateway: The server is unreachable at this time."
allOf:
- - $ref: '#/components/schemas/WebhookEntryErrorPayload'
- - description: Contains the error message if the delivery failed
- example: TBD
+ - $ref: "#/components/schemas/WebhookEntryErrorPayload"
+ - {}
createdAt:
type: string
description: Creation date of this entry
@@ -14267,10 +20639,10 @@ components:
WebhookEntry.EventType:
type: string
enum:
- - '*'
- charges
- charge-points
- sites
+ - users
- team-members
- teams
- installer-jobs
@@ -14278,6 +20650,8 @@ components:
- price-groups
- subscriptions
- plans
+ - charge-auth-tokens
+ - reports
WebhookEntry.Status:
type: string
enum:
@@ -14313,24 +20687,34 @@ components:
type: object
properties:
entityType:
+ description: Type of the entity
+ example: charge
allOf:
- - $ref: '#/components/schemas/WebhookEntryPayload.EntityType'
- - description: Type of the entity
- example: charge
+ - $ref: "#/components/schemas/WebhookEntryPayload.EntityType"
+ - {}
entityId:
type: string
description: Id of the entity
example: "42"
eventType:
+ description: Type of the event
+ example: updated
allOf:
- - $ref: '#/components/schemas/KafkaEventType'
- - description: Type of the event
- example: updated
+ - $ref: "#/components/schemas/KafkaEventType"
+ - {}
+ eventTime:
+ type: string
+ description: The timestamp indicating when the event was generated
+ format: date-time
+ nullable: true
+ example: 2024-10-22T16:56:45.999Z
payload:
type: array
description: "payload of this entity, e.g. a full Charge object"
nullable: true
- example: "{ \"id\": \"42\", \"amount\": 1000 }}"
+ example:
+ - id: "42"
+ amount: 1000
items:
type: object
WebhookEntryPayload.EntityType:
@@ -14339,6 +20723,7 @@ components:
- charge
- charge-point
- site
+ - user
- team
- team-member
- installer-job
@@ -14346,7 +20731,10 @@ components:
- price-group
- subscription
- plan
+ - charge-auth-token
+ - report
securitySchemes:
BearerAccessToken:
type: http
- scheme: bearer
\ No newline at end of file
+ scheme: bearer
+x-stability-level: stable
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/ChargeAuthToken.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/ChargeAuthToken.verified.cs
index bd3770c8..83cea5a3 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/ChargeAuthToken.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/ChargeAuthToken.verified.cs
@@ -54,6 +54,9 @@ public class ChargeAuthToken
///
public string? Name { get; set; }
+ ///
+ /// Operator of this charge auth token.
+ ///
public Operator? Operator { get; set; }
///
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/CreateChargeAuthToken.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/CreateChargeAuthToken.verified.cs
index e60f320b..fd5aca7e 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/CreateChargeAuthToken.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargeAuthTokens/CreateChargeAuthToken.verified.cs
@@ -33,6 +33,9 @@ public class CreateChargeAuthToken
[RegularExpression("^(?!VID:)[\\s\\S]*")]
public string Identifier { get; set; }
+ ///
+ /// Type of the charge auth token.
+ ///
[Required]
public ChargeAuthenticationType Type { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointIntegrations/ChargePointIntegration.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointIntegrations/ChargePointIntegration.verified.cs
index cf8613de..663b1e20 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointIntegrations/ChargePointIntegration.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointIntegrations/ChargePointIntegration.verified.cs
@@ -17,6 +17,9 @@ public class ChargePointIntegration
///
public long Id { get; set; }
+ ///
+ /// The current state of the charge point integration.
+ ///
[Required]
public ChargePointIntegrationStateDto State { get; set; }
@@ -37,6 +40,9 @@ public class ChargePointIntegration
///
public int? ConnectorId { get; set; }
+ ///
+ /// The charge point associated to this integration.
+ ///
[Required]
public ChargePoint ChargePoint { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointModels/ChargePointModel.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointModels/ChargePointModel.verified.cs
index f69530d9..c11cab51 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointModels/ChargePointModel.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointModels/ChargePointModel.verified.cs
@@ -29,6 +29,9 @@ public class ChargePointModel
[Required]
public string Name { get; set; }
+ ///
+ /// The brand of the charge point model.
+ ///
[Required]
public ChargePointModelDtoChargePointBrandDto Brand { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/ChargePointStatisticsDto.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/ChargePointStatisticsDto.verified.cs
new file mode 100644
index 00000000..acfc1785
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/ChargePointStatisticsDto.verified.cs
@@ -0,0 +1,68 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// ChargePointStatisticsDto.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class ChargePointStatisticsDto
+{
+ ///
+ /// Start date of the statistics period.
+ ///
+ [Required]
+ public DateTimeOffset FromDate { get; set; }
+
+ ///
+ /// End date of the statistics period.
+ ///
+ [Required]
+ public DateTimeOffset ToDate { get; set; }
+
+ ///
+ /// Total energy consumed during the period (in kWh).
+ ///
+ [Required]
+ public double TotalEnergyConsumed { get; set; }
+
+ ///
+ /// Total number of charging sessions during the period.
+ ///
+ [Required]
+ public int TotalSessions { get; set; }
+
+ ///
+ /// Success rate of charging sessions during the period (as a percentage).
+ ///
+ [Required]
+ public double SessionSuccessRate { get; set; }
+
+ ///
+ /// Percentage of uptime for the system during the period.
+ ///
+ public double? SystemUptimePercentage { get; set; }
+
+ ///
+ /// Detailed state for the period.
+ ///
+ public List States { get; set; } = new List();
+
+ ///
+ /// Daily statistics for the period.
+ ///
+ public List Days { get; set; } = new List();
+
+ ///
+ /// Monthly statistics for the period.
+ ///
+ public List Months { get; set; } = new List();
+
+ ///
+ public override string ToString()
+ => $"{nameof(FromDate)}: ({FromDate}), {nameof(ToDate)}: ({ToDate}), {nameof(TotalEnergyConsumed)}: {TotalEnergyConsumed}, {nameof(TotalSessions)}: {TotalSessions}, {nameof(SessionSuccessRate)}: {SessionSuccessRate}, {nameof(SystemUptimePercentage)}: {SystemUptimePercentage}, {nameof(States)}.Count: {States?.Count ?? 0}, {nameof(Days)}.Count: {Days?.Count ?? 0}, {nameof(Months)}.Count: {Months?.Count ?? 0}";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/Performance.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/Performance.verified.cs
new file mode 100644
index 00000000..97c4818e
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/Performance.verified.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// Performance.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class Performance
+{
+ ///
+ /// State of the system or charge point.
+ ///
+ [Required]
+ public string Status { get; set; }
+
+ ///
+ /// Percentage of time in this state.
+ ///
+ [Required]
+ public double UsagePercentage { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(Status)}: {Status}, {nameof(UsagePercentage)}: {UsagePercentage}";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetChargePointStatisticsParameters.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetChargePointStatisticsParameters.verified.cs
new file mode 100644
index 00000000..034adbdc
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetChargePointStatisticsParameters.verified.cs
@@ -0,0 +1,32 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// Parameters for operation request.
+/// Description: Retrieve statistics related to a charge point.
+/// Operation: GetChargePointStatistics.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class GetChargePointStatisticsParameters
+{
+ [Required]
+ [Range(0, 2147483647)]
+ public long ChargePointId { get; set; }
+
+ [Required]
+ [RegularExpression("\\d{4}-\\d{2}-\\d{2}")]
+ public DateTimeOffset FromDate { get; set; }
+
+ [Required]
+ [RegularExpression("\\d{4}-\\d{2}-\\d{2}")]
+ public DateTimeOffset ToDate { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(ChargePointId)}: {ChargePointId}, {nameof(FromDate)}: ({FromDate}), {nameof(ToDate)}: ({ToDate})";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetSiteStatisticsParameters.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetSiteStatisticsParameters.verified.cs
new file mode 100644
index 00000000..ef21177d
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/RequestParameters/GetSiteStatisticsParameters.verified.cs
@@ -0,0 +1,32 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// Parameters for operation request.
+/// Description: Retrieve statistics related to a site.
+/// Operation: GetSiteStatistics.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class GetSiteStatisticsParameters
+{
+ [Required]
+ [Range(0, 2147483647)]
+ public long SiteId { get; set; }
+
+ [Required]
+ [RegularExpression("\\d{4}-\\d{2}-\\d{2}")]
+ public DateTimeOffset FromDate { get; set; }
+
+ [Required]
+ [RegularExpression("\\d{4}-\\d{2}-\\d{2}")]
+ public DateTimeOffset ToDate { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(SiteId)}: {SiteId}, {nameof(FromDate)}: ({FromDate}), {nameof(ToDate)}: ({ToDate})";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/States.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/States.verified.cs
new file mode 100644
index 00000000..7d347456
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/States.verified.cs
@@ -0,0 +1,36 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// States.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class States
+{
+ ///
+ /// State of the system or charge point.
+ ///
+ [Required]
+ public string State { get; set; }
+
+ ///
+ /// Percentage of the time spent in this state.
+ ///
+ [Required]
+ public double Percentage { get; set; }
+
+ ///
+ /// Duration in this state (in seconds).
+ ///
+ [Required]
+ public long Duration { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(State)}: {State}, {nameof(Percentage)}: {Percentage}, {nameof(Duration)}: {Duration}";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/TimePeriod.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/TimePeriod.verified.cs
new file mode 100644
index 00000000..277889d5
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePointStatistics/TimePeriod.verified.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePointStatistics;
+
+///
+/// TimePeriod.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class TimePeriod
+{
+ ///
+ /// Date for the statistics.
+ ///
+ [Required]
+ public DateTimeOffset Date { get; set; }
+
+ ///
+ /// Performance metrics for the day.
+ ///
+ [Required]
+ public List DailyPerformance { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(Date)}: ({Date}), {nameof(DailyPerformance)}.Count: {DailyPerformance?.Count ?? 0}";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/ChargePointOcppLog.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/ChargePointOcppLog.verified.cs
new file mode 100644
index 00000000..53a9e298
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/ChargePointOcppLog.verified.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePoints;
+
+///
+/// ChargePointOcppLog.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class ChargePointOcppLog
+{
+ ///
+ /// Timestamp of the OCPP log.
+ ///
+ [Required]
+ public DateTimeOffset Timestamp { get; set; }
+
+ ///
+ /// Message content of the OCPP log, can be a string or an array of mixed types.
+ ///
+ [Required]
+ public string Message { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(Timestamp)}: ({Timestamp}), {nameof(Message)}: {Message}";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/CreateChargePoint.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/CreateChargePoint.verified.cs
index c93eeb9c..3ee25d28 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/CreateChargePoint.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/CreateChargePoint.verified.cs
@@ -46,9 +46,15 @@ public class CreateChargePoint
[Required]
public double MaxKw { get; set; }
+ ///
+ /// Visibility type of the charge point.
+ ///
[Required]
public VisibilityType Visibility { get; set; }
+ ///
+ /// Electric current type the charge point support.
+ ///
[Required]
public ElectricCurrentType Type { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResult.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResult.verified.cs
index 710ae8e8..4664281c 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResult.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResult.verified.cs
@@ -12,12 +12,21 @@ namespace Monta.ApiClient.Generated.Contracts.ChargePoints;
[GeneratedCode("ApiGenerator", "x.x.x.x")]
public class MapResult
{
+ ///
+ /// list of all charge points found in that area.
+ ///
[Required]
public List ChargePoints { get; set; }
+ ///
+ /// list of all sites found in that area.
+ ///
[Required]
public List Sites { get; set; }
+ ///
+ /// list of all clusters (of charge points and sites) found in that area.
+ ///
[Required]
public List Cluster { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultChargePoint.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultChargePoint.verified.cs
index a00725a3..196b1079 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultChargePoint.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultChargePoint.verified.cs
@@ -53,6 +53,9 @@ public class MapResultChargePoint
///
public string? State { get; set; }
+ ///
+ /// Location information for this charge point.
+ ///
[Required]
public Location Location { get; set; }
@@ -62,6 +65,9 @@ public class MapResultChargePoint
[Required]
public List Connectors { get; set; }
+ ///
+ /// Deeplinks to open charge screen in Monta app or web.
+ ///
[Required]
public ChargePointDeeplinks Deeplinks { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultCluster.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultCluster.verified.cs
index 6136723f..52619e88 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultCluster.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultCluster.verified.cs
@@ -12,6 +12,9 @@ namespace Monta.ApiClient.Generated.Contracts.ChargePoints;
[GeneratedCode("ApiGenerator", "x.x.x.x")]
public class MapResultCluster
{
+ ///
+ /// Coordinates of the cluster.
+ ///
[Required]
public Coordinates Coordinates { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultSite.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultSite.verified.cs
index 53869087..24b12bfd 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultSite.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MapResultSite.verified.cs
@@ -49,6 +49,9 @@ public class MapResultSite
///
public string? Note { get; set; }
+ ///
+ /// Location information for this site.
+ ///
[Required]
public Location Location { get; set; }
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MontaPageChargePointOcppLogDto.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MontaPageChargePointOcppLogDto.verified.cs
new file mode 100644
index 00000000..ece6e7ca
--- /dev/null
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/MontaPageChargePointOcppLogDto.verified.cs
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// This code was auto-generated by ApiGenerator x.x.x.x.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//------------------------------------------------------------------------------
+namespace Monta.ApiClient.Generated.Contracts.ChargePoints;
+
+///
+/// MontaPageChargePointOcppLogDto.
+///
+[GeneratedCode("ApiGenerator", "x.x.x.x")]
+public class MontaPageChargePointOcppLogDto
+{
+ [Required]
+ public List Data { get; set; }
+
+ [Required]
+ public MontaPageMeta Meta { get; set; }
+
+ ///
+ public override string ToString()
+ => $"{nameof(Data)}.Count: {Data?.Count ?? 0}, {nameof(Meta)}: ({Meta})";
+}
\ No newline at end of file
diff --git a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/PatchChargePoint.verified.cs b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/PatchChargePoint.verified.cs
index aff50a69..e0d5854d 100644
--- a/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/PatchChargePoint.verified.cs
+++ b/test/Atc.Rest.ApiGenerator.CLI.Tests/Scenarios/Monta/VerifyClient/WCEM/src/Monta.ApiClient.Generated/Contracts/ChargePoints/PatchChargePoint.verified.cs
@@ -29,8 +29,14 @@ public class PatchChargePoint
///
public double? MaxKw { get; set; }
+ ///
+ /// Visibility type of the charge point.
+ ///
public VisibilityType? Visibility { get; set; }
+ ///
+ /// Electric current type the charge point support.
+ ///
[Required]
public ElectricCurrentType? Type { get; set; }
@@ -62,7 +68,12 @@ public class PatchChargePoint
public string? PartnerExternalId { get; set; }
///
- /// Custom JSON payload for this entity, managed by you.
+ /// 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.
+ /// .
///
public List