---
title: Floyo API - Teams
slug: floyo-api-teams
createdAt: 2026-08-06T15:45:45.103Z
---

# Get team balance

Retrieve your team's current FloTime and Partner Nodes balance. Use this endpoint to check remaining credits before starting runs, or to monitor usage from your application.

To retrieve the team balance make an **authenticated** `GET` request to `/team/balance`.

:::hint{type="info"}
The balance returned is for the team your API key belongs to.
:::

***

**RESPONSE ATTRIBUTES**

| Attribute              | Type     | Description                                                                                      |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------ |
| `plan`                 | `string` | The team's current plan.                                                                         |
| `team`                 | `object` | The team this balance belongs to. Contains `name`, `slug`, and `public_id`.                      |
| `flotime_ms`           | `number` | Remaining FloTime balance from the team's plan, in milliseconds.                                 |
| `flex_flotime_ms`      | `number` | Remaining Flex FloTime balance (purchased FloTime outside the plan allocation), in milliseconds. |
| `total_flotime_ms`     | `number` | Total FloTime available before active runs: `flotime_ms + flex_flotime_ms`.                      |
| `active_running_ms`    | `number` | FloTime currently reserved by running workflows, in milliseconds.                                |
| `available_flotime_ms` | `number` | FloTime still available to start new runs: `total_flotime_ms - active_running_ms`.               |
| `partner_nodes_usd`    | `number` | Remaining Partner Nodes balance, in USD.                                                         |
| `calculated_at`        | `string` | ISO8601 timestamp when this balance snapshot was calculated.                                     |

The `team` object includes:

| Attribute   | Type     | Description                                   |
| ----------- | -------- | --------------------------------------------- |
| `name`      | `string` | Display name of the team.                     |
| `slug`      | `string` | URL slug of the team.                         |
| `public_id` | `string` | Public ID of the team, e.g., `team_a1b2c3d4`. |

***

**EXAMPLE REQUEST:**

:::CodeblockTabs
cURL

```curl
curl -X GET "https://api.floyo.ai/team/balance" \
     -H "Authorization: Bearer <YOUR_API_KEY>" \
     -H "Accept: application/json"
```
:::

***

**EXAMPLE RESPONSES:**

`STATUS 200`: Team balance retrieved successfully.

```json
{
    "plan": "pro",
    "team": {
        "name": "Acme Studio",
        "slug": "acme-studio",
        "public_id": "team_a1b2c3d4e5f6g7h8"
    },
    "flotime_ms": 3600000,
    "flex_flotime_ms": 600000,
    "total_flotime_ms": 4200000,
    "active_running_ms": 120000,
    "available_flotime_ms": 4080000,
    "partner_nodes_usd": 25.5,
    "calculated_at": "2026-08-05T18:00:00.000Z"
}
```

`STATUS 400`: Invalid team context.

```json
{
    "error": "Invalid team context",
    "message": "A valid team must be selected to retrieve its balance."
}
```

`STATUS 500`: Balance unavailable.

```json
{
    "error": "Failed to fetch team balance",
    "message": "The team balance is currently unavailable. Please try again."
}
```

***

## Tips & Best Practices

### Check `available_flotime_ms` before starting runs

`available_flotime_ms` subtracts FloTime already reserved by active runs. Prefer this value over `total_flotime_ms` when deciding whether your team has enough credits to start a new workflow.

***

### Monitor Partner Nodes separately

Partner Nodes are billed in USD and tracked independently from FloTime. If your workflows use Partner Nodes, check `partner_nodes_usd` as well — a run can fail with `insufficient_partner_nodes_credits` even when FloTime remains.

***

### Balance is a point-in-time snapshot

The response reflects the balance at `calculated_at`. Active runs and new purchases can change these values quickly, so re-fetch before critical batches or when handling `insufficient_balance` errors.
