openapi: 3.2.0 info: title: Monitoring EV Charger Control API version: v4 servers: - url: https://api-qa2.enphaseenergy.com tags: - name: EV Charger Control paths: /api/v4/systems/{system_id}/ev_charger/{serial_no}/start_charging: post: tags: - EV Charger Control summary: Start charging. Illustrative only - access via VPP api for partners description: API to send start charging command to the EV Charger operationId: startCharging parameters: - name: system_id in: path description: The unique numeric ID of the system required: true x-example: 701052773 schema: type: integer format: int32 - name: serial_no in: path description: Serial Number of the EV Charger required: true x-example: 202312100006 schema: type: string responses: '202': description: Request accepted content: application/octet-stream: schema: $ref: '#/components/schemas/DefaultCommandResponse' '400': description: Possible Bad request reasons content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Bad request code: '400' details: - Invalid system_id or serial_no - Connector Id must be greater than 0 - Charging level should be in the range [0-100] '401': description: Unauthorised content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Not Authorized code: '401' details: User is not authorized '403': description: Forbidden content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Forbidden code: '403' details: Not authorized to access this resource '405': description: Method Not Allowed content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponseArray' '500': description: Internal Server Error content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Internal Server Error code: '500' details: Internal Server Error requestBody: content: application/json: schema: $ref: '#/components/schemas/StartChargingRequestBody' /api/v4/systems/{system_id}/ev_charger/{serial_no}/stop_charging: post: tags: - EV Charger Control summary: Stop charging. Illustrative only - access via VPP api for partners description: API to send stop charging command to the EV Charger operationId: stopCharging parameters: - name: system_id in: path description: The unique numeric ID of the system required: true x-example: 701052773 schema: type: integer format: int32 - name: serial_no in: path description: Serial Number of the EV Charger required: true x-example: 202312100006 schema: type: string responses: '202': description: Request accepted content: application/octet-stream: schema: $ref: '#/components/schemas/DefaultCommandResponse' '400': description: Invalid system_id or serial_no content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Bad request code: '400' details: Invalid system_id or serial_no '401': description: Unauthorised content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Not Authorized code: '401' details: User is not authorized '403': description: Forbidden content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Forbidden code: '403' details: Not authorized to access this resource '405': description: Method Not Allowed content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponseArray' '500': description: Internal Server Error content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorResponse' example: message: Internal Server Error code: '500' details: Internal Server Error components: schemas: StartChargingRequestBody: type: object properties: connectorId: type: string description: connector id. It Should be a positive integer. example: '1' chargingLevel: maximum: 100 minimum: 0 type: string description: Charging current level. It Should be an integer in [0-100]. example: '40' DefaultCommandResponse: type: object properties: message: type: string description: Success message example: Request sent successfully ErrorResponseArray: required: - message - reason type: object properties: message: type: array description: message example: - Method not allowed items: type: string description: message example: '["Method not allowed"]' reason: type: string description: statusCode example: '405' ErrorResponse: type: object properties: message: type: string code: type: string details: type: string