Download OpenAPI specification:
Entry OpenAPI document for manager controllers exposed through the /v1 route group.
Authentication is done with the API key header:
X-API-KeySource layout note:
docs/openapi/common/management.yaml.Creates a new API key for the authenticated user.
| Role | string |
| ExpiresAt | string Go duration string |
{- "Role": "ROLE_USER",
- "ExpiresAt": "8760h0m0s"
}{- "ID": "123e4567-e89b-12d3-a456-426614174010",
- "Key": "jp_live_example_key",
- "Role": "ROLE_USER",
- "ExpiresAt": "2027-04-14T00:00:00Z"
}Creates an ID tag for the authenticated user.
| ID | string |
| Name | string |
| Type required | string |
| Status | string |
| ExpiryDate | string <date-time> |
{- "ID": "TAG001",
- "Name": "Reception Tag",
- "Type": "RFID",
- "Status": "Accepted"
}{- "ID": "TAG001",
- "Name": "Reception Tag",
- "Type": "RFID",
- "Status": "Accepted"
}Updates an existing ID tag by ID.
| id required | string ID tag identifier. |
| ID | string |
| Name | string |
| Type required | string |
| Status | string |
| ExpiryDate | string <date-time> |
{- "Name": "Updated Tag",
- "Type": "RFID",
- "Status": "Blocked"
}{- "ID": "TAG001",
- "Name": "Main ID Tag",
- "Type": "RFID",
- "Status": "Accepted",
- "ExpiryDate": "2019-08-24T14:15:22Z"
}Creates a billing model for the authenticated user.
| property name* additional property | any |
{- "Name": "Standard Plan",
- "DefaultKWHRate": 0.2,
- "DefaultTimeRate": 0.1
}{ }| modelId required | string <uuid> Billing model UUID. |
| property name* additional property | any |
{- "ID": "123e4567-e89b-12d3-a456-426614174020",
- "Name": "Updated Plan"
}{ }Returns charge boxes owned/visible to the authenticated user with optional filters.
| ID | string |
| UUID | string <uuid> |
| Name | string |
| UserID | string <uuid> |
| ChargePointVendor | string |
| ChargePointModel | string |
| ProtocolVersion | string |
| AddressID | string <uuid> |
[- {
- "ID": "CHARGEBOX001",
- "UUID": "123e4567-e89b-12d3-a456-426614174000",
- "Name": "Main Charger"
}
]Creates a charge box with a required billing model owned by the authenticated user.
| ID required | string |
| Name | string |
| BillingModelID required | string <uuid> Required billing model assigned to the charge box. Must identify an existing billing model owned by the authenticated user. |
{- "ID": "CHARGEBOX001",
- "Name": "Main Charger",
- "BillingModelID": "123e4567-e89b-12d3-a456-426614174003"
}{- "ID": "CHARGEBOX001",
- "UUID": "123e4567-e89b-12d3-a456-426614174000",
- "Name": "Main Charger",
- "UserID": "123e4567-e89b-12d3-a456-426614174099",
- "ChargePointVendor": "ACME",
- "ChargePointModel": "JPLUG-FAST",
- "ProtocolVersion": "OCPP 1.6",
- "Description": "Parking lot charger",
- "Timezone": "UTC",
- "BillingModelID": "123e4567-e89b-12d3-a456-426614174003"
}| chargeBoxIdOrName required | string Charge box ID or Name. |
{- "ID": "CHARGEBOX001",
- "UUID": "123e4567-e89b-12d3-a456-426614174000",
- "Name": "Main Charger",
- "UserID": "123e4567-e89b-12d3-a456-426614174099",
- "ChargePointVendor": "ACME",
- "ChargePointModel": "JPLUG-FAST",
- "ProtocolVersion": "OCPP 1.6",
- "Description": "Parking lot charger",
- "Timezone": "UTC",
- "BillingModelID": "123e4567-e89b-12d3-a456-426614174003"
}Updates a charge box. The resulting charge box must have a billing model owned by the authenticated user.
| chargeBoxIdOrName required | string Charge box ID or Name. |
| ID required | string |
| Name | string |
| Description | string |
| Timezone | string |
| BillingModelID | string <uuid> Billing model assigned to the charge box. Updates must leave the charge box with an existing billing model owned by the authenticated user. |
| AddressID | string <uuid> |
object | |
| MaxPower | number or null <double> Maximum charging power in watts. Set to null to disable the setting. |
{- "ID": "CHARGEBOX001",
- "Name": "Main Charger Updated",
- "Description": "Parking lot charger",
- "Timezone": "UTC",
- "BillingModelID": "123e4567-e89b-12d3-a456-426614174003"
}{- "ID": "string",
- "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
- "Name": "string",
- "UserID": "08aac8e3-775d-4513-8aaa-658f6ba9bbcd",
- "ChargePointVendor": "string",
- "ChargePointModel": "string",
- "ProtocolVersion": "string",
- "MaxPower": 0.1,
- "Description": "string",
- "Timezone": "string",
- "BillingModelID": "d8cf3116-a720-430b-bdfc-68ec490fe2ed",
- "AddressID": "bfc25713-e79a-4614-a229-6a83766a0388"
}| invoiceId required | string <uuid> Invoice UUID. |
{- "ID": "123e4567-e89b-12d3-a456-426614174060",
- "UserID": "123e4567-e89b-12d3-a456-426614174099",
- "Subtotal": 20,
- "Total": 22,
- "CurrencyCode": "CAD",
- "Metadata": {
- "charge_box_user_id": "123e4567-e89b-12d3-a456-426614174099"
}
}| Name required | string |
| Slug | string |
| Domain | string |
| Settings | string |
{- "Name": "Acme Charging",
- "Slug": "acme-charging",
- "Domain": "acme.example.com",
- "Settings": "{\"timezone\":\"UTC\"}"
}{- "ID": "123e4567-e89b-12d3-a456-426614174030",
- "Name": "Acme Charging",
- "Slug": "acme-charging",
- "Domain": "acme.example.com",
- "IsActive": true,
- "Settings": "{\"timezone\":\"UTC\"}",
- "CreatedAt": "2026-04-14T10:00:00Z",
- "UpdatedAt": "2026-04-14T10:00:00Z"
}| organizationId required | string <uuid> Organization UUID. |
{- "ID": "123e4567-e89b-12d3-a456-426614174030",
- "Name": "Acme Charging",
- "Slug": "acme-charging",
- "Domain": "acme.example.com",
- "IsActive": true,
- "Settings": "{\"timezone\":\"UTC\"}",
- "CreatedAt": "2026-04-14T10:00:00Z",
- "UpdatedAt": "2026-04-14T10:00:00Z"
}Returns themes belonging to organizations owned by the authenticated user.
| domain | string |
| is_active | boolean |
[- {
- "ID": "123e4567-e89b-12d3-a456-426614174040",
- "OrganizationID": "123e4567-e89b-12d3-a456-426614174030",
- "Domain": "app.example.com",
- "Name": "Example Theme",
- "IsActive": true
}
]Creates a theme for an organization owned by the authenticated user and generates its immutable hostname.
| OrganizationID required | string <uuid> Organization that will own the theme. The authenticated user must be an owner. |
| Name required | string |
| Description | string |
required | object (ThemeConfig) |
{- "OrganizationID": "123e4567-e89b-12d3-a456-426614174030",
- "Name": "Example Theme",
- "Description": "Theme for the Example charging network",
- "Config": {
- "themeKey": "default",
- "language": "en",
- "countryCallingCode": "CA +1",
- "email": "support@example.com",
- "logoAlt": "Example Charging",
- "title": "Charge with Example",
- "description": "Example charging network",
- "chargerNamePrefix": "EXAMPLE-",
- "og": {
- "title": "Example Charging",
- "description": "Example charging network",
}, - "designTokens": {
- "light": {
- "background": "#fff",
- "panel": "#f0f6ff",
- "foreground": "#18181b",
- "primary": "#19b5e5"
}, - "dark": {
- "background": "#101827",
- "panel": "#020817",
- "foreground": "#f4f8fb",
- "primary": "#19b5e5"
}
}
}
}{- "ID": "123e4567-e89b-12d3-a456-426614174040",
- "OrganizationID": "123e4567-e89b-12d3-a456-426614174030",
- "Domain": "spark-cyan-harbor.jplug.app",
- "Name": "Example Theme",
- "Description": "Theme for the Example charging network",
- "IsActive": true,
- "Config": {
- "themeKey": "default",
- "language": "en",
- "countryCallingCode": "CA +1",
- "email": "support@example.com",
- "logoAlt": "Example Charging",
- "title": "Charge with Example",
- "description": "Example charging network",
- "chargerNamePrefix": "EXAMPLE-",
- "og": {
- "title": "Example Charging",
- "description": "Example charging network",
}, - "designTokens": {
- "light": {
- "background": "#fff",
- "panel": "#f0f6ff",
- "foreground": "#18181b",
- "primary": "#19b5e5"
}, - "dark": {
- "background": "#101827",
- "panel": "#020817",
- "foreground": "#f4f8fb",
- "primary": "#19b5e5"
}
}
}, - "CreatedAt": "2026-04-14T10:10:00Z",
- "UpdatedAt": "2026-04-14T10:10:00Z"
}Returns a theme only when the authenticated user owns its organization.
| themeId required | string <uuid> Theme UUID. |
{- "ID": "123e4567-e89b-12d3-a456-426614174040",
- "OrganizationID": "123e4567-e89b-12d3-a456-426614174030",
- "Domain": "spark-cyan-harbor.jplug.app",
- "Name": "Example Theme",
- "Description": "Theme for the Example charging network",
- "IsActive": true,
- "Config": {
- "themeKey": "default",
- "language": "en",
- "countryCallingCode": "CA +1",
- "email": "support@example.com",
- "logoAlt": "Example Charging",
- "title": "Charge with Example",
- "description": "Example charging network",
- "chargerNamePrefix": "EXAMPLE-",
- "og": {
- "title": "Example Charging",
- "description": "Example charging network",
}, - "designTokens": {
- "light": {
- "background": "#fff",
- "panel": "#f0f6ff",
- "foreground": "#18181b",
- "primary": "#19b5e5"
}, - "dark": {
- "background": "#101827",
- "panel": "#020817",
- "foreground": "#f4f8fb",
- "primary": "#19b5e5"
}
}
}, - "CreatedAt": "2026-04-14T10:10:00Z",
- "UpdatedAt": "2026-04-14T10:10:00Z"
}Updates a theme only when the authenticated user owns its organization.
| themeId required | string <uuid> Theme UUID. |
| Name | string |
| Description | string |
| IsActive | boolean |
object (ThemeConfig) |
{- "Name": "Updated Theme",
- "IsActive": true,
- "Config": {
- "themeKey": "default",
- "language": "en",
- "countryCallingCode": "CA +1",
- "email": "support@example.com",
- "logoAlt": "Example Charging",
- "title": "Updated Theme",
- "description": "Updated charging network",
- "chargerNamePrefix": "EXAMPLE-",
- "og": {
- "title": "Updated Theme",
- "description": "Updated charging network",
}, - "designTokens": {
- "light": {
- "background": "#fff",
- "panel": "#f0f6ff",
- "foreground": "#18181b",
- "primary": "#e11d48"
}, - "dark": {
- "background": "#101827",
- "panel": "#020817",
- "foreground": "#f4f8fb",
- "primary": "#e11d48"
}
}
}
}{- "ID": "3892eb50-4697-4c72-aadc-32b766bce3c0",
- "OrganizationID": "2d34b1c1-8109-40c1-88f9-fdcfb32ea178",
- "Domain": "string",
- "Name": "string",
- "Description": "string",
- "IsActive": true,
- "Config": { },
- "CreatedAt": "2019-08-24T14:15:22Z",
- "UpdatedAt": "2019-08-24T14:15:22Z"
}Uploads the multipart file field as a PNG or JPEG, up to 2 MiB, to one of four supported slots on a theme owned by the authenticated user. Returns the public asset URL without updating the theme configuration.
| themeId required | string <uuid> |
| slot required | string Enum: "logo" "logo-dark" "favicon" "og-image" |
| file required | string <binary> <= 2097152 characters PNG or JPEG file no larger than 2 MiB. |
{
}Returns transactions with optional filters.
| ChargeBoxID | string |
| idTag | string <= 20 characters |
| ConnectorID | integer |
| TimestampStart | string <date-time> |
| TimestampStop | string <date-time> |
[- {
- "UUID": "123e4567-e89b-12d3-a456-426614174050",
- "ChargeBoxID": "CHARGEBOX001",
- "ConnectorID": 1,
- "IDTag": "TAG001"
}
]| ChargeBoxID required | string |
| ConnectorID | integer |
| IDTag required | string <= 20 characters |
{- "ChargeBoxID": "CHARGEBOX001",
- "ConnectorID": 1,
- "IDTag": "TAG001"
}{- "TransactionID": "123e4567-e89b-12d3-a456-426614174050"
}| transactionUUID required | string <uuid> Transaction UUID. |
{- "UUID": "123e4567-e89b-12d3-a456-426614174050",
- "ChargeBoxID": "CHARGEBOX001",
- "ConnectorID": 1,
- "IDTag": "TAG001",
- "TimestampStart": "2026-04-14T10:20:00Z",
- "TimestampStop": null,
- "MeterStart": 12345,
- "MeterStop": null
}