OpenAPI & API Metadata
The Public API ships a machine-readable OpenAPI specification and a metadata endpoint so your tooling — SDK generators, contract tests, Postman collections, AI coding assistants — can integrate against the contract instead of hand-written types.
Metadata endpoint
GET /meta requires no pagination and returns the API's self-description:
curl https://api.floatless.com/api/public/v1/meta
{
"data": {
"name": "Floatless Public API",
"version": "2026-07-07",
"base_path": "/api/public/v1",
"authentication": "bearer",
"openapi_url": "/api/public/v1/openapi.json"
}
}
Use version for capability checks: if your integration requires behavior introduced in a specific version, read /meta at startup and fail fast with a clear message instead of discovering drift at runtime.
OpenAPI specification
curl https://api.floatless.com/api/public/v1/openapi.json \
--output floatless-public-api.json
Properties of the exported spec:
| Property | Behavior |
|---|---|
| Paths | Exposed as relative paths under the documented base URL — point your tool at the base URL from /meta |
| Security | Declares the bearerAuth scheme (HTTP bearer) matching API key auth |
| Scope | Only /api/public/v1 endpoints — the console-internal API is not included |
Use it with common tooling
# Import into Postman
# Postman → Import → floatless-public-api.json
# Generate a typed client (example: openapi-typescript)
npx openapi-typescript floatless-public-api.json --output floatless-types.ts
# Serve interactive docs
npx @redocly/cli preview-docs floatless-public-api.json
For contract testing, assert your client against the spec's schemas (PublicCustomer, PublicInvoice, PublicUsageEvent, and friends) so breaking changes are caught in CI, not in production.
Stability and versioning
- The base path
/api/public/v1is the version contract; breaking changes ship under a new major path. - Additive changes (new optional response fields, new endpoints) may arrive within
v1— parse responses tolerantly and ignore unknown fields. - The
versiondate in/metatracks the contract revision; changes to it are documented in these website docs in the same change, per the documentation update rule.