Set the tenant's OCPI publishing settings
put/v1/tenants/{tenant_id}/ocpi
Requires an API key
Replaces every setting: omitted fields return to their defaults. Takes effect on partners' next OCPI request, with no restart. publish needs a display_name; a tenant Ivora keeps private gets 409 ocpi_tenant_private. own_party requests your own party ID (issued by a national registry); it is used only after Ivora staff approve it, and until then locations publish under Ivora's shared party USIVR with your display_name as operator. USIVR itself is not an own_party, and a party Ivora approved for another tenant is 409 ocpi_party_in_use. Requires stations:write (not a viewer). Replays with the same Idempotency-Key return the original result.
Path parameters
- tenant_idintegerRequired
Headers
- idempotency-keystringRequired
Request body
- publishbooleanRequiredPublish this tenant's locations and tariffs over OCPI. Off by default; refused (409 ocpi_tenant_private) for a tenant Ivora keeps private.
- display_namestring | nullThe operator name partners show (Location operator and owner). Required to publish.1–100 characters
- websitestring | nullThe operator's https website, in Location operator and owner.Up to 255 characters · Pattern
^https://[^\s/@]+(/\S*)?$ - time_zonestring | nullIANA zone, such as America/Los_Angeles, for locations without one. Without either, a location is not published.Up to 64 characters · Pattern
^[A-Za-z_]+(/[A-Za-z0-9_+\-]+)+$ - connector_defaultsobject | nullConnector facts for connectors the charging core has none for; unset ones are a North American Level 2 J1772 cable, 240 V and 32 A.
Child attributes
- standardenum | nullOCPI 2.2.1 ConnectorType.One of
CHADEMO,CHAOJI,DOMESTIC_A,DOMESTIC_B,DOMESTIC_C,DOMESTIC_D,DOMESTIC_E,DOMESTIC_F,DOMESTIC_G,DOMESTIC_H,DOMESTIC_I,DOMESTIC_J,DOMESTIC_K,DOMESTIC_L,DOMESTIC_M,DOMESTIC_N,DOMESTIC_O,GBT_AC,GBT_DC,IEC_60309_2_single_16,IEC_60309_2_three_16,IEC_60309_2_three_32,IEC_60309_2_three_64,IEC_62196_T1,IEC_62196_T1_COMBO,IEC_62196_T2,IEC_62196_T2_COMBO,IEC_62196_T3A,IEC_62196_T3C,NEMA_10_30,NEMA_10_50,NEMA_14_30,NEMA_14_50,NEMA_5_20,NEMA_6_30,NEMA_6_50,PANTOGRAPH_BOTTOM_UP,PANTOGRAPH_TOP_DOWN,TESLA_R,TESLA_S - formatenum | nullOne of
CABLE,SOCKET - power_typeenum | nullOne of
AC_1_PHASE,AC_2_PHASE,AC_2_PHASE_SPLIT,AC_3_PHASE,DC - max_voltageinteger | nullVolts.Minimum 1 · Maximum 2000
- max_amperageinteger | nullAmperes.Minimum 1 · Maximum 2000
- excluded_location_idsarray of integerLocation IDs never published.
- own_partyobject | nullYour own OCPI party. Used only once Ivora staff approved it (own_party.status approved); until then, and with null, locations publish under Ivora's shared party US*IVR with your display_name as operator.
Child attributes
- country_codestringRequiredISO 3166 alpha-2 country of the registry that issued the party ID, such as US.Pattern
^[A-Z]{2}$ - party_idstringRequiredThe party ID the registry issued: 3 capital letters or digits.Pattern
^[A-Z0-9]{3}$
Returns · 200
- tenant_idintegerRequired
- publishbooleanRequiredThe tenant's choice.
- privatebooleanRequiredIvora keeps this tenant private: never published, whatever publish says.
- publishedbooleanRequiredWhether partners receive this tenant's locations and tariffs now: publish, not private, with a display_name. Only where this environment serves OCPI (versions_url not null).
- display_namestring | nullRequired
- websitestring | nullRequired
- time_zonestring | nullRequired
- connector_defaultsConnectorDefaultsRequired
Child attributes
- standardstringRequired
- formatstringRequired
- power_typestringRequired
- max_voltageintegerRequiredVolts.
- max_amperageintegerRequiredAmperes.
- excluded_location_idsarray of integerRequired
- own_partyobject | nullRequiredThe party the tenant requested, if any, and whether it is approved.
Child attributes
- country_codestringRequired
- party_idstringRequired
- statusenumRequiredapproved: Ivora staff approved this pair and locations publish under it. pending_approval: locations publish under USIVR until staff approve it. rejected: staff could not confirm you hold it (rejection_note says why); locations publish under USIVR.One of
approved,pending_approval,rejected - rejection_notestring | nullRequiredWhy Ivora staff rejected the pair, while status is rejected; else null.
- partyOcpiPartyRequired
Child attributes
- country_codestringRequired
- party_idstringRequired
- sharedbooleanRequiredtrue: Ivora's shared party US*IVR.
- versions_urlstring | nullRequiredThe OCPI versions endpoint partners call in this environment; null where it serves no OCPI.
- updated_bystring | nullRequiredWho last wrote these settings (user:, key: or staff); null for the defaults.
- updated_atstring | nullRequired
PUT /v1/tenants/{tenant_id}/ocpi
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/ocpi" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Idempotency-Key: order-2026-09-30-0001" \
-H "Content-Type: application/json" \
-d '{
"publish": false
}'Response · 200
{
"tenant_id": 1042,
"publish": false,
"private": false,
"published": false,
"display_name": "string",
"website": "string",
"time_zone": "America/Los_Angeles",
"connector_defaults": {
"standard": "string",
"format": "string",
"power_type": "string",
"max_voltage": 1,
"max_amperage": 1
},
"excluded_location_ids": [
1
],
"own_party": {
"country_code": "string",
"party_id": "party_0123456789abcdef",
"status": "approved",
"rejection_note": "string"
},
"party": {
"country_code": "string",
"party_id": "party_0123456789abcdef",
"shared": false
},
"versions_url": "https://app.example.com/return",
"updated_by": "string",
"updated_at": "2026-09-30T17:00:00Z"
}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.