> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spirii.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new Temporary EVSE Status

> 
This API enables you, the Charge Point Operator (CPO)—the owners of chargers and EVSE, data—to temporarily override the **displayed** status of an EVSE (Electric Vehicle Supply Equipment) in e-mobility apps, without affecting its underlying technical or operational state.

We refer to this as a **Temporary EVSE Status**. It is designed for scenarios where an EVSE should not be used by customers for a limited period, such as during maintenance, commissioning, reservation, or temporary blocking, but where the EVSE itself remains technically operational.

**Key Distinction: Technical vs. Displayed (POI) Status**

- **Technical EVSE Status**:  
  The actual operational state of the EVSE, as reported by the charger using protocols like OCPP (e.g., Available, Charging, Faulted). This status reflects the real-time condition and capabilities of the hardware.

- **POI (Point of Interest) EVSE Status**:  
  The status shown to end-users in apps and roaming platforms. This can be overridden by this API to communicate temporary unavailability or special conditions, regardless of the technical status.

**This API only affects the POI status.** Communication with the charger and its technical state (OCPP status) remain unchanged.

#### Intended Use Cases  
- **Maintenance**: Mark an EVSE as unavailable to users while it is being serviced, even if technically operational.  
- **Commissioning**: Indicate that an EVSE is being set up or tested and not yet open for public use.  
- **Blocking**: Temporarily prevent usage due to faults, safety concerns, or other operational reasons.  
- **Reservation**: Show that an EVSE is reserved for a specific user or time period.

#### Status Mapping Across Protocols

When a Temporary EVSE Status is set, it is mapped to the corresponding display status in Spirii's app and major roaming platforms as follows:

|  Temporary Status  | Spirii Go App | Hubject (Roaming) | OCPI (Roaming)  |  
|--------------------|---------------|-------------------|-----------------|
| Maintenance        | Unavailable   | Out of Service    | Inoperative     |  
| Commissioning      | Coming Soon   | Out of Service    | Planned         |  
| Blocked            | Blocked       | Occupied          | Blocked         |  
| Reserved           | Reserved      | Reserved          | Reserved        |

| Delay to eMSP Apps | Instant       | Max 1 minute      | Max 15 seconds  |

**Note:** External eMSP (e-mobility service provider) apps may not reflect status changes immediately, as their update intervals can vary.

Once you create a Temporary EVSE Status, you receive a unique resource ID. This ID allows you to update (PATCH) the status (e.g., change the type or adjust the validFrom/validTo dates) or delete it to revert the EVSE back to its technical status. In other words, this is a full CRUD resource for managing temporary display statuses.




## OpenAPI

````yaml /openapi/integration-api-v2/openapi.yaml post /v2/temporary-evse-statuses
openapi: 3.0.0
info:
  title: Spirii API
  description: Spirii API
  version: 2.10.0
  contact: {}
servers:
  - url: https://api.spirii.com
security: []
tags: []
paths:
  /v2/temporary-evse-statuses:
    post:
      tags:
        - Temporary EVSE Statuses v2
      summary: Create a new Temporary EVSE Status
      description: >

        This API enables you, the Charge Point Operator (CPO)—the owners of
        chargers and EVSE, data—to temporarily override the **displayed** status
        of an EVSE (Electric Vehicle Supply Equipment) in e-mobility apps,
        without affecting its underlying technical or operational state.


        We refer to this as a **Temporary EVSE Status**. It is designed for
        scenarios where an EVSE should not be used by customers for a limited
        period, such as during maintenance, commissioning, reservation, or
        temporary blocking, but where the EVSE itself remains technically
        operational.


        **Key Distinction: Technical vs. Displayed (POI) Status**


        - **Technical EVSE Status**:  
          The actual operational state of the EVSE, as reported by the charger using protocols like OCPP (e.g., Available, Charging, Faulted). This status reflects the real-time condition and capabilities of the hardware.

        - **POI (Point of Interest) EVSE Status**:  
          The status shown to end-users in apps and roaming platforms. This can be overridden by this API to communicate temporary unavailability or special conditions, regardless of the technical status.

        **This API only affects the POI status.** Communication with the charger
        and its technical state (OCPP status) remain unchanged.


        #### Intended Use Cases  

        - **Maintenance**: Mark an EVSE as unavailable to users while it is
        being serviced, even if technically operational.  

        - **Commissioning**: Indicate that an EVSE is being set up or tested and
        not yet open for public use.  

        - **Blocking**: Temporarily prevent usage due to faults, safety
        concerns, or other operational reasons.  

        - **Reservation**: Show that an EVSE is reserved for a specific user or
        time period.


        #### Status Mapping Across Protocols


        When a Temporary EVSE Status is set, it is mapped to the corresponding
        display status in Spirii's app and major roaming platforms as follows:


        |  Temporary Status  | Spirii Go App | Hubject (Roaming) | OCPI
        (Roaming)  |  

        |--------------------|---------------|-------------------|-----------------|

        | Maintenance        | Unavailable   | Out of Service    |
        Inoperative     |  

        | Commissioning      | Coming Soon   | Out of Service    |
        Planned         |  

        | Blocked            | Blocked       | Occupied          |
        Blocked         |  

        | Reserved           | Reserved      | Reserved          |
        Reserved        |


        | Delay to eMSP Apps | Instant       | Max 1 minute      | Max 15
        seconds  |


        **Note:** External eMSP (e-mobility service provider) apps may not
        reflect status changes immediately, as their update intervals can vary.


        Once you create a Temporary EVSE Status, you receive a unique resource
        ID. This ID allows you to update (PATCH) the status (e.g., change the
        type or adjust the validFrom/validTo dates) or delete it to revert the
        EVSE back to its technical status. In other words, this is a full CRUD
        resource for managing temporary display statuses.
      operationId: TemporaryEvseStatusController_create_v2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTemporaryEvseStatusDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemporaryEvseStatusResponseDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBadRequestDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUnauthorizedDto'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiForbiddendDto'
        '404':
          description: EVSE not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiNotFoundDto'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiInternalServerErrorDto'
        '503':
          description: Service unavailable
