Created
June 13, 2024 12:12
-
-
Save michael-donat/ef7ecba266e22d8e7f1ad43afffd5e7b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| openapi: "3.0.3" | |
| info: | |
| title: "CSME Service Documentation - OpenAPI 3.0" | |
| description: "This is a CSME Service Documentation based on the OpenAPI 3.0 specification." | |
| version: "0.0.1" | |
| servers: | |
| - url: "https://csme.road.io" | |
| paths: | |
| "/1/messages": | |
| post: | |
| summary: "Send message to the paired CS." | |
| description: "Send message to the paired CS (CSMEC initiated)." | |
| security: | |
| - JWT: [] | |
| tags: | |
| - Generic | |
| requestBody: | |
| description: "Messages Payload" | |
| required: true | |
| content: | |
| "application/json": | |
| schema: | |
| description: "List of the messages" | |
| type: object | |
| properties: | |
| "messages": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "pairingId": | |
| type: string | |
| "protocol": | |
| type: string | |
| "type": | |
| type: string | |
| "payload": | |
| type: array | |
| items: | |
| type: integer | |
| responses: | |
| 200: | |
| description: OK | |
| content: | |
| "application/json": | |
| schema: | |
| description: "List of the messages responses" | |
| type: object | |
| properties: | |
| "messages": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "success": | |
| type: boolean | |
| "error": | |
| type: object | |
| properties: | |
| "code": | |
| type: string | |
| "message": | |
| type: string | |
| 400: | |
| $ref: "#/components/responses/BadRequest" | |
| 500: | |
| $ref: "#/components/responses/InternalServerError" | |
| "/1/pairings": | |
| post: | |
| summary: "Create pairing." | |
| description: "Create pairing between CSMEC and CSMES (CSMEC initiated)." | |
| security: | |
| - JWT: [] | |
| tags: | |
| - Generic | |
| responses: | |
| 200: | |
| description: OK | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| "/1/pairings/{pairing_id}": | |
| delete: | |
| summary: "Remote pairing." | |
| description: "Remote pairing between CSMEC and CSMES (CSMEC initiated)." | |
| security: | |
| - JWT: [] | |
| tags: | |
| - Generic | |
| parameters: | |
| - name: "pairing_id" | |
| description: "Pairing ID" | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| responses: | |
| 202: | |
| $ref: "#/components/responses/NoContent" | |
| 400: | |
| $ref: "#/components/responses/BadRequest" | |
| 403: | |
| $ref: "#/components/responses/Forbidden" | |
| 404: | |
| $ref: "#/components/responses/NotFound" | |
| 500: | |
| $ref: "#/components/responses/InternalServerError" | |
| components: | |
| schemas: | |
| "OCPPVersion": | |
| description: "OCPP Protocol Version" | |
| type: string | |
| enum: | |
| - | |
| ocpp1.6 | |
| - | |
| ocpp2.0.1 | |
| "SetChargingProfileRequest16": | |
| type: object | |
| properties: | |
| "connectorId": | |
| type: integer | |
| "csChargingProfiles": | |
| type: object | |
| properties: | |
| "chargingProfileId": | |
| type: integer | |
| "chargingProfileKind": | |
| type: string | |
| "chargingProfilePurpose": | |
| type: string | |
| "chargingSchedule": | |
| type: object | |
| properties: | |
| "chargingRateUnit": | |
| type: string | |
| "chargingSchedulePeriod": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "limit": | |
| type: number | |
| format: double | |
| "numberPhases": | |
| type: integer | |
| "startPeriod": | |
| type: integer | |
| "duration": | |
| type: integer | |
| "minChargingRate": | |
| type: number | |
| format: double | |
| "startSchedule": | |
| type: string | |
| format: date-time | |
| "recurrencyKind": | |
| type: string | |
| "stackLevel": | |
| type: integer | |
| "transactionId": | |
| type: integer | |
| "validFrom": | |
| type: string | |
| format: date-time | |
| "validTo": | |
| type: string | |
| format: date-time | |
| "SetChargingProfileRequest201": | |
| type: object | |
| properties: | |
| "chargingProfile": | |
| type: object | |
| properties: | |
| "chargingProfileKind": | |
| type: string | |
| "chargingProfilePurpose": | |
| type: string | |
| "chargingSchedule": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "absolutePriceSchedule": | |
| type: object | |
| properties: | |
| "additionalSelectedServices": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "serviceFee": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "serviceName": | |
| type: string | |
| "currency": | |
| type: string | |
| "language": | |
| type: string | |
| "maximumCost": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "minimumCost": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "overstayRules": | |
| type: object | |
| properties: | |
| "overstayPowerThreshold": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "overstayRule": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "overstayFee": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "overstayFeePeriod": | |
| type: integer | |
| "overstayRuleDesription": | |
| type: string | |
| "startTime": | |
| type: integer | |
| "overstayTimeThreshold": | |
| type: integer | |
| "priceAlgorithm": | |
| type: string | |
| "priceRuleStacks": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "duration": | |
| type: integer | |
| "priceRule": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "carbonDioxideEmission": | |
| type: integer | |
| "energyFee": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "parkingFee": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "parkingFeePeriod": | |
| type: integer | |
| "powerRangeStart": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "renewableGenerationPercentage": | |
| type: number | |
| format: double | |
| "priceScheduleDescription": | |
| type: string | |
| "priceScheduleID": | |
| type: number | |
| format: double | |
| "taxRules": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "appliesToEnergyFee": | |
| type: boolean | |
| "appliesToMinimumMaximumCost": | |
| type: boolean | |
| "appliesToOverstayFee": | |
| type: boolean | |
| "appliesToParkingFee": | |
| type: boolean | |
| "taxIncludedInPrice": | |
| type: boolean | |
| "taxRate": | |
| type: object | |
| properties: | |
| "exponent": | |
| type: integer | |
| "value": | |
| type: integer | |
| "taxRuleID": | |
| type: number | |
| format: double | |
| "taxRuleName": | |
| type: string | |
| "timeAnchor": | |
| type: string | |
| format: date-time | |
| "chargingRateUnit": | |
| type: string | |
| "chargingSchedulePeriod": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "dischargeLimit": | |
| type: number | |
| format: double | |
| "dischargeLimit_L2": | |
| type: number | |
| format: double | |
| "dischargeLimit_L3": | |
| type: number | |
| format: double | |
| "dynUpdateTime": | |
| type: string | |
| format: date-time | |
| "limit": | |
| type: number | |
| format: double | |
| "limit_L2": | |
| type: number | |
| format: double | |
| "limit_L3": | |
| type: number | |
| format: double | |
| "numberPhases": | |
| type: integer | |
| "operationMode": | |
| type: string | |
| "phaseToUse": | |
| type: integer | |
| "preconditioningRequest": | |
| type: boolean | |
| "setpoint": | |
| type: number | |
| format: double | |
| "setpointReactive": | |
| type: number | |
| format: double | |
| "setpointReactive_L2": | |
| type: number | |
| format: double | |
| "setpointReactive_L3": | |
| type: number | |
| format: double | |
| "setpoint_L2": | |
| type: number | |
| format: double | |
| "setpoint_L3": | |
| type: number | |
| format: double | |
| "startPeriod": | |
| type: integer | |
| "v2xFreqWattCurve": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "frequency": | |
| type: number | |
| format: double | |
| "power": | |
| type: number | |
| format: double | |
| "v2xVoltVarCurve": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "reactivePower": | |
| type: number | |
| format: double | |
| "voltage": | |
| type: number | |
| format: double | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "digestValue": | |
| type: string | |
| "duration": | |
| type: integer | |
| "id": | |
| type: integer | |
| "minChargingRate": | |
| type: number | |
| format: double | |
| "powerTolerance": | |
| type: number | |
| format: double | |
| "priceLevelSchedule": | |
| type: object | |
| properties: | |
| "numberOfPriceLevels": | |
| type: integer | |
| "priceLevelScheduleEntries": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "duration": | |
| type: integer | |
| "priceLevel": | |
| type: integer | |
| "priceScheduleDescription": | |
| type: string | |
| "priceScheduleID": | |
| type: number | |
| format: double | |
| "timeAnchor": | |
| type: string | |
| format: date-time | |
| "salesTariff": | |
| type: object | |
| properties: | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "id": | |
| type: integer | |
| "numEPriceLevels": | |
| type: integer | |
| "salesTariffDescription": | |
| type: string | |
| "salesTariffEntry": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "consumptionCost": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "cost": | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| "amount": | |
| type: integer | |
| "amountMultiplier": | |
| type: integer | |
| "costKind": | |
| type: string | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "startValue": | |
| type: number | |
| format: double | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "ePriceLevel": | |
| type: integer | |
| "relativeTimeInterval": | |
| type: object | |
| properties: | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "duration": | |
| type: integer | |
| "start": | |
| type: integer | |
| "signatureId": | |
| type: integer | |
| "startSchedule": | |
| type: string | |
| format: date-time | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "id": | |
| type: integer | |
| "maxOfflineDuration": | |
| type: integer | |
| "recurrencyKind": | |
| type: string | |
| "signatureValue": | |
| type: string | |
| "stackLevel": | |
| type: integer | |
| "transactionId": | |
| type: string | |
| "updateInterval": | |
| type: integer | |
| "validFrom": | |
| type: string | |
| format: date-time | |
| "validTo": | |
| type: string | |
| format: date-time | |
| "customData": | |
| type: object | |
| properties: | |
| "vendorId": | |
| type: string | |
| "evseId": | |
| type: integer | |
| responses: | |
| InternalServerError: | |
| description: "Internal Server Error Response" | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| properties: | |
| "error": | |
| type: string | |
| example: "internal server error" | |
| Forbidden: | |
| description: "Forbidden Error Response" | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| properties: | |
| "error": | |
| type: string | |
| example: "access denied" | |
| NotFound: | |
| description: "Resource Not Found Response" | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| properties: | |
| "error": | |
| type: string | |
| example: "resource not found" | |
| ServiceUnavailable: | |
| description: "Service Unavailable Response" | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| properties: | |
| "error": | |
| type: string | |
| example: "charging station unavailable or offline" | |
| NoContent: | |
| description: "Operation Accepted" | |
| BadRequest: | |
| description: "Bad Request Response" | |
| content: | |
| "application/json": | |
| schema: | |
| type: object | |
| properties: | |
| "error": | |
| type: string | |
| example: "invalid UUID" | |
| securitySchemes: | |
| JWT: | |
| description: "CSME Client Key" | |
| type: http | |
| scheme: bearer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment