ShellRecharge OCPI API

Open Charge Point Interface (OCPI 2.2.1) API for charge point operators, organized around REST and GraphQL. Exposes the Credentials & Registration, Locations, Sessions, Tariffs, Tokens, and CDR (Charge Detail Record) modules for modernizing and roaming EV charging infrastructure.

OpenAPI Specification

shellrecharge-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: ShellRecharge EV Platform API
  description: >-
    Partner-facing EV charging APIs for the ShellRecharge (formerly NewMotion)
    network, published through the Shell Developer Portal. This document models
    the publicly documented endpoints of the EV Public Locations API and the EV
    Public Charge Sessions API. ShellRecharge also exposes an OCPI 2.2.1 API
    (Credentials, Locations, Sessions, Tariffs, Tokens, CDRs) over REST and
    GraphQL; the OCPI surface follows the public OCPI 2.2.1 specification at
    https://evroaming.org and is referenced but not exhaustively reproduced
    here. All endpoints are partner-gated and secured with OAuth 2.0 client
    credentials; production access requires registration and approval on the
    Shell Developer Portal. Only documented paths are included - no endpoints
    are fabricated.
  termsOfService: https://developer.shell.com
  contact:
    name: Shell Developer Portal
    url: https://developer.shell.com
  version: '2.0'
servers:
  - url: https://api.shell.com
    description: Production (partner-gated; access via Shell Developer Portal)
  - url: https://api-test.shell.com
    description: Test environment
paths:
  /ev/v2/locations:
    get:
      operationId: listLocations
      tags:
        - Locations
      summary: Get the list of all public Shell Recharge locations and their details.
      description: >-
        Returns all public Shell Recharge EV charging locations, including
        locations reachable through roaming partners, with EVSE status,
        connector types, electrical specifications, opening hours, and tariff
        metadata.
      parameters:
        - name: RequestId
          in: header
          required: true
          description: UUID-formatted unique request identifier.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: A list of charging locations.
  /ev/v2/locations/{uid}:
    get:
      operationId: getLocation
      tags:
        - Locations
      summary: Get the details of a specific location by its unique identifier.
      parameters:
        - name: uid
          in: path
          required: true
          description: Unique identifier of the location.
          schema:
            type: string
        - name: RequestId
          in: header
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Location details.
  /ev/v2/locations/nearby:
    get:
      operationId: getNearbyLocations
      tags:
        - Locations
      summary: Get the list of locations near a latitude and longitude.
      parameters:
        - name: latitude
          in: query
          required: true
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          required: true
          schema:
            type: number
            format: double
        - name: RequestId
          in: header
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Nearby locations.
  /ev/v2/locations/markers:
    get:
      operationId: getLocationMarkers
      tags:
        - Locations
      summary: Get the list of location markers for a set of map bounds and zoom level.
      parameters:
        - name: RequestId
          in: header
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Location markers for the requested bounds.
  /mobility-ev-api/v1/api/charge-sessions/start:
    post:
      operationId: startChargeSession
      tags:
        - Sessions
      summary: Start a charging session.
      description: >-
        Starts a charging session on an EVSE by supplying an EV charge card
        number and the unique EVSE ID of the connector at the location.
      responses:
        '200':
          description: The started charging session.
  /mobility-ev-api/v1/api/charge-sessions/retrieve/{sessionId}:
    get:
      operationId: retrieveChargeSession
      tags:
        - Sessions
      summary: Retrieve the current status and details of a charging session.
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Charging session status and details.
  /mobility-ev-api/v1/api/charge-sessions/stop/{sessionId}:
    post:
      operationId: stopChargeSession
      tags:
        - Sessions
      summary: Stop an active charging session.
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The stopped charging session.
  /mobility-ev-api/v1/api/charge-sessions/active:
    get:
      operationId: listActiveChargeSessions
      tags:
        - Sessions
      summary: Retrieve the list of active charging sessions for a user.
      description: >-
        Returns the active charging sessions for a given set of EMAIds
        (EMobility Account Identifiers).
      responses:
        '200':
          description: A list of active charging sessions.
components:
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      description: >-
        OAuth 2.0 client credentials grant. A bearer access token is obtained
        from the Shell SSO token endpoint and sent in the Authorization header;
        a separate API client id/secret pair is also required on functional
        requests.
      flows:
        clientCredentials:
          tokenUrl: https://api.shell.com/v1/oauth/token
          scopes: {}
security:
  - OAuth2ClientCredentials: []