Skip to main content

Fuzz Energy API Overview

The Fuzz Energy platform exposes a set of REST APIs to manage and monitor industrial electrical assets across multiple sites. This page describes how the APIs are organized, the multi-tenancy model, and how to interact with resources.

API Base URL

All public API requests are made to:

https://api.fuzz.energy

The paths documented in this reference already have the internal prefix stripped, so you can use them directly against the base URL above.

API Versioning

The Fuzz Energy API supports versioning through the x-api-version HTTP header.

Using the x-api-version Header

To target a specific API version, include the x-api-version header in your requests:

GET /charge-points
x-api-version: 1

Recommendation

It is strongly recommended to always include the x-api-version header in your requests. This ensures your integration remains stable when new versions of the API are released.

If the header is omitted, the API will default to the latest available version. While convenient for exploration, relying on the default behavior in production integrations risks breaking changes when the API evolves.

Version Format

The version is a simple integer (e.g., 1, 2, 3). Each increment represents a new major version of the API.

When Does the Version Change?

Fuzz Energy follows a backward-compatible-by-default policy. The API version is only incremented when a breaking change occurs in the request contract. Examples of breaking changes include:

  • A new mandatory field is added to a request body
  • An existing parameter is removed or renamed
  • The semantics of an endpoint fundamentally change

Non-breaking changes do NOT increment the version. Fuzz reserves the right to add new fields to response bodies at any time without changing the API version. For example, a future release may include additional metadata in a charge point response that was not present before.

Client Responsibility

Because new fields may appear in responses without a version bump, your REST client must be tolerant of unknown fields. If your client deserializes API responses into strongly-typed models, ensure that it ignores unrecognized properties rather than failing. Most modern JSON libraries support this behavior by default (e.g., @JsonIgnoreProperties(ignoreUnknown = true) in Java, or equivalent in other languages).

Multi-Tenancy Model

Fuzz Energy is built around a hierarchical multi-tenancy model. Every resource belongs to a tenant, and the tenant determines the scope of visibility and access.

Tenant Hierarchy

Global Tenant
└── Company Tenant(s)
└── Site Tenant(s)
└── Resources
LevelDescription
GlobalThe root tenant. Provides a view across all resources the authenticated user has access to, spanning every company and site.
CompanyRepresents an organization or enterprise. Aggregates all resources across all sites belonging to that company.
SiteRepresents a specific industrial location (e.g., a factory, a charging station site). Most resources live at this level.

How Tenants Affect API Calls

When you list or query resources, you can specify a tenant scope to filter the results:

  • No tenant specified (or global tenant): Returns all resources visible to the authenticated user across every company and site.
  • Company tenant: Returns only resources belonging to that company and all its sites.
  • Site tenant: Returns only resources belonging to that specific site.

For example, when calling a list endpoint, you can pass a tenant query parameter with the UID of a company or a site to scope the results:

GET /charge-points?tenant=1sjn7tza

This will return only the charge points associated with the company 1sjn7tza and all its child sites.

Resources

Resources are the entities managed by the Fuzz Energy platform. Each resource type is documented under the Resources section of this API reference.

Common Resource Types

ResourceDescription
Charge PointOCPP-connected charging stations. Supports real-time status, OCPP command execution, and configuration management.
CompanyOrganizations that own or manage one or more sites.
SiteIndustrial locations where electrical assets are deployed.

Resource Identifiers (UID)

Every resource on the Fuzz Energy platform has a unique identifier called a UID. A UID is an 8-character alphanumeric string, for example: 1sjn7tza.

This identifier is:

  • Globally unique across the entire platform - no two resources share the same UID, regardless of tenant.
  • Immutable - once assigned, a UID never changes.
  • Used in API paths to reference specific resources (e.g., /charge-points/{uid}).

You can use the UID of any resource from any tenant scope, provided you have the appropriate permissions to access it.

API Organization

The API documentation is organized by resource type. Each resource section contains:

  • List operations - Retrieve a paginated collection of resources, with optional filtering and sorting.
  • Get operations - Retrieve a single resource by its UID.
  • Action operations - Execute commands or retrieve real-time data (e.g., reset a charge point, trigger a message).

All list endpoints support common pagination and filtering parameters:

ParameterTypeDescription
tenantStringOptional tenant UID to scope results
limitIntegerMaximum number of results (default: 100, max: 1000)
offsetIntegerNumber of results to skip (default: 0)
fieldsStringComma-separated list of fields to include
filterStringFilter expression for advanced querying
sortByStringField and direction to sort by (e.g., label,asc)

Error Responses

The API uses standard HTTP status codes to indicate success or failure:

CodeMeaning
200Success
400Bad request - invalid parameters
401Unauthorized - missing or invalid token
403Forbidden - insufficient permissions
404Not found - resource does not exist
500Internal server error
502Bad gateway - unable to reach the edge device