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:
| API | For | What it exposes |
|---|---|---|
| CPMS Public API | Charge Point Operators (CPO) | Charging infrastructure (pools, stations, points, connectors), remote commands over OCPP, sessions, CDRs, tariffs, tokens, roaming partners, webhooks, IAM |
| EMSP Public API | e-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/jsonwith 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
| Status | Meaning |
|---|---|
200 / 201 / 204 | Success |
202 | Accepted. The operation continues in the background. |
400 | Validation failed or a business rule was violated |
401 | Missing, invalid or expired API key |
403 | Key is valid but lacks access to this endpoint |
404 | Resource not found |
409 / 422 | Request is valid but cannot be processed in the current state |
5xx | Unexpected server or upstream error. Retry with backoff. |
Next steps
Each API has its own section in this portal. Start with these guides:
- Authorization: how to obtain, send and rotate keys, and what a key can access.
- Conventions: pagination, filtering, dates and the error model in detail.
- Usage guides: flows for sessions, CDRs and the other resources you integrate with.
- 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-Idresponse header (andocppMessageIdfor commands)
Never include your API key in a support request.
Updated 15 days ago