> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aigenda.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Spaces and minutes

> Where recordings live, which plan pays for the minutes, and how to check your rights.

A space groups recordings, members, and a plan. Every account has a personal space. Team spaces appear when colleagues invite you. Almost every recording request includes `space_id`.

## Find your space\_id

```bash theme={null}
curl "https://api.aigenda.tech/api/spaces/?limit=50&offset=0" \
  -H "Authorization: Bearer <access>"
```

```json Response 200 (main fields) theme={null}
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "is_main_space": true,
      "space": {
        "id": 1024,
        "name": "Personal space",
        "description": "Main space",
        "subscribe": {
          "offer": { "name": "PRO", "audio_limit": 72000 },
          "usage_count": 5400,
          "available_usage_count": 66600,
          "is_active": true,
          "end_date": "2026-11-17"
        }
      }
    },
    {
      "is_main_space": false,
      "space": { "id": 2048, "name": "Sales", "description": "Client call recordings" }
    }
  ]
}
```

Your personal space is marked with `is_main_space: true`. Its `space.id` is your `space_id`.

## Minutes

The plan and balance are in `space.subscribe`. All values are in **seconds**.

| Field | Meaning |
| - | - |
| `offer.name` | Plan name |
| `offer.audio_limit` | How many seconds the plan gives per period |
| `usage_count` | How many are already used |
| `available_usage_count` | How many are left |
| `end_date` | When the period ends |

A space without a plan has `subscribe` set to `null`.

[`GET /api/spaces/{space_id}/`](/en/api-reference/spaces/get) returns the current balance of a specific space.

**When minutes are charged.** When you start processing, for exactly the recording's duration in whole seconds (a 71.8 s recording is charged 71 s). Uploading without processing costs no minutes. If processing fails, the minutes come back on their own within a couple of minutes.

<Warning>
  Before starting processing, check that the balance is at least the recording's duration. Otherwise `classify` responds with `403` and `"code": 1`, see [Starting processing](/en/processing/start). A meeting bot needs at least 5 minutes left.
</Warning>

## Rights

In a team space you may not have the right to upload recordings. Check it in advance:

```bash theme={null}
curl "https://api.aigenda.tech/api/spaces/1024/my_rights/" \
  -H "Authorization: Bearer <access>"
```

You can upload recordings if the response contains `write_access: true`. Full list of fields: [Space rights](/en/api-reference/spaces/rights).

## Pagination

Lists (spaces, recordings, trash) are returned in pages. Control them with the `limit` and `offset` parameters. The `next` and `previous` links in the response use the `http://` scheme, so build the next page URL yourself: `offset = offset + limit` while `offset < count`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.