components:
  schemas:
    CreateTemporaryEvseStatusDto:
      type: object
      properties:
        evseId:
          type: string
          description: Reference to the EVSE ID
          example: DK*SPI*E123*1
        temporaryStatus:
          type: string
          description: |2-

                Temporary EVSE status property.
                
                Use Cases  
                - MAINTENANCE: Use this status when an EVSE is undergoing maintenance and should not be used by customers.  
                - COMMISSIONING: Use this status for EVSEs that are being set up or tested and are not yet ready for public use.  
                - BLOCKED: Use this status to temporarily prevent an EVSE from being used, for example, due to a fault or safety concern.  
                - RESERVED: Use this status to indicate that an EVSE is reserved for a specific user or time period.  
                
          enum:
            - MAINTENANCE
            - COMMISSIONING
            - BLOCKED
            - RESERVED
          example: MAINTENANCE
        validFrom:
          type: string
          description: >-
            Start date and time of the Temporary EVSE Status. If unset, the
            current date and time will be used.
          example: '2025-04-23T10:00:00Z'
        validTo:
          type: string
          description: >-
            End date and time of the Temporary EVSE Status. If unset, the
            temporary status will ramain until removed.
          example: '2025-04-23T18:00:00Z'
      required:
        - evseId
        - temporaryStatus
    TemporaryEvseStatusResponseDto:
      type: object
      properties:
        id:
          type: number
          description: The unique identifier for the Temporary EVSE Status
          example: 42
        temporaryStatus:
          type: string
          description: Status of the Temporary EVSE Status
          enum:
            - MAINTENANCE
            - COMMISSIONING
            - BLOCKED
            - RESERVED
          example: MAINTENANCE
        evseId:
          type: string
          description: The EVSE ID
          example: DK*SPI*E123*1
        validFrom:
          type: string
          description: The start date and time of the Temporary EVSE Status
          example: '2023-01-01T12:00:00Z'
        validTo:
          type: string
          description: The end date and time of the Temporary EVSE Status
          example: '2023-01-01T14:00:00Z'
      required:
        - id
        - temporaryStatus
        - evseId
    ApiBadRequestDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 400
        message:
          description: Validation error messages
          example:
            - validFrom cannot be greater than validTo
          type: array
          items:
            type: string
        error:
          type: string
          description: More detailed error description if available
          example: Bad Request
      required:
        - statusCode
        - message
    ApiUnauthorizedDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 401
        message:
          type: string
          description: Error message
          example: Unauthorized
        error:
          type: string
          description: More detailed error description if available
          example: Unauthorized
      required:
        - statusCode
        - message
    ApiForbiddendDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 403
        message:
          type: string
          description: Error message
          example: Forbidden
        error:
          type: string
          description: More detailed error description if available
          example: Forbidden
      required:
        - statusCode
        - message
    ApiNotFoundDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 404
        message:
          type: string
          description: Error message
          example: Not Found
        error:
          type: string
          description: More detailed error description if available
          example: Not Found
      required:
        - statusCode
        - message
    ApiInternalServerErrorDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 500
        message:
          type: string
          description: Error message
          example: Internal Server Error
        error:
          type: string
          description: More detailed error description if available
          example: Internal Server Error
      required:
        - statusCode
        - message

````