# Spirii > Documentation for the Spirii EV charging platform — product docs, developer guides, and API reference. - [Spirii Docs](https://docs.spirii.com/index.md): Learn how to build powerful connections with our all-in-one EV charging platform. - [What is Spirii?](https://docs.spirii.com/get-started/what-is-spirii.md): One EV charging platform for CPOs and eMSPs. - [Platform overview](https://docs.spirii.com/platform-overview.md): The components the platform is built on, the interfaces you work through, and the roles involved. - [Your first login](https://docs.spirii.com/get-started/first-login.md): From the invitation email to a working Connect account. - [Locations](https://docs.spirii.com/components/charging/locations.md): What a location is, what it contains, and how it connects to the rest of the platform. - [Charge boxes](https://docs.spirii.com/components/charging/charge-boxes.md): Where you manage a charger's firmware, connectivity, and remote commands. - [EVSEs](https://docs.spirii.com/components/charging/evses-and-connectors.md): Where charging happens, and the object roaming and billing are built on. - [Sessions and CDRs](https://docs.spirii.com/components/charging/sessions-and-cdrs.md): What billing, reporting, and roaming settlement are built on. - [Tokens](https://docs.spirii.com/components/access/tokens.md): Who's allowed to charge, and who gets billed for it. - [Vouchers](https://docs.spirii.com/components/access/vouchers.md): How an operator opens selected locations to a specific group of drivers, at a price they control. - [App users](https://docs.spirii.com/components/access/app-users.md): Manage the drivers signed up to your branded app, and what they can charge with. - [Tariffs](https://docs.spirii.com/components/commercial/tariffs.md): How an operator sets what a driver pays to charge at a location. - [Payment terminals](https://docs.spirii.com/components/commercial/payment-terminals.md): Register your terminals and attach them to the charge boxes they take payment for. - [Customers](https://docs.spirii.com/components/organisation/customers.md): The organisation an operator serves, and the boundary that controls who sees what. - [Customer management](https://docs.spirii.com/capabilities/account/customer-management.md): Create and structure the customer organisations in your network — their owners, hierarchy, and the details that drive location ownership and billing. - [User management](https://docs.spirii.com/capabilities/account/user-management.md): Invite colleagues and customers to Connect, scope which data they see, and set what they can do with roles. - [Roles and permissions](https://docs.spirii.com/capabilities/account/roles.md): Compare the roles and pick the right one for each user you invite to Connect. - [Impersonation](https://docs.spirii.com/capabilities/account/impersonation.md): See Connect with one customer's data, without leaving your own account. - [Branding](https://docs.spirii.com/capabilities/account/branding.md): Brand Connect for your customers, and your locations for drivers. - [Location configuration](https://docs.spirii.com/capabilities/connection/location-configuration.md): How you set up a charging site in Connect — its details, tariff, publishing, and opening hours — before adding chargers. - [Charger activation](https://docs.spirii.com/capabilities/connection/charger-activation.md): How a physical charger is provisioned, connected, and configured on the Spirii platform — in Connect or through the API. - [Location access](https://docs.spirii.com/capabilities/access/location-access.md): How visibility and authorisation combine to control who can find a location and who can charge there. - [Token authentication](https://docs.spirii.com/capabilities/access/token-authentication.md): How you issue tokens to your drivers and control where they can charge — on your own sites and across roaming networks. - [Voucher access](https://docs.spirii.com/capabilities/access/voucher-access.md): Give a chosen group of drivers access to selected locations at a price you set. - [Plug & Charge](https://docs.spirii.com/capabilities/access/plug-and-charge.md): Let drivers charge by plugging in — enable certificate-based Plug & Charge on your chargers, settled through roaming. - [Pricing options and logic](https://docs.spirii.com/capabilities/pricing/pricing-options-and-logic.md): Build the price a driver pays — fixed or dynamic, with conditional fees — and set the price you send to roaming. - [Live status tracking](https://docs.spirii.com/capabilities/operation-monitoring/live-status-tracking.md): Follow your network as it runs, and support a driver mid-session. - [Faults & Alerts](https://docs.spirii.com/capabilities/operation-monitoring/faults-and-alerts.md): Cut the time between a charger failing and you finding out. - [Remote commands](https://docs.spirii.com/capabilities/operation-monitoring/remote-commands.md): The remote actions available on a connected charge box, when to reach for each, and where hardware limits what they can do. - [Charger history and logs](https://docs.spirii.com/capabilities/operation-monitoring/charger-history-and-logs.md): Work out what a charge box did, and when it did it. - [Firmware management](https://docs.spirii.com/capabilities/operation-monitoring/firmware-management.md): Keep your charge boxes on current firmware without a site visit. - [Temporary EVSE status](https://docs.spirii.com/capabilities/operation-monitoring/temporary-evse-status.md): Control the status a charger shows to drivers and roaming partners — for maintenance, commissioning, occupancy, or reservations. - [Service level agreements](https://docs.spirii.com/capabilities/operation-monitoring/service-level-agreements.md): Tell your team which sites carry a tighter commitment. - [Payment flows](https://docs.spirii.com/capabilities/payments/payment-flows.md): How Spirii handles money — from a driver tapping a terminal to a CPO receiving their monthly payout. - [In-app payments](https://docs.spirii.com/capabilities/payments/in-app-payments.md): Let drivers pay for charging through the Spirii app or your branded app. - [In-person payments](https://docs.spirii.com/capabilities/payments/in-person-payments.md): Accept contactless card payments at your chargers — without an app or account. - [Pre-authorisation and capture](https://docs.spirii.com/capabilities/payments/pre-auth-capture.md): How Spirii authorises and captures payment for EV charging sessions, where the final cost is unknown at the start. - [Roaming connection](https://docs.spirii.com/capabilities/roaming/roaming-connection.md): Publish your chargers and connect your drivers. - [Network coverage](https://docs.spirii.com/capabilities/roaming/network-coverage.md): See and filter every charger your drivers can use: your own, public, and reached over roaming. - [Energy management](https://docs.spirii.com/capabilities/energy-management/energy-management.md): Distribute, schedule, and control charging power at a site to cut energy costs and protect the electrical infrastructure. - [Grid balancing](https://docs.spirii.com/capabilities/energy-management/grid-balancing.md): Earn from your portfolio's flexibility. - [Dashboard](https://docs.spirii.com/capabilities/reporting-analytics/dashboard.md): See how your network performed, and identify where to optimise it. - [Exports](https://docs.spirii.com/capabilities/reporting-analytics/exports.md): Take your charging data into Excel, your finance system, or your own reporting. - [Spirii Go and branded apps](https://docs.spirii.com/capabilities/driver-experience/spirii-go-and-branded-apps.md): Give drivers a way to find, start, and pay for a charge. - [Billing and payout flows](https://docs.spirii.com/capabilities/billing-payouts/billing-and-payout-flows.md): How money moves from a driver's payment through to your payout — the parties, the billing flow, and who acts as the merchant. - [Understanding your payout](https://docs.spirii.com/capabilities/billing-payouts/payouts.md): How to read your monthly self-billing invoice and reconcile it with the specification file. - [Revenue sharing & automated payouts](https://docs.spirii.com/capabilities/billing-payouts/revenue-sharing.md): How Spirii distributes charging revenue to CPOs, site owners, and subsidiaries — automatically, every month. - [Token billing](https://docs.spirii.com/capabilities/billing-payouts/token-billing.md): Consolidated monthly invoicing for fleet drivers using RFID cards or virtual keys. - [Roaming settlement](https://docs.spirii.com/capabilities/billing-payouts/roaming-settlement.md): How Spirii handles invoicing and payment between networks when drivers charge across operators. - [Home charging reimbursement](https://docs.spirii.com/capabilities/billing-payouts/home-charging-reimbursement.md): Automatically reimburse employees for charging their company car at home — compliant and without manual admin. - [Billing automation](https://docs.spirii.com/capabilities/billing-payouts/billing-automation.md): How Spirii turns charging sessions into invoices and payouts — without manual work. - [Billing as a service](https://docs.spirii.com/capabilities/billing-payouts/billing-as-a-service.md): Let Spirii invoice your customers for recurring charging services. - [Onboarding flows](https://docs.spirii.com/capabilities/automation/onboarding-flows.md): Sell charging hardware and subscriptions online, to consumers or to businesses. - [Installers](https://docs.spirii.com/capabilities/automation/installers.md): Bring installation partners into Connect to get your chargers live. - [Change history](https://docs.spirii.com/capabilities/compliance/change-history.md): Trace an edit back to the person who made it. - [Data separation](https://docs.spirii.com/capabilities/compliance/data-separation.md): How the platform keeps each partner's data, and each driver's details, separate. - [Receipts](https://docs.spirii.com/capabilities/compliance/receipts.md): VAT-compliant receipts for every session, produced by the platform. - [Quick start for CPOs](https://docs.spirii.com/guides/cpo-quickstart.md): Get your first charger online and ready to charge with Spirii. - [Quick start for fleets](https://docs.spirii.com/guides/fleet-quickstart.md): Get your fleet charging — at your own depot and out on the road across other networks. - [Migrate to Spirii](https://docs.spirii.com/guides/migrate-to-spirii.md): Planning, testing, and running a charger and token migration without disrupting the drivers using your network. - [Payment terminal with Spirii POS](https://docs.spirii.com/guides/payment-terminal-setup.md): Register, configure, and go live with a Spirii POS terminal at your charging location. - [Revenue sharing](https://docs.spirii.com/guides/revenue-sharing-setup.md): Configure Spirii to pay a charge station owner directly for the revenue generated on their chargers. - [Reimbursements](https://docs.spirii.com/guides/home-charging-reimbursement-setup.md): Configure operators, fleet customers, and employees for automated home charging expense reimbursement. - [Public charging hub](https://docs.spirii.com/guides/public-charging-hub.md): Unlock your public charging hub with Spirii. - [Truck charging](https://docs.spirii.com/guides/truck-charging.md): Unlock depot and on-the-road charging for your heavy-duty fleet with Spirii. - [Home & work](https://docs.spirii.com/guides/home-and-work.md): Charging at home, at the office, and on public networks — attributed to the right payer and reimbursed on one token. - [Spirii Developers](https://docs.spirii.com/developers/introduction.md): Learn how to build the future of eMobility. - [Authentication](https://docs.spirii.com/developers/authentication.md): How to get access to the Spirii Public API and authorize requests. - [Quickstart](https://docs.spirii.com/developers/quickstart.md): Make your first authenticated request against the Spirii Public API. - [Identifiers](https://docs.spirii.com/developers/identifiers.md): The IDs each resource carries, which one to use when, and what the formatted ones encode. - [Conventions](https://docs.spirii.com/developers/conventions.md): The rules every Spirii API endpoint shares — base URL, versioning, methods, and data formats. - [Pagination](https://docs.spirii.com/developers/pagination.md): How list endpoints return results in pages, and how to retrieve every result reliably. - [Filtering](https://docs.spirii.com/developers/filtering.md): Narrow, search, and sort list results with query parameters, and how the available filters differ by endpoint. - [Errors](https://docs.spirii.com/developers/errors.md): The HTTP status codes the API returns, what they mean, and how to handle them. - [Rate limits](https://docs.spirii.com/developers/rate-limits.md): Learn about the API rate limits and how to work with them. - [Versioning](https://docs.spirii.com/developers/versioning.md): The Spirii API follows Semantic Versioning, ensuring a clear and predictable versioning structure - [Reporting and dashboards](https://docs.spirii.com/developers/reporting-and-dashboards.md): Pull Spirii platform data into your own dashboards, business reports, and financial exports. - [Fleet management](https://docs.spirii.com/developers/fleet-management.md): Provision a fleet's drivers, vehicles, and accounts, then track their charging through the API. - [Pylon](https://docs.spirii.com/developers/pylon.md): Show a site's current charging price and how many chargers are free, to drive a price pylon. - [AFIR compliance](https://docs.spirii.com/developers/afir-compliance.md): Publish your public chargers' static and dynamic data to a National Access Point in DATEX II format. - [Overview](https://docs.spirii.com/api-reference/overview.md): REST endpoints for the Spirii Public API, with interactive try-it playgrounds. - [Get a list of CDRs](https://docs.spirii.com/api-reference/charge-records-v2/get-a-list-of-cdrs.md) - [Get a single Charge Record](https://docs.spirii.com/api-reference/charge-records-v2/get-a-single-charge-record.md): Get one Charge Record by given ID. - [Get a list of transactions](https://docs.spirii.com/api-reference/transactions-v2/get-a-list-of-transactions.md): Returns a list of Transactions. It is possible to set query parameters to filter the results. - [Get a transaction by ID](https://docs.spirii.com/api-reference/transactions-v2/get-a-transaction-by-id.md): Returns a single Transaction from a given transactionId. - [Get v2customers](https://docs.spirii.com/api-reference/customer-v2/get-v2customers.md): Retrieves a paginated list of customers based on the provided filter criteria. - [Create a new customer](https://docs.spirii.com/api-reference/customer-v2/create-a-new-customer.md): Creates a new customer record in the system. - [Get one customer by id](https://docs.spirii.com/api-reference/customer-v2/get-one-customer-by-id.md): Retrieves a customer by their unique identifier. - [Update a customer](https://docs.spirii.com/api-reference/customer-v2/update-a-customer.md): Updates a customer record in the system. - [Delete a customer](https://docs.spirii.com/api-reference/customer-v2/delete-a-customer.md): Deletes a customer record in the system. - [Get a list of app users](https://docs.spirii.com/api-reference/app-users/get-a-list-of-app-users.md): Retrieves a paginated list of app users. Only available to operators with a whitelabel app. - [Create app user](https://docs.spirii.com/api-reference/app-users/create-app-user.md): Creates an app user. Only available to operators with a whitelabel app. - [Get app user by id](https://docs.spirii.com/api-reference/app-users/get-app-user-by-id.md): Retrieves an app user by id. Only available to operators with a whitelabel app. - [Update app user](https://docs.spirii.com/api-reference/app-users/update-app-user.md): Updates an app user. Only available to operators with a whitelabel app. - [Fetches a list of supported charge box models](https://docs.spirii.com/api-reference/chargeboxes-v2/fetches-a-list-of-supported-charge-box-models.md) - [Fetches a list of charge boxes](https://docs.spirii.com/api-reference/chargeboxes-v2/fetches-a-list-of-charge-boxes.md) - [Creates a new charge box.](https://docs.spirii.com/api-reference/chargeboxes-v2/creates-a-new-charge-box.md) - [Fetches a single charge box.](https://docs.spirii.com/api-reference/chargeboxes-v2/fetches-a-single-charge-box.md) - [Deletes a charge box. This operation cannot be undone.](https://docs.spirii.com/api-reference/chargeboxes-v2/deletes-a-charge-box-this-operation-cannot-be-undone.md) - [Reboots a charge box. (Alias for soft reset)](https://docs.spirii.com/api-reference/chargeboxes-v2/reboots-a-charge-box-alias-for-soft-reset.md): Please be aware that rebooting may cause temporary downtime, depending on the charge box model, and plan usage accordingly. - [Performs a hard or soft reset on a charge box.](https://docs.spirii.com/api-reference/chargeboxes-v2/performs-a-hard-or-soft-reset-on-a-charge-box.md): Please be aware that resetting may cause temporary downtime, depending on the charge box model, and plan usage accordingly. - [Fetches a list of EVSEs.](https://docs.spirii.com/api-reference/evses-v2/fetches-a-list-of-evses.md) - [Fetches a single EVSE.](https://docs.spirii.com/api-reference/evses-v2/fetches-a-single-evse.md) - [Updates a connector on an EVSE.](https://docs.spirii.com/api-reference/evses-v2/updates-a-connector-on-an-evse.md) - [Requests an EVSE to start a transaction](https://docs.spirii.com/api-reference/evses-v2/requests-an-evse-to-start-a-transaction.md) - [Requests an EVSE to stop a transaction](https://docs.spirii.com/api-reference/evses-v2/requests-an-evse-to-stop-a-transaction.md) - [Updates the availability status of a connector.](https://docs.spirii.com/api-reference/evses-v2/updates-the-availability-status-of-a-connector.md) - [Requests an EVSE to unlock a connector](https://docs.spirii.com/api-reference/evses-v2/requests-an-evse-to-unlock-a-connector.md) - [Fetches a list of locations.](https://docs.spirii.com/api-reference/locations-v2/fetches-a-list-of-locations.md) - [Creates a new location.](https://docs.spirii.com/api-reference/locations-v2/creates-a-new-location.md) - [Fetches a single, existing location.](https://docs.spirii.com/api-reference/locations-v2/fetches-a-single-existing-location.md) - [Deletes an existing location. This operation cannot be undone.](https://docs.spirii.com/api-reference/locations-v2/deletes-an-existing-location-this-operation-cannot-be-undone.md) - [Updates an existing location.](https://docs.spirii.com/api-reference/locations-v2/updates-an-existing-location.md) - [Fetches a single, existing tariff.](https://docs.spirii.com/api-reference/tariffs-v2/fetches-a-single-existing-tariff.md) - [Get v2tariff publisherpublic key](https://docs.spirii.com/api-reference/tariffpublisher-v2/get-v2tariff-publisherpublic-key.md) - [Get all Temporary EVSE Statuses](https://docs.spirii.com/api-reference/temporary-evse-statuses-v2/get-all-temporary-evse-statuses.md) - [Create a new Temporary EVSE Status](https://docs.spirii.com/api-reference/temporary-evse-statuses-v2/create-a-new-temporary-evse-status.md): This API enables you, the Charge Point Operator (CPO)—the owners of chargers and EVSE, data—to temporarily override the **displayed** status of an EVSE (Electric Vehicle Supply Equipment) in e-mobility apps, without affecting its underlying technical or operational state. - [Get a Temporary EVSE Status by ID](https://docs.spirii.com/api-reference/temporary-evse-statuses-v2/get-a-temporary-evse-status-by-id.md) - [Remove a Temporary EVSE Status](https://docs.spirii.com/api-reference/temporary-evse-statuses-v2/remove-a-temporary-evse-status.md): Removing a Temporary EVSE Status will make the eMSP Apps use the default charger statuses, like 'Available'. - [Update a Temporary EVSE Status](https://docs.spirii.com/api-reference/temporary-evse-statuses-v2/update-a-temporary-evse-status.md) - [Get a token by ID](https://docs.spirii.com/api-reference/tokens/get-a-token-by-id.md): This endpoint allows you to get a token by its ID. - [Delete a token](https://docs.spirii.com/api-reference/tokens/delete-a-token.md): This endpoint allows you to delete a token. Deleting a token sets the token to isActive = false. **Please note that once a token is deleted, it is not possible to create a new one with the same UID** - [Update a token](https://docs.spirii.com/api-reference/tokens/update-a-token.md): This endpoint allows you to update a token. - [Get a list of tokens](https://docs.spirii.com/api-reference/tokens/get-a-list-of-tokens.md): This endpoint allows you to get a paginated list of tokens. It is possible to set query parameters to filter the results. - [Create a new token](https://docs.spirii.com/api-reference/tokens/create-a-new-token.md): This endpoint allows you to create new token(s). - [Enable a token](https://docs.spirii.com/api-reference/tokens/enable-a-token.md): This endpoint allows you to enable a token. - [Disable a token](https://docs.spirii.com/api-reference/tokens/disable-a-token.md): This endpoint allows you to disable a token. - [Get a token group by ID](https://docs.spirii.com/api-reference/token-groups/get-a-token-group-by-id.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Delete a token group](https://docs.spirii.com/api-reference/token-groups/delete-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Update a token group](https://docs.spirii.com/api-reference/token-groups/update-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Get a list of token groups](https://docs.spirii.com/api-reference/token-groups/get-a-list-of-token-groups.md): This endpoint allows you to get a paginated list of token groups. It is possible to set query parameters to filter the results. A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Create a new token group](https://docs.spirii.com/api-reference/token-groups/create-a-new-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Get a list of tokens associated to a token group by ID](https://docs.spirii.com/api-reference/token-groups/get-a-list-of-tokens-associated-to-a-token-group-by-id.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Get a list of locations associated to a token group by ID](https://docs.spirii.com/api-reference/token-groups/get-a-list-of-locations-associated-to-a-token-group-by-id.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Associate a location to a token group](https://docs.spirii.com/api-reference/token-groups/associate-a-location-to-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Disassociate a location from a token group](https://docs.spirii.com/api-reference/token-groups/disassociate-a-location-from-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Associate a token to a token group](https://docs.spirii.com/api-reference/token-groups/associate-a-token-to-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Disassociate a token from a token group](https://docs.spirii.com/api-reference/token-groups/disassociate-a-token-from-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Enable a token group](https://docs.spirii.com/api-reference/token-groups/enable-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Disable a token group](https://docs.spirii.com/api-reference/token-groups/disable-a-token-group.md): A token group is an access management mechanism where only tokens inside a group can authorize charging at specified locations. - [Get a voucher by ID](https://docs.spirii.com/api-reference/vouchers/get-a-voucher-by-id.md): A Voucher belongs to a Voucher Group and is uniquely identified by a code. It can be linked to multiple tokens (idtags) and appUsers. - [Delete a voucher by ID](https://docs.spirii.com/api-reference/vouchers/delete-a-voucher-by-id.md): This endpoint allows you to delete a voucher by its ID. - [Update an existing voucher](https://docs.spirii.com/api-reference/vouchers/update-an-existing-voucher.md): This endpoint allows you to update an existing voucher. - [Get tokens associated with a voucher by voucher ID](https://docs.spirii.com/api-reference/vouchers/get-tokens-associated-with-a-voucher-by-voucher-id.md): List of token IDs associated with the voucher. - [Get a list of vouchers](https://docs.spirii.com/api-reference/vouchers/get-a-list-of-vouchers.md): This endpoint allows you to get a paginated list of vouchers. It is possible to set query parameters to filter the results. - [Create a new voucher](https://docs.spirii.com/api-reference/vouchers/create-a-new-voucher.md): This endpoint allows you to create a voucher(s). - [Associate a token to a voucher](https://docs.spirii.com/api-reference/vouchers/associate-a-token-to-a-voucher.md): This endpoint allows you to associate a token to a voucher. - [Disassociate a token from a voucher](https://docs.spirii.com/api-reference/vouchers/disassociate-a-token-from-a-voucher.md): This endpoint allows you to disassociate a token from a voucher. - [Get a voucher group by ID](https://docs.spirii.com/api-reference/vouchergroups/get-a-voucher-group-by-id.md): A Voucher Group unites several Vouchers - [Delete a voucher group by ID](https://docs.spirii.com/api-reference/vouchergroups/delete-a-voucher-group-by-id.md): This endpoint allows you to delete a voucher by its ID. - [Update an existing voucher group](https://docs.spirii.com/api-reference/vouchergroups/update-an-existing-voucher-group.md): This endpoint allows you to update an existing voucher group. - [Get a list of voucher groups](https://docs.spirii.com/api-reference/vouchergroups/get-a-list-of-voucher-groups.md): This endpoint allows you to get a paginated list of voucher groups. It is possible to set query parameters to filter the results. - [Create a new voucher group](https://docs.spirii.com/api-reference/vouchergroups/create-a-new-voucher-group.md): This endpoint allows you to create a voucher group - [Get voucher group's locations by ID](https://docs.spirii.com/api-reference/vouchergroups/get-voucher-groups-locations-by-id.md): This endpoint allows you to fetch locations associated with a voucher group. - [Get a paginated list of vouchers belonging to a voucher group](https://docs.spirii.com/api-reference/vouchergroups/get-a-paginated-list-of-vouchers-belonging-to-a-voucher-group.md): This endpoint allows you to get a paginated list of vouchers belonging to a certain voucher group. It is possible to set query parameters to filter and paginate the results. - [Associate location to voucher group](https://docs.spirii.com/api-reference/vouchergroups/associate-location-to-voucher-group.md): Allows you to associate location to a specific voucher group - [Disassociate locations from voucher group](https://docs.spirii.com/api-reference/vouchergroups/disassociate-locations-from-voucher-group.md): Allows you to disassociate locations from a specific voucher group - [Get DATEX II v3 AFIR energy infrastructure tables](https://docs.spirii.com/api-reference/afir/get-datex-ii-v3-afir-energy-infrastructure-tables.md) - [Get DATEX II v3 AFIR energy infrastructure statuses](https://docs.spirii.com/api-reference/afir/get-datex-ii-v3-afir-energy-infrastructure-statuses.md) - [Fetches a list of audit logs.](https://docs.spirii.com/api-reference/audit-logs/fetches-a-list-of-audit-logs.md) - [Get tenant profile](https://docs.spirii.com/api-reference/tenant/get-tenant-profile.md): Returns your organization's profile on Spirii — the top-level account that holds your roaming identities and your sharing preferences. You don't pass an ID Spirii recognizes you from your API credentials and always returns your own profile. It's a natural first call when you start integrating, both… - [Update tenant profile](https://docs.spirii.com/api-reference/tenant/update-tenant-profile.md): Updates your organization's profile. Right now the only thing you can change here is the display name — everything else (your IDs, your roaming identities, and what you're allowed to publish) is either managed on its own endpoints or set by Spirii. Send just the display name you'd like to use. - [Get published-network priority order](https://docs.spirii.com/api-reference/tenant/get-published-network-priority-order.md): Returns your organization's preferred ranking of other providers' published charger networks. Spirii uses this ranking to break the tie when a charger can be reached through more than one network. If the list is empty, Spirii decides the order for you. - [Set published-network priority order](https://docs.spirii.com/api-reference/tenant/set-published-network-priority-order.md): Sets your organization's preferred ranking of other providers' published charger networks, replacing the whole list in one go. Spirii uses this ranking only when a charger can be reached through more than one network. Each network you list has to be one your organization can actually access. Send an… - [List EMP identities](https://docs.spirii.com/api-reference/emp-identity/list-emp-identities.md): Lists all of the roaming identities registered to your organization. Every organization has at least one (set up by Spirii), and you can register more — for example to keep different brands or regions separate. - [Register an EMP identity](https://docs.spirii.com/api-reference/emp-identity/register-an-emp-identity.md): Registers a new roaming identity for your organization. You'll need the country and the three-character party code, and you can optionally list one or more roaming standards it uses (OCPI, OICP). To stay safe if a request is accidentally sent twice, you also include a one-off reference you generate… - [Get EMP identity](https://docs.spirii.com/api-reference/emp-identity/get-emp-identity.md): Returns a single roaming identity by its ID, including its current status. - [Update EMP identity](https://docs.spirii.com/api-reference/emp-identity/update-emp-identity.md): Updates the details of one of your roaming identities — things like its label or its contact information. Its ID and its status are managed by Spirii and can't be changed here. As with registering, you include a one-off reference (an "idempotency key") so a repeated request isn't applied twice. - [Deregister an EMP identity](https://docs.spirii.com/api-reference/emp-identity/deregister-an-emp-identity.md): Removes a roaming identity from your organization. Two things to know first, your organization must always keep at least one identity, so you can't remove the last one, and you can't remove an identity that's still in use. Sort those out first, then remove it. - [List networks](https://docs.spirii.com/api-reference/networks/list-networks.md): Lists your organization's networks. Use `network_type` to choose whether to list base networks (the full collections of charging operators your roaming identities can reach) or sub-networks (the named slices you've created from them). You can narrow the list further — for example to sub-networks of… - [Create a TENANT sub-network](https://docs.spirii.com/api-reference/networks/create-a-tenant-sub-network.md): Creates a named slice of a base network — for example "Fleet fast chargers" or "Premium partners" — which you can then assign to a group of charging tokens so those drivers see only these operators. The operators you pick must all be part of the chosen parent network. Supply an idempotency key to pr… - [Create a BASE network](https://docs.spirii.com/api-reference/networks/create-a-base-network.md): Creates a base network — the full collection of charging operators reachable through one of your roaming identities. Most organizations never call this: every roaming identity comes with its base network automatically, and day-to-day work happens in sub-networks. - [Get effective network view (BASE networks with precedence applied)](https://docs.spirii.com/api-reference/networks/get-effective-network-view-base-networks-with-precedence-applied.md): Returns which charging operators your organization can actually reach right now, and through which network. Merges all sources — your own base networks and any published ones you use — and applies the tie-break rule: where the same operator is reachable both ways, your own private network wins over… - [Get network detail](https://docs.spirii.com/api-reference/networks/get-network-detail.md): Returns a single network by its ID — its operators, the countries it covers, how many locations and charge points it includes, which base network it belongs to (if it's a sub-network), and how many token groups are using it. - [Delete a TENANT sub-network](https://docs.spirii.com/api-reference/networks/delete-a-tenant-sub-network.md): Deletes a sub-network. Only sub-networks can be deleted — base networks are permanent. If the sub-network is still assigned to token groups, the deletion is blocked as a safety measure; set `force=true` to remove the assignments and delete anyway. - [Update network settings](https://docs.spirii.com/api-reference/networks/update-network-settings.md): Changes a network's settings. What you can change depends on the network type: on a sub-network you can rename it, change its description, and adjust its operators; on a base network you can adjust the operators and whether its locations appear in anonymous charger searches — but not its name, which… - [Set publish state on a BASE network](https://docs.spirii.com/api-reference/networks/set-publish-state-on-a-base-network.md): Publishes one of your base networks to the whole platform — or begins withdrawing it. Publishing makes the network automatically visible to every organization on Spirii, so they can build slices of it for their own drivers. Publishing requires that Spirii has granted your organization the publishing… - [List access rules for this network](https://docs.spirii.com/api-reference/networks/list-access-rules-for-this-network.md): Lists the access rules on a network. A network with no rules shows everything; the moment you add the first rule, the network switches to showing only what the rules allow. Filter by validity to see only rules that are currently in effect, scheduled to start in the future, or already expired. - [Create an access rule](https://docs.spirii.com/api-reference/networks/create-an-access-rule.md): Adds an access rule to a network — either including a specific list of locations or excluding one. Rules can be scheduled: they start today unless you set a future start date, and can be given an end date after which they expire automatically. Important: adding the first rule to a network switches i… - [Delete an access rule](https://docs.spirii.com/api-reference/networks/delete-an-access-rule.md): Removes an access rule from a network. The change applies immediately — what drivers can see and where they can charge may change the moment the rule is gone. - [List visible locations on this network](https://docs.spirii.com/api-reference/networks/list-visible-locations-on-this-network.md): Lists the charging locations actually visible on a sub-network, with access rules already applied — in other words, what a driver whose token group is assigned to this sub-network can see. Useful for verifying a slice before assigning it, or for troubleshooting why a driver can't see a particular ch… - [List consumers of a Published BASE network (publisher-only)](https://docs.spirii.com/api-reference/networks/list-consumers-of-a-published-base-network-publisher-only.md): For publishers only: lists the organizations currently using one of your published base networks — those that have built slices of it for their own drivers. By default consumers appear as anonymous IDs; you only see full organization details when a consumer has chosen to share them. Useful for under… - [Search and filter locations](https://docs.spirii.com/api-reference/locations/search-and-filter-locations.md) - [Bulk availability check](https://docs.spirii.com/api-reference/locations/bulk-availability-check.md) - [Map clustering](https://docs.spirii.com/api-reference/locations/map-clustering.md) - [List available facility types](https://docs.spirii.com/api-reference/locations/list-available-facility-types.md) - [Get location detail](https://docs.spirii.com/api-reference/locations/get-location-detail.md) - [List subscribable event types](https://docs.spirii.com/api-reference/webhooks/list-subscribable-event-types.md): Returns the controlled list of event types you can subscribe a webhook to. - [Get an event type](https://docs.spirii.com/api-reference/webhooks/get-an-event-type.md): Returns each available api_version of an event type and its payload JSON schema. - [List webhook subscriptions](https://docs.spirii.com/api-reference/webhooks/list-webhook-subscriptions.md): Lists your webhook subscriptions. Supports cursor pagination and filtering by event type. Secrets and custom-header values are never returned. - [Register a webhook](https://docs.spirii.com/api-reference/webhooks/register-a-webhook.md): Registers a webhook subscription for an event type. Spirii generates the signing secret and returns it once in this response — store it securely, it is never shown again. - [Get a webhook subscription](https://docs.spirii.com/api-reference/webhooks/get-a-webhook-subscription.md): Returns a single webhook subscription. The secret and custom-header values are never returned. - [Delete a webhook subscription](https://docs.spirii.com/api-reference/webhooks/delete-a-webhook-subscription.md): Deregisters a webhook subscription. Future deliveries stop immediately. - [Update a webhook subscription](https://docs.spirii.com/api-reference/webhooks/update-a-webhook-subscription.md): Updates a webhook subscription — pause/resume it, change the URL or custom headers, or rotate the signing secret. When you request rotation the new secret is returned once in this response. - [Send a test delivery](https://docs.spirii.com/api-reference/webhooks/send-a-test-delivery.md): Sends a one-off signed test payload to the subscription endpoint and reports the result. It does not affect the failure count or the subscription status. - [List Expense Reports](https://docs.spirii.com/api-reference/reimbursement-expenses/list-expense-reports.md) - [Get Expense Report](https://docs.spirii.com/api-reference/reimbursement-expenses/get-expense-report.md) - [Download Expense Report](https://docs.spirii.com/api-reference/reimbursement-expenses/download-expense-report.md) - [Approve Expense Report](https://docs.spirii.com/api-reference/reimbursement-expenses/approve-expense-report.md): Approves, stores, and sends emails for a expense report. - [Get Expense](https://docs.spirii.com/api-reference/reimbursement-expenses/get-expense.md) - [Download Expense](https://docs.spirii.com/api-reference/reimbursement-expenses/download-expense.md) - [List Unlinked CDRs](https://docs.spirii.com/api-reference/reimbursement-expenses/list-unlinked-cdrs.md): Fetch a list of Charge Detail Records that are eligible for reimbursement, but not yet linked to an expense. - [Add CDRs to Expense](https://docs.spirii.com/api-reference/reimbursement-expenses/add-cdrs-to-expense.md): Add Charge Detail Records to an expense. - [Remove CDRs from Expense](https://docs.spirii.com/api-reference/reimbursement-expenses/remove-cdrs-from-expense.md): Remove Charge Detail Records from an expense. - [Get reimbursement rates for one or more locations](https://docs.spirii.com/api-reference/reimbursement-rates/get-reimbursement-rates-for-one-or-more-locations.md) - [Create a new reimbursement rate](https://docs.spirii.com/api-reference/reimbursement-rates/create-a-new-reimbursement-rate.md) - [Update an existing reimbursement rate](https://docs.spirii.com/api-reference/reimbursement-rates/update-an-existing-reimbursement-rate.md) - [Overview](https://docs.spirii.com/capabilities/smart-charging/overview.md): Programmatic control of chargers and Dynamic Load Management circuits, and the async events Spirii emits. - [Control Request](https://docs.spirii.com/api-reference/send-http/control-request.md): Single endpoint accepting all control command types. Since processing is asynchronous, the HTTP response only reflects whether the request was accepted for processing (authenticated, well-formed) — the actual outcome of applying the request is delivered later as a `controlResponse` message correlate… - [Control Response](https://docs.spirii.com/api-reference/receive-sns/control-response.md): Delivers the outcome of a previously submitted control request. One message per `request_id`. - [Connector Status Update](https://docs.spirii.com/api-reference/receive-sns/connector-status-update.md): Pushed whenever the status of a connector registered with the actor changes. - [Asset Management (Master Data)](https://docs.spirii.com/api-reference/receive-sns/asset-management-master-data.md): Pushed when an asset (chargebox or circuit) registered with the actor is subscribed, unsubscribed, or updated. Update messages only include the fields that changed. - [Power Measurements](https://docs.spirii.com/api-reference/receive-sns/power-measurements.md): Near-real-time active power readings for chargeboxes and circuits registered with the actor. - [Retrieve a list of locations](https://docs.spirii.com/api-reference/locations/retrieve-a-list-of-locations.md) - [Retrieve location by ID](https://docs.spirii.com/api-reference/locations/retrieve-location-by-id.md) - [Update location data](https://docs.spirii.com/api-reference/locations/update-location-data.md) - [Retrieve a list of EVSE's with their current status](https://docs.spirii.com/api-reference/evses/retrieve-a-list-of-evses-with-their-current-status.md) - [Retrieve a EVSE's with their current status](https://docs.spirii.com/api-reference/evses/retrieve-a-evses-with-their-current-status.md) - [Retrieve a list of transactions](https://docs.spirii.com/api-reference/transactions/retrieve-a-list-of-transactions.md) - [Retrieve complete transaction data by ID](https://docs.spirii.com/api-reference/transactions/retrieve-complete-transaction-data-by-id.md) - [Retrieve the charge records data](https://docs.spirii.com/api-reference/charge-records/retrieve-the-charge-records-data.md) - [Retrieve complete charge record data by ID](https://docs.spirii.com/api-reference/charge-records/retrieve-complete-charge-record-data-by-id.md) - [Retrieve a list of app users](https://docs.spirii.com/api-reference/app-users/retrieve-a-list-of-app-users.md) - [Retrieve a app users](https://docs.spirii.com/api-reference/app-users/retrieve-a-app-users.md) - [Retrieve a list of voucher groups](https://docs.spirii.com/api-reference/voucher-groups/retrieve-a-list-of-voucher-groups.md) - [Retrieve all information about a specific Voucher Group](https://docs.spirii.com/api-reference/voucher-groups/retrieve-all-information-about-a-specific-voucher-group.md) - [Update a voucher group](https://docs.spirii.com/api-reference/voucher-groups/update-a-voucher-group.md) - [Retrieve a list of vouchers](https://docs.spirii.com/api-reference/vouchers/retrieve-a-list-of-vouchers.md) - [Retrieve a specific voucher](https://docs.spirii.com/api-reference/vouchers/retrieve-a-specific-voucher.md) - [Update a voucher](https://docs.spirii.com/api-reference/vouchers/update-a-voucher.md) - [Disable a voucher (sets it as expired)](https://docs.spirii.com/api-reference/vouchers/disable-a-voucher-sets-it-as-expired.md) - [Changelog](https://docs.spirii.com/changelog/overview.md): Connect to the latest updates, improvements, and fixes to Spirii’s platform ## OpenAPI Specs - [openapi](/api-reference/openapi.json) - [openapi](/openapi/emsp-location/openapi.yaml) - [openapi](/openapi/emsp-network/openapi.yaml) - [openapi](/openapi/emsp-tenant/openapi.yaml) - [openapi](/openapi/emsp-webhook/openapi.yaml) - [openapi](/openapi/integration-api-v2/openapi.yaml) - [openapi](/openapi/integrations-api/openapi.yml) - [openapi](/openapi/internal/audit-log-service/openapi.json) - [openapi](/openapi/internal/billing-engine/openapi.json) - [openapi](/openapi/internal/chargebox-conf/openapi.json) - [openapi](/openapi/internal/chargebox-v2/openapi.json) - [openapi](/openapi/internal/charging-session/openapi.json) - [openapi](/openapi/internal/firmware-management/openapi.json) - [openapi](/openapi/internal/idtag/openapi.json) - [openapi](/openapi/internal/location-new/openapi.json) - [openapi](/openapi/internal/plug-charge/openapi.json) - [openapi](/openapi/internal/tariff-publisher/openapi.json) - [openapi](/openapi/internal/token/openapi.json) - [openapi](/openapi/internal/zaptec-hook/openapi.json) - [openapi](/openapi/reimbursement/expenses/openapi.yaml) - [openapi](/openapi/reimbursement/rates/openapi.yaml) ## AsyncAPI Specs - [asyncapi](/openapi/smart-charging/asyncapi.yaml) ## Optional - [Status](https://status.spirii.com/) - [Support](mailto:support@spirii.com)