Welcome to Solidstudio Public APIs

Build integrations on top of the Solidstudio e-mobility platform using our REST APIs.

Solidstudio provides two main Public APIs, one for each side of the EV charging market:

APIForWhat it exposes
CPMS Public APICharge Point Operators (CPO)Charging infrastructure (pools, stations, points, connectors), remote commands over OCPP, sessions, CDRs, tariffs, tokens, roaming partners, webhooks, IAM
EMSP Public APIe-Mobility Service Providers (EMSP)The driver-service back office: sessions and CDRs, payments and settlement, customers and tokens, the roaming charging network, tariffs and coupons, bulk operations

Both APIs are built for host-to-host integration between your backend and the Solidstudio platform. Typical uses: ERP and accounting sync, billing, customer care tooling, reporting, fleet management and network monitoring.

How the two platforms fit together

flowchart LR
    subgraph CPO side
        CS[Charging stations] <-->|OCPP| CPMS[Solidstudio CPMS]
    end
    subgraph EMSP side
        EMSP[Solidstudio EMSP] <--> APP[Driver apps]
    end
    CPMS <-->|OCPI / roaming| EMSP
    INT1[Your backend] -->|CPMS Public API| CPMS
    INT2[Your backend] -->|EMSP Public API| EMSP
  • The CPMS owns the physical network. It talks to charging stations over OCPP and publishes locations, tariffs, sessions and CDRs to roaming partners.
  • The EMSP serves drivers. It sees charging networks through roaming, starts and stops sessions for its customers, receives CDRs, and charges the customers.

Which API do I need?

  • You operate charging stations. Use the CPMS Public API. Use it to manage infrastructure, send remote commands, follow sessions and CDRs on your network, and configure tariffs and roaming.
  • You run a charging service for drivers. Use the EMSP Public API. Use it to manage customers and their tokens, follow their sessions and CDRs, manage payments, tariffs and coupons, and see the charging network your drivers can use.
  • You run both. Use both. They are separate APIs, with separate hosts, keys and conventions. Data moves between the two platforms through roaming, not through the Public APIs.

Shared principles

  • REST over HTTPS, JSON in and out. Send Content-Type: application/json with request bodies.
  • API keys. Every request carries an API key. Use one key per integration so you can rotate and revoke keys independently. Never embed a key in a mobile app, browser code or a public repository.
  • Versioning in the path. A new version of a resource gets a new path prefix. Older versions keep working until they are retired. New integrations should use the highest available version.
  • Paginated lists. List endpoints return results in pages. Iterate until you reach the last page.
  • Asynchronous operations. Remote commands, bulk operations and exports return right away. The result arrives later. Poll the status endpoint (or use a webhook, where available) instead of assuming the operation has completed.

Quick start

CPMS: list the latest charging sessions on your network:

curl -s \
  -H "x-api-key: $CPMS_API_KEY" \
  "https://<cpms-host>/api/v1/sessions?page=1&limit=10"

EMSP: list the latest charging sessions of your drivers:

curl -s \
  -H "Authorization: $EMSP_API_KEY" \
  "https://<emsp-host>/backoffice/sessions?page=1&size=10"

A 401 response means the key is missing or invalid. A 403 means the key is valid but not allowed to call that endpoint.

Common HTTP status codes

StatusMeaning
200 / 201 / 204Success
202Accepted. The operation continues in the background.
400Validation failed or a business rule was violated
401Missing, invalid or expired API key
403Key is valid but lacks access to this endpoint
404Resource not found
409 / 422Request is valid but cannot be processed in the current state
5xxUnexpected server or upstream error. Retry with backoff.

Next steps

Each API has its own section in this portal. Start with these guides:

  1. Authorization: how to obtain, send and rotate keys, and what a key can access.
  2. Conventions: pagination, filtering, dates and the error model in detail.
  3. Usage guides: flows for sessions, CDRs and the other resources you integrate with.
  4. API Reference: every endpoint, field and enum.

Getting help

When you contact Solidstudio support, include:

  • which API you called (CPMS or EMSP) and its host
  • the HTTP method, path, and the time of the request (UTC)
  • the response status and body
  • for CPMS, the X-Correlation-Id response header (and ocppMessageId for commands)

Never include your API key in a support request.


Did this page help you?