Server fleet with current readings
const url = 'https://api.flotera.com/api/v1/servers?limit=50&presence=online&marketplace=vast';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.flotera.com/api/v1/servers?limit=50&presence=online&marketplace=vast' \ --header 'Authorization: Bearer <token>'Returns one page of servers and their latest readings, ordered by ID.
Use next_cursor to request the next page.
While the account is frozen, readings is null and gpus is empty.
Presence, last_seen_at, gpu_count and gpu_model remain current.
The same rule applies to the individual server endpoint.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Pass next_cursor from the previous response unchanged.
An invalid cursor returns 422.
Page size.
Agent presence: suspect after 60 seconds without a heartbeat,
offline after 300. Telemetry alone does not prove presence and does
not make a machine online.
Filter by agent presence.
Filter by the active marketplace — the one named in the
machine’s marketplace field: where it is listed, otherwise the
link seen most recently. A machine linked to several marketplaces
matches only its active one. Any other value is refused with
422.
Header Parameters
Section titled “Header Parameters”Return 304 Not Modified if the entity tag has not changed.
Responses
Section titled “Responses”One page of the fleet from a consistent snapshot.
object
When the snapshot was computed.
Time through which source data is included in this response.
Response format version.
True when this response contains previously collected data awaiting a refresh.
Server status, hardware readings and marketplace information. Earnings and billing are unavailable through this API.
object
UUID (v7 for new entities; v4 is accepted).
Agent presence: suspect after 60 seconds without a heartbeat,
offline after 300. Telemetry alone does not prove presence and does
not make a machine online.
Last heartbeat received from the agent.
Null until an agent has registered on the machine.
Model of the cards, when they are all the same.
Labels of the form key or key:value.
Set while the owner keeps the machine in maintenance.
The machine’s active marketplace link.
object
Marketplace identifier, for example vast or clore. The
marketplace filter of the server list selects by this value.
The machine’s offer on the marketplace. Present only while the machine
is listed; null — not listed.
object
rented — the machine is currently taken by a renter; expired —
the fixed-offer window has ended; listed — listed and free.
Offer price per GPU-hour.
The floor bid, if the marketplace supports one.
End of the fixed-offer window; null for a rolling one.
Length of the rolling window, when the offer uses one.
Current state of the host — the last accepted reading, not history. Absent entirely while the agent has never reported.
object
The moment of the host reading itself, not of the response.
True when the reading is older than 300 seconds or missing.
Current network receive rate.
Current network transmit rate.
Draw of the whole host, GPUs included. Do not add GPU power on top — that would count it twice.
Timestamp of the oldest GPU reading used in the aggregates. Null if any GPU reading has no timestamp.
The aggregates are older than 300 seconds, there are no cards, or the age is unknown.
Current state of the cards; empty while there are no readings — and while the account is frozen.
Current state of one card.
object
Position of the card in the machine.
Timestamp of this GPU’s reading. It is independent of the host timestamp.
True when this GPU’s reading is older than 300 seconds or missing.
Check this flag even when the host readings block is absent.
Cursor of the next page; null — there are no more pages.
Example
{ "generated_at": "2026-09-10T10:15:30.123456Z", "data_as_of": "2026-09-10T10:15:30.123456Z", "items": [ { "presence": "online", "marketplace": { "listing": { "state": "listed" } } } ]}Headers
Section titled “Headers”Entity tag of the returned snapshot.
The snapshot has not changed since the presented entity tag.
Headers
Section titled “Headers”Entity tag of the returned snapshot.
The token is missing, expired, revoked or issued for another purpose.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}The token is genuine, but this operation is not available to it.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}This path does not support the requested HTTP method.
Check the Allow header for supported methods.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}Headers
Section titled “Headers”Methods this path accepts.
Request parameters failed validation.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}Too many requests or failed authentication attempts.
Check the token and wait for Retry-After seconds before retrying.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}Headers
Section titled “Headers”Seconds to wait before retrying.
The data source is temporarily unavailable.
RFC 9457 error response with a stable machine-readable code.
object
https://flotera.com/problems/<code>.
Use this code to identify the error and decide whether to retry or correct the request.
Example
{ "code": "unauthorized"}Headers
Section titled “Headers”Seconds to wait before retrying.