Alerts
Connector status transitions (Faulted/Unavailable/etc.), scoped to one connector, one charging station, or a whole environment, plus which connectors are currently in a bad state and how long they've been there. This is the factual substrate only — no severity, acknowledgement, threshold or notification exists server-side yet. User — this is a read-only surface.
4 endpoints
The charger-scope Alerts read.
get/v1/charging-stations/{chargingStationId}/status-historyRequires a bearer token
Every connector on this charging station, combined and newest first.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| chargingStationId* | path | string<uuid> | ChargingStation id |
| page | query | integer<int32> | 1-indexed page number. Defaults to 1. |
| perPage | query | integer<int32> | Entries per page, capped at 200. Defaults to 50. |
| since | query | string<date-time> | Only transitions that began at or after this instant. |
| until | query | string<date-time> | Only transitions that began at or before this instant. |
Responses
| Status | Body | Description |
|---|---|---|
| 200 | ListStatusHistoryResponse | A page of this charging station's status transitions across every connector, newest first |
| 400 | ErrorBody | An unrecognised or malformed query parameter |
| 401 | ErrorBody | Missing, invalid, or expired bearer token |
| 404 | ErrorBody | No charging station with this id exists, or you cannot access its environment |
| 429 | ErrorBody | The caller has exceeded its request budget. error is rateLimited. Wait Retry-After seconds before retrying — a prior successful response's own RateLimit-Remaining/RateLimit-Reset headers show this coming before it happens. |
| 500 | ErrorBody | An unexpected internal error. error is always internalError; message is deliberately the fixed string "an unexpected error occurred", never the real cause, which is logged server-side instead of being returned to the caller. |
| 503 | ErrorBody | asset-service is not configured in this environment |
The connector-scope Alerts read: one connector's own history.
get/v1/connectors/{connectorId}/status-historyRequires a bearer token
since/until filter on when each transition began, bounding which
transitions are eligible at all; page/perPage then paginate over
that filtered set, newest first. A narrower window can therefore
shrink the total page count for the same page value.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| connectorId* | path | string<uuid> | Connector id |
| page | query | integer<int32> | 1-indexed page number. Defaults to 1. |
| perPage | query | integer<int32> | Entries per page, capped at 200. Defaults to 50. |
| since | query | string<date-time> | Only transitions that began at or after this instant. |
| until | query | string<date-time> | Only transitions that began at or before this instant. |
Responses
| Status | Body | Description |
|---|---|---|
| 200 | ListStatusHistoryResponse | A page of this connector's status transitions, newest first |
| 400 | ErrorBody | An unrecognised or malformed query parameter |
| 401 | ErrorBody | Missing, invalid, or expired bearer token |
| 404 | ErrorBody | No connector with this id exists, or you cannot access its environment |
| 429 | ErrorBody | The caller has exceeded its request budget. error is rateLimited. Wait Retry-After seconds before retrying — a prior successful response's own RateLimit-Remaining/RateLimit-Reset headers show this coming before it happens. |
| 500 | ErrorBody | An unexpected internal error. error is always internalError; message is deliberately the fixed string "an unexpected error occurred", never the real cause, which is logged server-side instead of being returned to the caller. |
| 503 | ErrorBody | asset-service is not configured in this environment |
Every connector in this environment currently in a bad state.
get/v1/environments/{environmentId}/connectors/bad-stateRequires a bearer token
"Bad state" means Faulted or Unavailable — this is the environment
Alerts page's headline list.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| environmentId* | path | string<uuid> | Environment id |
Responses
| Status | Body | Description |
|---|---|---|
| 200 | ListConnectorsInBadStateResponse | Every connector in this environment currently Faulted or Unavailable, with how long it has held that status |
| 401 | ErrorBody | Missing, invalid, or expired bearer token |
| 403 | ErrorBody | The caller is a member of the environment's organization but below the required role |
| 404 | ErrorBody | No such environment, or you cannot access it |
| 429 | ErrorBody | The caller has exceeded its request budget. error is rateLimited. Wait Retry-After seconds before retrying — a prior successful response's own RateLimit-Remaining/RateLimit-Reset headers show this coming before it happens. |
| 500 | ErrorBody | An unexpected internal error. error is always internalError; message is deliberately the fixed string "an unexpected error occurred", never the real cause, which is logged server-side instead of being returned to the caller. |
| 503 | ErrorBody | asset-service is not configured in this environment |
The site/environment-scope Alerts read.
get/v1/environments/{environmentId}/status-historyRequires a bearer token
since/until filter on when each transition began, across every
charging station in this environment, bounding which transitions are
eligible at all; page/perPage then paginate over that filtered
set, newest first. A narrower window can therefore shrink the total
page count for the same page value.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| environmentId* | path | string<uuid> | Environment id |
| page | query | integer<int32> | 1-indexed page number. Defaults to 1. |
| perPage | query | integer<int32> | Entries per page, capped at 200. Defaults to 50. |
| since | query | string<date-time> | Only transitions that began at or after this instant. |
| until | query | string<date-time> | Only transitions that began at or before this instant. |
Responses
| Status | Body | Description |
|---|---|---|
| 200 | ListStatusHistoryResponse | A page of this environment's status transitions across every charging station, newest first |
| 400 | ErrorBody | An unrecognised or malformed query parameter |
| 401 | ErrorBody | Missing, invalid, or expired bearer token |
| 403 | ErrorBody | The caller is a member of the environment's organization but below the required role |
| 404 | ErrorBody | No such environment, or you cannot access it |
| 429 | ErrorBody | The caller has exceeded its request budget. error is rateLimited. Wait Retry-After seconds before retrying — a prior successful response's own RateLimit-Remaining/RateLimit-Reset headers show this coming before it happens. |
| 500 | ErrorBody | An unexpected internal error. error is always internalError; message is deliberately the fixed string "an unexpected error occurred", never the real cause, which is logged server-side instead of being returned to the caller. |
| 503 | ErrorBody | asset-service is not configured in this environment |