Log inTalk to us

Read the team's self-serve CSMS trial status

get/v1/teams/{team_id}/self-serve
Requires an API key

Any member of the team, and Ivora staff: whether the team may enable CSMS access itself (a usable card on file), its place in the trial or on the waitlist, its charger cap and usage, and the features that wait for Ivora's review.

Path parameters

  • team_idstringRequired
    Pattern ^team_[0-9a-f]{32}$

Returns · 200

  • team_idstringRequired
  • trial_enabledbooleanRequired
    Whether new teams may enable CSMS access themselves here now. Teams already in the trial keep their limits either way.
  • stateenum | nullRequired
    active: CSMS access is on, with the charger cap, review-gated features and rate limits. waitlisted: the trial is full; the team waits in order (waitlist_position). reviewed: Ivora reviewed the team and lifted the cap and gates. suspended: Ivora turned its CSMS access off. null: the team never enrolled.
    One of active, waitlisted, reviewed, suspended
  • csms_enabledbooleanRequired
  • enabled_viaenum | nullRequired
    One of staff, inherited, self_serve
  • card_okbooleanRequired
    Whether the team has a usable card on file (billing status active: not expired, nothing overdue, not suspended).
  • billing_statusstringRequired
    The team's usage-fee status, as the billing profile's status.
  • waitlist_positioninteger | nullRequired
    1 for the next team to join, while waitlisted.
  • charger_capinteger | nullRequired
    Stations the team may have across its projects until Ivora reviews it; null when not capped.
  • chargersinteger | nullRequired
    Stations the team has now (counted up to one past the cap), while capped; null otherwise or when the charging core could not be read.
  • review_gatedarray of stringRequired
    Features that wait for Ivora's review while the team is capped: ocpi_publish, ocpp_domain, payment_domain, qr_domain, enterprise_invoicing, migration.
  • review_requested_atstring | nullRequired
  • requested_atstring | nullRequired
  • enabled_atstring | nullRequired
  • reviewed_atstring | nullRequired
  • suspended_atstring | nullRequired
  • team_limitintegerRequired
    Teams the trial takes; later ones are waitlisted.
  • slots_usedintegerRequired
    Teams that took a place in the trial so far (active, reviewed and suspended).
GET /v1/teams/{team_id}/self-serve
curl --fail-with-body "https://api.ivoracharge.com/v1/teams/team_0123456789abcdef0123456789abcdef/self-serve" \
  -H "Authorization: Bearer $IVORA_API_KEY"
Response · 200JSON
{
  "team_id": "team_0123456789abcdef",
  "trial_enabled": false,
  "state": "active",
  "csms_enabled": false,
  "enabled_via": "staff",
  "card_ok": false,
  "billing_status": "string",
  "waitlist_position": 1,
  "charger_cap": 1,
  "chargers": 1,
  "review_gated": [
    "string"
  ],
  "review_requested_at": "2026-09-30T17:00:00Z",
  "requested_at": "2026-09-30T17:00:00Z",
  "enabled_at": "2026-09-30T17:00:00Z",
  "reviewed_at": "2026-09-30T17:00:00Z",
  "suspended_at": "2026-09-30T17:00:00Z",
  "team_limit": 1,
  "slots_used": 1
}
Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com

Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.