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

# Templates

> List room templates available in your organization. Use a returned ID as templateId when creating a room.

## Endpoints

| Method | Path                | Description    |
| ------ | ------------------- | -------------- |
| `GET`  | `/api/v2/templates` | List templates |

***

## List templates

`GET /api/v2/templates`

### Query parameters

<ParamField query="source" type="&#x22;org&#x22; | &#x22;public&#x22;">
  `org` (default) returns your organization's templates. `public` returns marketplace templates.
</ParamField>

<ParamField query="page" type="number">
  Page number (default: 1).
</ParamField>

<ParamField query="limit" type="number">
  Results per page (default: 10).
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.flowla.com/api/v2/templates?source=org&page=1&limit=20" \
    -H "x-flowla-api-key: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.flowla.com/api/v2/templates",
      headers={"x-flowla-api-key": "YOUR_API_KEY"},
      params={"source": "org", "page": 1, "limit": 20},
  )
  print(response.json())
  ```

  ```js JavaScript theme={null}
  const res = await fetch(
    "https://api.flowla.com/api/v2/templates?source=org&page=1&limit=20",
    { headers: { "x-flowla-api-key": "YOUR_API_KEY" } }
  );
  const data = await res.json();
  ```
</CodeGroup>

### Response

<ResponseField name="results" type="array">
  Array of template objects.

  <Expandable title="Template object fields">
    <ResponseField name="id" type="string">
      Template identifier. Pass this as `templateId` when creating a room.
    </ResponseField>

    <ResponseField name="title" type="string">
      Template display name.
    </ResponseField>

    <ResponseField name="description" type="string">
      Optional description.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 creation timestamp.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="totalRecords" type="number">
  Total number of matching templates.
</ResponseField>

<ResponseField name="totalPages" type="number">
  Total number of pages at the current `limit`.
</ResponseField>

```json Response 200 theme={null}
{
  "results": [
    { "id": "tpl_01ab2", "title": "Enterprise onboarding", "description": null, "createdAt": "2026-01-15T10:00:00.000Z" },
    { "id": "tpl_01xy9", "title": "POC kickoff", "description": null, "createdAt": "2026-02-01T09:00:00.000Z" }
  ],
  "totalRecords": 2,
  "totalPages": 1
}
```
