Skip to content

Instantly share code, notes, and snippets.

@kYann
Created January 28, 2023 16:54
Show Gist options
  • Save kYann/23eab426be79fd2cb93c2ddb902a8ecd to your computer and use it in GitHub Desktop.
Save kYann/23eab426be79fd2cb93c2ddb902a8ecd to your computer and use it in GitHub Desktop.
Public bump swagger description
{
"openapi": "3.0.1",
"info": {
"title": "Public Api",
"description": "Public API for partners",
"version": "v1"
},
"paths": {
"/api/b2b-customers": {
"get": {
"tags": [
"B2BCustomer"
],
"summary": "List b2b customer (companies)",
"operationId": "GetAllB2BCustomers",
"parameters": [
{
"name": "page",
"in": "query",
"description": "start at 0",
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PageApi"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/company-customers": {
"get": {
"tags": [
"B2BCustomer"
],
"summary": "List b2b customer (companies)",
"parameters": [
{
"name": "page",
"in": "query",
"description": "start at 0",
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PageApi"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
},
"deprecated": true
}
},
"/api/charging-sessions/{id}": {
"get": {
"tags": [
"ChargingSession"
],
"summary": "Get charging session",
"operationId": "GetChargingSession",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Id of the charging session",
"required": true,
"schema": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChargingSessionsModelApi"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/charging-sessions/{id}/estimated-consumption": {
"get": {
"tags": [
"ChargingSession"
],
"summary": "Get charging session esimated consumption\r\nSome CPO do not send intermediate CDR and in that case we need to estimate the consumption to display a price to the user",
"operationId": "GetChargingSessionEstimatedConsumption",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Id of the charging session",
"required": true,
"schema": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChargingSessionsEstimatedConsumptionApi"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/charging-sessions": {
"get": {
"tags": [
"ChargingSession"
],
"summary": "Get charging sessions",
"operationId": "GetAllChargingSessions",
"parameters": [
{
"name": "page",
"in": "query",
"description": "page start at zero",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "pageSize",
"in": "query",
"description": "100 by default",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChargingSessionsModelApi"
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/invoices/download/{id}": {
"get": {
"tags": [
"Invoice"
],
"summary": "Redirect to the url of the invoice in PDF",
"operationId": "DownloadInvoice",
"parameters": [
{
"name": "id",
"in": "path",
"description": "invoice Id",
"required": true,
"schema": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"301": {
"description": "Redirect"
}
}
}
},
"/api/invoices/{id}": {
"get": {
"tags": [
"Invoice"
],
"summary": "Get invoice",
"operationId": "GetInvoice",
"parameters": [
{
"name": "id",
"in": "path",
"description": "invoice id",
"required": true,
"schema": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingInvoice"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/locations/{id}": {
"get": {
"tags": [
"Location"
],
"operationId": "GetLocation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"example": 1
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChargePointsLocationApi"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/locations/{id}/evses/{evseId}": {
"get": {
"tags": [
"Location"
],
"operationId": "GetLocationEvse",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"example": 1
}
},
{
"name": "evseId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Non human evse ID",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChargePointsEvseApi"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/locations/{id}/evses": {
"get": {
"tags": [
"Location"
],
"operationId": "GetLocationEvses",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"example": 1
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChargePointsEvseApi"
}
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/tariffs/calculate-tariffs": {
"post": {
"tags": [
"Tariffs"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiCalculateTariffDto"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsCalculatorOutput"
}
}
}
}
},
"deprecated": true
}
},
"/api/tariffs/{id}/calculate-tariffs": {
"post": {
"tags": [
"Tariffs"
],
"operationId": "CalculateTariff",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiCalculateTariffInput"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsCalculatorOutput"
}
}
}
}
}
}
},
"/api/tariffs/by-ocpi-id/{id}/calculate-tariffs": {
"post": {
"tags": [
"Tariffs"
],
"operationId": "CalculateTariffByOcpiId",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Id provided by OCPI if applicable",
"example": "ocpid id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiCalculateTariffInput"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsCalculatorOutput"
}
}
}
}
}
}
},
"/api/tariffs/{id}/easy-tariff-summary": {
"get": {
"tags": [
"Tariffs"
],
"summary": "For easy tariff you get a summary view. For more complicated tariff you get a 204 no content",
"operationId": "GetEasyTariffSummary",
"parameters": [
{
"name": "id",
"in": "path",
"description": "id of the tariff",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsEasySummary"
}
}
}
},
"204": {
"description": "No Content"
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/tariffs/by-ocpi-id/{id}/easy-tariff-summary": {
"get": {
"tags": [
"Tariffs"
],
"summary": "For easy tariff you get a summary view. For more complicated tariff you get a 204 no content",
"operationId": "GetEasyTariffSummaryByOcpiId",
"parameters": [
{
"name": "id",
"in": "path",
"description": "OCPI id of the tariff",
"required": true,
"schema": {
"type": "string",
"description": "Id provided by OCPI if applicable",
"example": "ocpid id"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsEasySummary"
}
}
}
},
"204": {
"description": "No Content"
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/tariffs/by-ocpi-id/{id}/basic-informations": {
"get": {
"tags": [
"Tariffs"
],
"summary": "Get tariff basic informations",
"operationId": "GetTariffBasicInformationsByOcpiId",
"parameters": [
{
"name": "id",
"in": "path",
"description": "OCPI id of the tariff",
"required": true,
"schema": {
"type": "string",
"description": "Id provided by OCPI if applicable",
"example": "ocpid id"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsModelApi"
}
}
}
},
"204": {
"description": "No Content"
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/tariffs/{id}/basic-informations": {
"get": {
"tags": [
"Tariffs"
],
"summary": "Get tariff basic informations",
"operationId": "GetTariffBasicInformations",
"parameters": [
{
"name": "id",
"in": "path",
"description": "id of the tariff",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TariffsModelApi"
}
}
}
},
"204": {
"description": "No Content"
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/from-charging-sessions/{id}": {
"get": {
"tags": [
"Transaction"
],
"summary": "Retrieve transactions linked to a charging session\r\nThere maybe multiple transactions as you can have failed transactions before a successfull one",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Charging session id",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentsTransactionApi"
}
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/transactions/from-charging-sessions/{id}": {
"get": {
"tags": [
"Transaction"
],
"summary": "Retrieve transactions linked to a charging session\r\nThere maybe multiple transactions as you can have failed transactions before a successfull one",
"operationId": "GetTransactionsForChargingSession",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Charging session id",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentsTransactionApi"
}
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
},
"/api/users/{id}": {
"get": {
"tags": [
"User"
],
"operationId": "GetUser",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsersModelApi"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
},
"delete": {
"tags": [
"User"
],
"operationId": "DeleteUser",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"responses": {
"204": {
"description": "No Content"
},
"404": {
"description": "Not Found",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/AspNetCoreProblemDetails"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ApiCalculateTariffDto": {
"type": "object",
"properties": {
"coordinates": {
"$ref": "#/components/schemas/TariffsChargePointCoordinates"
},
"tariffId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"chargingInput": {
"$ref": "#/components/schemas/TariffsConsumptionInput"
},
"parkingInput": {
"$ref": "#/components/schemas/TariffsParkingInput"
},
"reservationInput": {
"$ref": "#/components/schemas/TariffsReservationInput"
}
},
"additionalProperties": false
},
"ApiCalculateTariffInput": {
"type": "object",
"properties": {
"coordinates": {
"$ref": "#/components/schemas/TariffsChargePointCoordinates"
},
"chargingInput": {
"$ref": "#/components/schemas/TariffsConsumptionInput"
},
"parkingInput": {
"$ref": "#/components/schemas/TariffsParkingInput"
},
"reservationInput": {
"$ref": "#/components/schemas/TariffsReservationInput"
}
},
"additionalProperties": false
},
"AspNetCoreProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
},
"detail": {
"type": "string",
"nullable": true
},
"instance": {
"type": "string",
"nullable": true
}
},
"additionalProperties": { }
},
"BillingInvoice": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"status": {
"$ref": "#/components/schemas/BillingInvoiceStatus"
},
"from": {
"$ref": "#/components/schemas/BillingInvoiceFrom"
},
"to": {
"$ref": "#/components/schemas/BillingInvoiceTo"
},
"date": {
"type": "string",
"format": "date",
"example": "2017-07-21"
},
"invoiceNumber": {
"type": "string",
"nullable": true
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BillingInvoiceItem"
},
"nullable": true
},
"totalExcludingVat": {
"$ref": "#/components/schemas/Price"
},
"totalIncludingVat": {
"$ref": "#/components/schemas/Price"
},
"totals": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BillingInvoiceTotal"
},
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false,
"description": "This is a generic invoice type and can be used to generated very different invoices"
},
"BillingInvoiceFrom": {
"type": "object",
"properties": {
"companyName": {
"type": "string",
"nullable": true
},
"address": {
"type": "string",
"nullable": true
},
"city": {
"type": "string",
"nullable": true,
"example": "Saint-Malo"
},
"postCode": {
"type": "string",
"nullable": true,
"example": "93140"
},
"countryIsoCode": {
"type": "string",
"nullable": true,
"example": "FR"
},
"vatNumber": {
"type": "string",
"nullable": true,
"example": "FR85478969224"
},
"countryName": {
"type": "string",
"nullable": true,
"readOnly": true,
"example": "France"
}
},
"additionalProperties": false
},
"BillingInvoiceItem": {
"type": "object",
"properties": {
"name": {
"type": "string",
"nullable": true
},
"unitPriceExcludingVat": {
"$ref": "#/components/schemas/Price"
},
"priceIncludingVat": {
"$ref": "#/components/schemas/Price"
},
"priceExcludingVat": {
"$ref": "#/components/schemas/Price"
},
"vat": {
"type": "number",
"format": "double",
"nullable": true
},
"quantity": {
"type": "number",
"format": "double"
},
"unit": {
"type": "string",
"nullable": true
},
"properties": {
"type": "object",
"additionalProperties": { },
"nullable": true
}
},
"additionalProperties": false
},
"BillingInvoiceStatus": {
"enum": [
"Pending",
"Closed"
],
"type": "string"
},
"BillingInvoiceTo": {
"type": "object",
"properties": {
"fullName": {
"type": "string",
"nullable": true
},
"companyName": {
"type": "string",
"nullable": true
},
"address": {
"type": "string",
"nullable": true
},
"city": {
"type": "string",
"nullable": true,
"example": "Saint-Malo"
},
"postCode": {
"type": "string",
"nullable": true,
"example": "93140"
},
"countryIsoCode": {
"type": "string",
"nullable": true,
"example": "FR"
},
"countryName": {
"type": "string",
"nullable": true,
"readOnly": true,
"example": "France"
}
},
"additionalProperties": false
},
"BillingInvoiceTotal": {
"type": "object",
"properties": {
"vat": {
"type": "number",
"format": "double",
"nullable": true
},
"priceIncludingVat": {
"$ref": "#/components/schemas/Price"
},
"priceExcludingVat": {
"$ref": "#/components/schemas/Price"
}
},
"additionalProperties": false
},
"ChargePointsAccessType": {
"enum": [
"Private",
"Public",
"Personal"
],
"type": "string"
},
"ChargePointsConnectorApi": {
"type": "object",
"properties": {
"name": {
"type": "string",
"nullable": true
},
"type": {
"$ref": "#/components/schemas/ChargePointsConnectorType"
},
"format": {
"$ref": "#/components/schemas/ChargePointsConnectorFormat"
},
"status": {
"$ref": "#/components/schemas/ChargePointsConnectorStatus"
}
},
"additionalProperties": false
},
"ChargePointsConnectorFormat": {
"enum": [
"Cable",
"Socket"
],
"type": "string"
},
"ChargePointsConnectorStatus": {
"enum": [
"Active",
"Disabled"
],
"type": "string"
},
"ChargePointsConnectorType": {
"enum": [
"Type2",
"CCS2",
"CHAdeMO",
"Schuko",
"CATARC",
"Type1",
"Type3",
"CCS1",
"CEE16",
"CEE32",
"J1772",
"Inductive",
"Nema520",
"TypeEFrench",
"TypeGBritish",
"TypeJSwiss",
"Avcon"
],
"type": "string"
},
"ChargePointsCoordinatesApi": {
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double"
},
"longitude": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false
},
"ChargePointsEvseAccessInfoApi": {
"type": "object",
"properties": {
"hasParkingBarrier": {
"type": "boolean"
},
"accessType": {
"$ref": "#/components/schemas/ChargePointsAccessType"
}
},
"additionalProperties": false
},
"ChargePointsEvseApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Non human evse ID",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "integer",
"description": "External EVSE ID",
"nullable": true,
"example": 53
},
"identifier": {
"type": "string",
"description": "Readable identifier",
"nullable": true,
"example": "FR*BMP*E4985"
},
"currentInfo": {
"$ref": "#/components/schemas/ChargePointsEvseCurrentInfoApi"
},
"status": {
"$ref": "#/components/schemas/ChargePointsEvseStatus"
},
"state": {
"$ref": "#/components/schemas/ChargePointsEvseState"
},
"reservationInfo": {
"$ref": "#/components/schemas/ChargePointsEvseReservationInfoApi"
},
"isAvailable": {
"type": "boolean"
},
"isRoaming": {
"type": "boolean"
},
"roamingEvseId": {
"type": "string",
"nullable": true,
"example": "FR*BMP*E4985"
},
"tariffGroup": {
"$ref": "#/components/schemas/ChargePointsTariffGroupApi"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"accessInfo": {
"$ref": "#/components/schemas/ChargePointsEvseAccessInfoApi"
},
"connectors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChargePointsConnectorApi"
},
"nullable": true
},
"ownerGroup": {
"$ref": "#/components/schemas/ChargePointsUserGroupApi"
},
"chargePointId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"operator": {
"$ref": "#/components/schemas/ChargePointsOperatorApi"
}
},
"additionalProperties": false
},
"ChargePointsEvseCurrentInfoApi": {
"type": "object",
"properties": {
"maxPower": {
"type": "number",
"description": "Power is represented in watts and does not include duration",
"nullable": true,
"example": 4500.1
},
"currentType": {
"$ref": "#/components/schemas/CurrentType"
}
},
"additionalProperties": false
},
"ChargePointsEvseReservationInfoApi": {
"type": "object",
"properties": {
"reservationTime": {
"type": "string",
"example": "00:15:00"
},
"canReserve": {
"type": "boolean"
}
},
"additionalProperties": false
},
"ChargePointsEvseState": {
"enum": [
"Available",
"Charging",
"Faulted",
"Unknown",
"Blocked",
"Reserved"
],
"type": "string"
},
"ChargePointsEvseStatus": {
"enum": [
"Active",
"Removed",
"Planned",
"OutOfOrder",
"Unknown",
"Demo"
],
"type": "string"
},
"ChargePointsLocationAddressApi": {
"type": "object",
"properties": {
"address": {
"type": "string",
"nullable": true
},
"postCode": {
"type": "string",
"nullable": true,
"example": "93140"
},
"region": {
"type": "string",
"nullable": true,
"example": "Bretagne"
},
"city": {
"type": "string",
"nullable": true,
"example": "Saint-Malo"
},
"countryCode": {
"type": "string",
"nullable": true,
"example": "FRA"
}
},
"additionalProperties": false
},
"ChargePointsLocationApi": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"nullable": true,
"example": 1
},
"externalId": {
"type": "integer",
"description": "External location id related to our CSMS",
"nullable": true,
"example": 1
},
"name": {
"type": "string",
"nullable": true
},
"address": {
"$ref": "#/components/schemas/ChargePointsLocationAddressApi"
},
"coordinates": {
"$ref": "#/components/schemas/ChargePointsCoordinatesApi"
},
"presentationInfo": {
"$ref": "#/components/schemas/ChargePointsPresentationInfoApi"
},
"status": {
"$ref": "#/components/schemas/ChargePointsLocationStatus"
}
},
"additionalProperties": false
},
"ChargePointsLocationStatus": {
"enum": [
"Active",
"Planned",
"Removed",
"Unknown",
"Demo"
],
"type": "string"
},
"ChargePointsLocationText": {
"type": "object",
"properties": {
"language": {
"type": "string",
"nullable": true,
"example": "fr"
},
"text": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ChargePointsOperatorApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true,
"example": "BMP"
},
"emi3SpotOperatorId": {
"type": "string",
"nullable": true,
"example": "BMP"
},
"name": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ChargePointsPresentationInfoApi": {
"type": "object",
"properties": {
"description": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChargePointsLocationText"
},
"nullable": true
},
"detailedDescription": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChargePointsLocationText"
},
"nullable": true
},
"locationImage": {
"type": "string",
"nullable": true,
"example": "https://assets.bump-charge.com/logo.png"
},
"images": {
"type": "array",
"items": {
"type": "string",
"example": "https://assets.bump-charge.com/logo.png"
},
"nullable": true
}
},
"additionalProperties": false
},
"ChargePointsTariffGroupApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "integer",
"nullable": true,
"example": 1
}
},
"additionalProperties": false
},
"ChargePointsUserGroupApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"$ref": "#/components/schemas/UsersExternalGroupId"
},
"name": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ChargingSessionsConsumptionApi": {
"type": "object",
"properties": {
"consumedEnergy": {
"type": "number",
"description": "Energy is represented in watts per hour. Underlying type is a decimal",
"nullable": true,
"example": 43
},
"price": {
"$ref": "#/components/schemas/Price"
}
},
"additionalProperties": false
},
"ChargingSessionsEstimatedConsumptionApi": {
"type": "object",
"properties": {
"consumedEnergy": {
"type": "number",
"description": "Energy is represented in watts per hour. Underlying type is a decimal",
"nullable": true,
"example": 43
},
"price": {
"$ref": "#/components/schemas/Price"
},
"isRealEnergyConsumption": {
"type": "boolean"
}
},
"additionalProperties": false
},
"ChargingSessionsEvseApi": {
"type": "object",
"properties": {
"evseId": {
"type": "string",
"description": "Evse Id",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalEvseId": {
"type": "integer",
"description": "CSMS identifier",
"nullable": true,
"example": 17
},
"locationId": {
"type": "integer",
"description": "Location identifier",
"nullable": true,
"example": 2
},
"evseOperatorId": {
"type": "string",
"description": "Operator identifier",
"nullable": true,
"example": "BMP"
},
"locationName": {
"type": "string",
"nullable": true
},
"isRoaming": {
"type": "boolean"
}
},
"additionalProperties": false
},
"ChargingSessionsModelApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "integer",
"nullable": true,
"example": 32456
},
"evse": {
"$ref": "#/components/schemas/ChargingSessionsEvseApi"
},
"startDate": {
"type": "string",
"format": "date-time"
},
"endDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/ChargingSessionsStatus"
},
"user": {
"$ref": "#/components/schemas/ChargingSessionsUserApi"
},
"consumption": {
"$ref": "#/components/schemas/ChargingSessionsConsumptionApi"
},
"snapshotTariff": {
"$ref": "#/components/schemas/ChargingSessionsTariffApi"
},
"idTag": {
"type": "string",
"description": "Contains RFID tag or Mac Address or Unique identifier",
"nullable": true,
"example": "EF34567A"
},
"extendingSessionId": {
"type": "string",
"description": "Invoice identifier",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"additionalProperties": false
},
"ChargingSessionsStatus": {
"enum": [
"Starting",
"Active",
"Finished",
"Failed",
"Stopping",
"Pending",
"WaitingForStart",
"WaitingForLock",
"Expired"
],
"type": "string"
},
"ChargingSessionsTariffApi": {
"type": "object",
"properties": {
"snapshotTariffId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalSnapshotTariffId": {
"type": "integer",
"nullable": true,
"example": 1
}
},
"additionalProperties": false
},
"ChargingSessionsUserApi": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalUserId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"CurrentType": {
"enum": [
"AC",
"DC"
],
"type": "string"
},
"PageApi": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UsersB2BCustomerApi"
},
"nullable": true
},
"count": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
},
"endPage": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"PaymentsTransactionApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "integer",
"nullable": true,
"example": 4521
},
"chargingSessionId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"userId": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"paymentMethodType": {
"$ref": "#/components/schemas/PaymentsTransactionMethodType"
},
"paymentMethodName": {
"type": "string",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/PaymentsTransactionStatus"
},
"price": {
"$ref": "#/components/schemas/Price"
},
"date": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"PaymentsTransactionMethodType": {
"enum": [
"CreditCard",
"Balance",
"Corporate",
"eMSP"
],
"type": "string"
},
"PaymentsTransactionStatus": {
"enum": [
"Pending",
"Finalized",
"Failed",
"Reversed",
"Refunded",
"Authorized"
],
"type": "string"
},
"Price": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double"
},
"currency": {
"type": "string",
"nullable": true,
"example": "EUR"
}
},
"additionalProperties": false
},
"TariffsAmountCategory": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/TariffsAmountCategoryType"
},
"amountExcludingVat": {
"type": "number",
"format": "double"
},
"amountIncludingVat": {
"type": "number",
"format": "double",
"nullable": true
},
"vat": {
"type": "number",
"format": "double",
"nullable": true
}
},
"additionalProperties": false
},
"TariffsAmountCategoryType": {
"enum": [
"Flat",
"Time",
"Energy",
"ParkingTime",
"Min",
"Max",
"ReservationTime"
],
"type": "string"
},
"TariffsCalculatorOutput": {
"type": "object",
"properties": {
"totalAmountExcludingVat": {
"type": "number",
"format": "double"
},
"totalAmountIncludingVat": {
"type": "number",
"format": "double",
"nullable": true
},
"currency": {
"type": "string",
"nullable": true,
"example": "EUR"
},
"tariffCalculatorTypeOutputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TariffsCalculatorTypeOutput"
},
"nullable": true
}
},
"additionalProperties": false
},
"TariffsCalculatorType": {
"enum": [
"Parking",
"Charging",
"Reservation",
"MinMax"
],
"type": "string"
},
"TariffsCalculatorTypeOutput": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/TariffsCalculatorType"
},
"totalAmountExcludingVat": {
"type": "number",
"format": "double"
},
"totalAmountIncludingVat": {
"type": "number",
"format": "double",
"nullable": true
},
"amountCategories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TariffsAmountCategory"
},
"nullable": true
},
"priceComponentsOutputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TariffsPriceComponentCalculatorOutput"
},
"nullable": true
}
},
"additionalProperties": false
},
"TariffsChargePointCoordinates": {
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double"
},
"longitude": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false
},
"TariffsConsumptionInput": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"format": "date-time"
},
"duration": {
"type": "string",
"example": "00:15:00"
},
"consumedEnergy": {
"type": "number",
"description": "Energy is represented in watts per hour. Underlying type is a decimal",
"nullable": true,
"example": 43
},
"power": {
"type": "number",
"description": "Power is represented in watts and does not include duration",
"nullable": true,
"example": 4500.1
},
"current": {
"type": "number",
"description": "Current is represented in Amp",
"nullable": true,
"example": 4500.1
}
},
"additionalProperties": false
},
"TariffsDimensionType": {
"enum": [
"Energy",
"Flat",
"Time"
],
"type": "string"
},
"TariffsEasySummary": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"name": {
"type": "string",
"nullable": true
},
"flatFee": {
"$ref": "#/components/schemas/TariffsVatPrice"
},
"pricePerKWh": {
"$ref": "#/components/schemas/TariffsVatPrice"
},
"pricePerPeriod": {
"$ref": "#/components/schemas/TariffsSummaryPeriod"
},
"minPrice": {
"$ref": "#/components/schemas/TariffsVatPrice"
}
},
"additionalProperties": false
},
"TariffsModelApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "integer",
"nullable": true,
"example": 1
},
"ocpiId": {
"type": "string",
"description": "Id provided by OCPI if applicable",
"nullable": true,
"example": "ocpid id"
},
"name": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"TariffsParkingInput": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"format": "date-time"
},
"duration": {
"type": "string",
"example": "00:15:00"
}
},
"additionalProperties": false
},
"TariffsPriceComponentCalculatorOutput": {
"type": "object",
"properties": {
"dimensionType": {
"$ref": "#/components/schemas/TariffsDimensionType"
},
"amountExcludingVat": {
"type": "number",
"description": "",
"format": "double"
},
"amountIncludingVat": {
"type": "number",
"description": "",
"format": "double",
"nullable": true
},
"stepSize": {
"type": "integer",
"description": "When dimension is type Time StepSize is in seconds, when Energy in Wh",
"format": "int32"
},
"consumedSize": {
"type": "number",
"description": "Total consumed size",
"format": "double"
},
"elementId": {
"type": "string",
"description": "Element Id",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"additionalProperties": false,
"description": "Get information about the tariff price components consumption"
},
"TariffsReservationInput": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"format": "date-time"
},
"duration": {
"type": "string",
"example": "00:15:00"
},
"hasExpired": {
"type": "boolean"
}
},
"additionalProperties": false
},
"TariffsSummaryPeriod": {
"type": "object",
"properties": {
"period": {
"type": "string",
"example": "00:15:00"
},
"pricePerPeriod": {
"$ref": "#/components/schemas/TariffsVatPrice"
}
},
"additionalProperties": false
},
"TariffsVat": {
"type": "object",
"properties": {
"value": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false
},
"TariffsVatPrice": {
"type": "object",
"properties": {
"includingVat": {
"$ref": "#/components/schemas/Price"
},
"excludingVat": {
"$ref": "#/components/schemas/Price"
},
"vat": {
"$ref": "#/components/schemas/TariffsVat"
}
},
"additionalProperties": false
},
"UsersB2BCustomerApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"name": {
"type": "string",
"nullable": true
},
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UsersGroupApi"
},
"nullable": true
}
},
"additionalProperties": false
},
"UsersExternalGroupId": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"value": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"UsersGroupApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"name": {
"type": "string",
"nullable": true
},
"externalId": {
"$ref": "#/components/schemas/UsersExternalGroupId"
}
},
"additionalProperties": false
},
"UsersModelApi": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"nullable": true,
"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"externalId": {
"type": "string",
"nullable": true
},
"email": {
"type": "string",
"format": "email",
"nullable": true,
"example": "user@company.com"
},
"userName": {
"type": "string",
"nullable": true
},
"firstName": {
"type": "string",
"nullable": true
},
"middleName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"locale": {
"type": "string",
"nullable": true,
"example": "fr-FR"
},
"timeZone": {
"type": "string",
"nullable": true,
"example": "Europe/Berlin"
},
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UsersGroupApi"
},
"nullable": true
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"ApiKey": {
"type": "apiKey",
"description": "API key to access rest API.",
"name": "X-API-KEY",
"in": "header"
}
}
},
"security": [
{
"ApiKey": [ ]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment