Skip to main content
This guide walks you through the minimum steps to go from zero to a working API call against the Dynamo CSMS platform. By the end you will have an API key, a verified request, and a clear path to exploring the full API surface.
This guide is for CPO developers building dashboards, mobile apps, or backend integrations. If you are a field installer commissioning hardware, follow the Installer quickstart instead.

Prerequisites

  • A browser and a terminal with curl installed.
  • Optional: an API client such as Postman or Insomnia if you prefer a GUI over the command line.
1

Register in the Developer Portal

Open the Dynamo CSMS Developer Portal and create an account.During registration you will:
  1. Provide your name and email address.
  2. Create an organisation — this is the top-level container for your charge points, API keys, and billing data.
  3. Verify your email address.
Once your organisation is active, you land on the organisation dashboard. All API keys and team members are managed from here.
2

Generate an API key

In the Developer Portal, navigate to Settings → API Keys and click Create API key.You can also create a key programmatically once you have an initial key:
curl -X POST https://api.dynamo-csms.com/api/v1/org/api-keys \
  -H "Authorization: Bearer YOUR_EXISTING_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "production-dashboard",
    "scopes": ["read:charge_points", "write:charge_points", "read:sessions"]
  }'
The response contains the key value. Copy it immediately — it is only shown once.
{
  "id": "key_01hx2b3c4d5e6f7g8h9j",
  "name": "production-dashboard",
  "key": "dyn_live_abc123xyz789...",
  "scopes": ["read:charge_points", "write:charge_points", "read:sessions"],
  "created_at": "2026-05-01T09:00:00Z"
}
Store your API key in a secrets manager or environment variable. Never commit it to source control or include it in client-side code.
3

Make your first request

Call the fleet summary endpoint to verify your key and see an overview of your charge point fleet.
curl -X GET https://api.dynamo-csms.com/api/v1/cpo/fleet/summary \
  -H "Authorization: Bearer YOUR_API_KEY"
A successful response looks like this:
{
  "organisation_id": "org_01hx2b3c4d",
  "total_charge_points": 42,
  "online": 38,
  "offline": 3,
  "faulted": 1,
  "active_sessions": 12,
  "energy_delivered_today_kwh": 847.3,
  "revenue_today_eur": 423.65
}
If you receive a 401 Unauthorized response, double-check that you are passing the Authorization header and that the key has not been revoked. See Authentication for full details on error codes.
4

Fetch a specific charge point status

Once you have a charge point ID — either from a registration step or from listing your fleet — you can query its real-time status:
curl -X GET https://api.dynamo-csms.com/api/v1/chargepoints/cp_01hx2b3c4d5e6f/status \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "charge_point_id": "cp_01hx2b3c4d5e6f",
  "ocpp_status": "Available",
  "connectors": [
    {
      "connector_id": 1,
      "status": "Available",
      "type": "CCS2",
      "max_power_kw": 50
    },
    {
      "connector_id": 2,
      "status": "Charging",
      "type": "Type2",
      "max_power_kw": 22,
      "active_session_id": "sess_9f8e7d6c"
    }
  ],
  "last_heartbeat_at": "2026-05-01T09:14:32Z",
  "firmware_version": "2.1.4"
}
5

Explore the full API

You now have a working API key and have made your first calls. The next steps depend on what you’re building:

Manage billing and tariffs

Set up pricing rules, promotional codes, and session billing.

Set up webhooks

Receive real-time events for status changes, sessions, and alerts.

Smart charging

Configure load limits and automatic capacity distribution.

API reference

Browse every endpoint with request/response schemas and a live playground.

List your existing API keys

At any time you can list all API keys in your organisation:
curl -X GET https://api.dynamo-csms.com/api/v1/org/api-keys \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "keys": [
    {
      "id": "key_01hx2b3c4d5e6f7g8h9j",
      "name": "production-dashboard",
      "scopes": ["read:charge_points", "write:charge_points", "read:sessions"],
      "last_used_at": "2026-05-01T09:14:05Z",
      "created_at": "2026-05-01T09:00:00Z"
    }
  ]
}
Create separate API keys for each application or environment (development, staging, production). This lets you revoke a single key without affecting other integrations.