Create a project in a team
post/v1/teams/{team_id}/projects
Requires an API key
The team's owners and admins (projects:manage) and Ivora administrators. A project is a new charging tenant of the team: owners and admins reach it at once, project-limited members once a manager adds it to their projects. The team's payment method, discount and grace period cover it. A team holds at most 50 projects (409 project_limit). Replays with the same Idempotency-Key return the same project.
Path parameters
- team_idstringRequiredPattern
^team_[0-9a-f]{32}$
Headers
- idempotency-keystringRequired
Request body
- namestringRequiredThe project's name, as the dashboard and the charging core show it.1–200 characters
Returns · 201
- idintegerRequiredThe project's tenant ID, used in /v1/tenants/{tenant_id} routes.
- namestring | nullRequired
- team_idstring | nullRequiredThe team (billing team) the project belongs to; null before its first billing change.
- team_namestring | null
- charger_urlsbooleanAlways false: per-project charger URLs are not available in production.Default
false - connection_base_urlstring | nullAlways null: a project has no charger URL of its own, since per-project charger URLs are not available in production.
POST /v1/teams/{team_id}/projects
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/teams/team_0123456789abcdef0123456789abcdef/projects" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Idempotency-Key: order-2026-09-30-0001" \
-H "Content-Type: application/json" \
-d '{
"name": "bay-01"
}'Response · 201
{
"id": 1,
"name": "bay-01",
"team_id": "team_0123456789abcdef",
"team_name": "string",
"charger_urls": false,
"connection_base_url": "https://app.example.com/return"
}Try it is not available here yetRequests from this page are off until the production API at
https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.