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

# API

> API reference for Amara: every `amara.api.*` operation with input and output types.

Every `amara.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Activity

### get

`activity.get`

Get a single activity item by id

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.activity.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `activity_id` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string` | No | — |
| `type` | `number \| string` | No | — |
| `type_name` | `string` | No | — |
| `created` | `string` | No | — |
| `video` | `string` | No | — |
| `video_uri` | `string` | No | — |
| `language` | `string` | No | — |
| `language_url` | `string` | No | — |
| `user` | `object` | No | — |
| `comment` | `string` | No | — |
| `new_video_title` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="user full type">
    ```ts theme={null}
    {
      id?: string,
      username?: string,
      uri?: string
    } | string
    ```
  </Accordion>
</AccordionGroup>

***

### list

`activity.list`

List platform activity with optional filters

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.activity.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team` | `string` | No | — |
| `type` | `string \| number` | No | — |
| `after` | `string` | No | — |
| `limit` | `number` | No | Page size |
| `video` | `string` | No | — |
| `before` | `string` | No | — |
| `offset` | `number` | No | Result offset |
| `language` | `string` | No | — |
| `team_activity` | `string \| boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id?: number | string,
      type?: number | string,
      type_name?: string,
      created?: string | null,
      video?: string | null,
      video_uri?: string | null,
      language?: string | null,
      language_url?: string | null,
      user?: {
        id?: string,
        username?: string,
        uri?: string
      } | string | null,
      comment?: string | null,
      new_video_title?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Languages

### listAvailable

`languages.listAvailable`

List all supported Amara language codes

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.languages.listAvailable({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `languages` | `object` | Yes | — |

<AccordionGroup>
  <Accordion title="languages full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Messages

### send

`messages.send`

Send a message to a user or team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.messages.send({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `subject` | `string` | Yes | — |
| `content` | `string` | Yes | — |
| `user` | `string` | No | — |
| `team` | `string` | No | — |

**Output:** *empty object*

***

## Teams

### addMember

`teams.addMember`

Add a new member to a team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.addMember({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `user` | `string` | Yes | — |
| `role` | `owner \| admin \| manager \| contributor \| proj_lang_manager \| limited_contributor` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `user` | `object` | No | — |
| `role` | `string` | No | — |
| `languages_managed` | `string[]` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="user full type">
    ```ts theme={null}
    {
      username?: string | null,
      id?: string,
      full_name?: string | null,
      first_name?: string | null,
      last_name?: string | null,
      biography?: string | null,
      homepage?: string | null,
      avatar?: string | null,
      languages?: string[],
      num_videos?: number,
      resource_uri?: string,
      created_by?: string | null,
      is_partner?: boolean,
      activity_uri?: string
    } | string
    ```
  </Accordion>
</AccordionGroup>

***

### createProject

`teams.createProject`

Create a new project in a team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.createProject({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `slug` | `string` | Yes | — |
| `description` | `string` | No | — |
| `guidelines` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `slug` | `string` | No | — |
| `description` | `string` | No | — |
| `guidelines` | `string` | No | — |
| `created` | `string` | No | — |
| `modified` | `string` | No | — |
| `workflow_enabled` | `boolean` | No | — |
| `resource_uri` | `string` | No | — |

***

### deleteProject

`teams.deleteProject`

Delete a project from a team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.deleteProject({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `project_slug` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ok` | `true` | No | — |

***

### getDetails

`teams.getDetails`

Get team details by slug

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.getDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `slug` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `slug` | `string` | No | — |
| `type` | `string` | No | — |
| `description` | `string` | No | — |
| `team_visibility` | `string` | No | — |
| `video_visibility` | `string` | No | — |
| `is_visible` | `boolean` | No | — |
| `membership_policy` | `string` | No | — |
| `video_policy` | `string` | No | — |
| `activity_uri` | `string` | No | — |
| `members_uri` | `string` | No | — |
| `projects_uri` | `string` | No | — |
| `applications_uri` | `string` | No | — |
| `languages_uri` | `string` | No | — |
| `tasks_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

***

### getLanguages

`teams.getLanguages`

Get preferred/blacklisted language URIs for a team

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.getLanguages({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `slug` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `preferred` | `string` | No | — |
| `blacklisted` | `string` | No | — |

***

### getMember

`teams.getMember`

Get details for a specific team member

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.getMember({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `username` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `user` | `object` | No | — |
| `role` | `string` | No | — |
| `languages_managed` | `string[]` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="user full type">
    ```ts theme={null}
    {
      username?: string | null,
      id?: string,
      full_name?: string | null,
      first_name?: string | null,
      last_name?: string | null,
      biography?: string | null,
      homepage?: string | null,
      avatar?: string | null,
      languages?: string[],
      num_videos?: number,
      resource_uri?: string,
      created_by?: string | null,
      is_partner?: boolean,
      activity_uri?: string
    } | string
    ```
  </Accordion>
</AccordionGroup>

***

### getProject

`teams.getProject`

Get details for a specific team project

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.getProject({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `project_slug` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `slug` | `string` | No | — |
| `description` | `string` | No | — |
| `guidelines` | `string` | No | — |
| `created` | `string` | No | — |
| `modified` | `string` | No | — |
| `workflow_enabled` | `boolean` | No | — |
| `resource_uri` | `string` | No | — |

***

### getTask

`teams.getTask`

Get details for a specific team task

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.getTask({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `task_id` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string` | No | — |
| `video_id` | `string` | No | — |
| `language` | `string` | No | — |
| `type` | `string` | No | — |
| `priority` | `number` | No | — |
| `assignee` | `object` | No | — |
| `completed` | `string \| boolean` | No | — |
| `created` | `string` | No | — |
| `modified` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="assignee full type">
    ```ts theme={null}
    {
      username?: string | null,
      id?: string,
      full_name?: string | null,
      first_name?: string | null,
      last_name?: string | null,
      biography?: string | null,
      homepage?: string | null,
      avatar?: string | null,
      languages?: string[],
      num_videos?: number,
      resource_uri?: string,
      created_by?: string | null,
      is_partner?: boolean,
      activity_uri?: string
    } | string
    ```
  </Accordion>
</AccordionGroup>

***

### list

`teams.list`

List teams

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      name?: string,
      slug?: string,
      type?: string | null,
      description?: string | null,
      team_visibility?: string | null,
      video_visibility?: string | null,
      is_visible?: boolean,
      membership_policy?: string | null,
      video_policy?: string | null,
      activity_uri?: string,
      members_uri?: string,
      projects_uri?: string,
      applications_uri?: string | null,
      languages_uri?: string | null,
      tasks_uri?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listApplications

`teams.listApplications`

List membership applications for a team

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.listApplications({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `status` | `string` | No | — |
| `user` | `string` | No | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id?: number | string,
      user?: {
        username?: string | null,
        id?: string,
        full_name?: string | null,
        first_name?: string | null,
        last_name?: string | null,
        biography?: string | null,
        homepage?: string | null,
        avatar?: string | null,
        languages?: string[],
        num_videos?: number,
        resource_uri?: string,
        created_by?: string | null,
        is_partner?: boolean,
        activity_uri?: string
      } | string,
      status?: string,
      created?: string | null,
      message?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listMembers

`teams.listMembers`

List members of a team

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.listMembers({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      user?: {
        username?: string | null,
        id?: string,
        full_name?: string | null,
        first_name?: string | null,
        last_name?: string | null,
        biography?: string | null,
        homepage?: string | null,
        avatar?: string | null,
        languages?: string[],
        num_videos?: number,
        resource_uri?: string,
        created_by?: string | null,
        is_partner?: boolean,
        activity_uri?: string
      } | string,
      role?: string,
      languages_managed?: string[],
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listProjects

`teams.listProjects`

List projects within a team

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.listProjects({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      name?: string,
      slug?: string,
      description?: string | null,
      guidelines?: string | null,
      created?: string | null,
      modified?: string | null,
      workflow_enabled?: boolean,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listTasks

`teams.listTasks`

List tasks within a team with optional filters

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.teams.listTasks({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `assignee` | `string` | No | — |
| `priority` | `number` | No | — |
| `type` | `string` | No | — |
| `video_id` | `string` | No | — |
| `completed` | `string \| boolean` | No | — |
| `open` | `string \| boolean` | No | — |
| `order_by` | `string` | No | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id?: number | string,
      video_id?: string,
      language?: string,
      type?: string,
      priority?: number,
      assignee?: {
        username?: string | null,
        id?: string,
        full_name?: string | null,
        first_name?: string | null,
        last_name?: string | null,
        biography?: string | null,
        homepage?: string | null,
        avatar?: string | null,
        languages?: string[],
        num_videos?: number,
        resource_uri?: string,
        created_by?: string | null,
        is_partner?: boolean,
        activity_uri?: string
      } | string | null,
      completed?: string | boolean | null,
      created?: string | null,
      modified?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### removeMember

`teams.removeMember`

Remove a member from a team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.removeMember({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `username` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ok` | `true` | No | — |

***

### updateMember

`teams.updateMember`

Update member role in a team

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.updateMember({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `username` | `string` | Yes | — |
| `role` | `owner \| admin \| manager \| contributor \| proj_lang_manager \| limited_contributor` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `user` | `object` | No | — |
| `role` | `string` | No | — |
| `languages_managed` | `string[]` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="user full type">
    ```ts theme={null}
    {
      username?: string | null,
      id?: string,
      full_name?: string | null,
      first_name?: string | null,
      last_name?: string | null,
      biography?: string | null,
      homepage?: string | null,
      avatar?: string | null,
      languages?: string[],
      num_videos?: number,
      resource_uri?: string,
      created_by?: string | null,
      is_partner?: boolean,
      activity_uri?: string
    } | string
    ```
  </Accordion>
</AccordionGroup>

***

### updateProject

`teams.updateProject`

Update a team project

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.teams.updateProject({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `team_slug` | `string` | Yes | — |
| `project_slug` | `string` | Yes | — |
| `name` | `string` | No | — |
| `description` | `string` | No | — |
| `guidelines` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `slug` | `string` | No | — |
| `description` | `string` | No | — |
| `guidelines` | `string` | No | — |
| `created` | `string` | No | — |
| `modified` | `string` | No | — |
| `workflow_enabled` | `boolean` | No | — |
| `resource_uri` | `string` | No | — |

***

## Users

### getActivity

`users.getActivity`

List activity for a user

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.users.getActivity({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `identifier` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id?: number | string,
      type?: number | string,
      type_name?: string,
      created?: string | null,
      video?: string | null,
      video_uri?: string | null,
      language?: string | null,
      language_url?: string | null,
      user?: {
        id?: string,
        username?: string,
        uri?: string
      } | string | null,
      comment?: string | null,
      new_video_title?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getData

`users.getData`

Get a user profile by identifier (or "me")

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.users.getData({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `identifier` | `string` | Yes | Username, id\$…, or "me" |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `username` | `string` | No | — |
| `id` | `string` | No | — |
| `full_name` | `string` | No | — |
| `first_name` | `string` | No | — |
| `last_name` | `string` | No | — |
| `biography` | `string` | No | — |
| `homepage` | `string` | No | — |
| `avatar` | `string` | No | — |
| `languages` | `string[]` | No | — |
| `num_videos` | `number` | No | — |
| `resource_uri` | `string` | No | — |
| `created_by` | `string` | No | — |
| `is_partner` | `boolean` | No | — |
| `activity_uri` | `string` | No | — |

***

## Videos

### addSubtitleNote

`videos.addSubtitleNote`

Add an editor note to a subtitle set

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.addSubtitleNote({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `body` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `string` | No | — |
| `created` | `string` | No | — |
| `user` | `object` | No | — |

<AccordionGroup>
  <Accordion title="user full type">
    ```ts theme={null}
    {
      id?: string,
      username?: string,
      uri?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### addUrl

`videos.addUrl`

Add a URL to a video

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.addUrl({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `url` | `string` | Yes | — |
| `primary` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `url` | `string` | No | — |
| `primary` | `boolean` | No | — |
| `original` | `boolean` | No | — |
| `id` | `number` | No | — |
| `resource_uri` | `string` | No | — |
| `videoid` | `string` | No | — |
| `type` | `string` | No | — |

***

### create

`videos.create`

Create a video from a public URL

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_url` | `string` | Yes | — |
| `title` | `string` | Yes | — |
| `team` | `string` | No | — |
| `project` | `string` | No | — |
| `duration` | `number` | No | — |
| `metadata` | `object` | No | — |
| `thumbnail` | `string` | No | — |
| `description` | `string` | No | — |
| `primary_audio_language_code` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `video_type` | `string` | No | — |
| `primary_audio_language_code` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `duration` | `number` | No | — |
| `thumbnail` | `string` | No | — |
| `created` | `string` | No | — |
| `team` | `string` | No | — |
| `project` | `string` | No | — |
| `all_urls` | `string[]` | No | — |
| `metadata` | `object` | No | — |
| `languages` | `object[]` | No | — |
| `activity_uri` | `string` | No | — |
| `urls_uri` | `string` | No | — |
| `subtitle_languages_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="languages full type">
    ```ts theme={null}
    {
      code?: string,
      name?: string,
      published?: boolean,
      dir?: string | null,
      subtitles_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### createSubtitleLanguage

`videos.createSubtitleLanguage`

Create a subtitle language on a video

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.createSubtitleLanguage({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `is_primary_audio_language` | `boolean` | No | — |
| `soft_limit_cpl` | `number` | No | — |
| `soft_limit_cps` | `number` | No | — |
| `soft_limit_lines` | `number` | No | — |
| `soft_limit_max_duration` | `number` | No | — |
| `soft_limit_min_duration` | `number` | No | — |
| `subtitles_complete` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `language_code` | `string` | No | — |
| `is_primary_audio_language` | `boolean` | No | — |
| `is_rtl` | `boolean` | No | — |
| `soft_limit_cpl` | `number` | No | — |
| `soft_limit_cps` | `number` | No | — |
| `soft_limit_lines` | `number` | No | — |
| `soft_limit_max_duration` | `number` | No | — |
| `soft_limit_min_duration` | `number` | No | — |
| `published` | `boolean` | No | — |
| `name` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `metadata` | `object` | No | — |
| `subtitle_count` | `number` | No | — |
| `subtitles_complete` | `boolean` | No | — |
| `versions` | `object[]` | No | — |
| `subtitles_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="versions full type">
    ```ts theme={null}
    {
      author?: {
        id?: string,
        username?: string,
        uri?: string
      } | null,
      published?: boolean,
      version_number?: number,
      created?: string | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### createSubtitles

`videos.createSubtitles`

Create or update subtitles for a language

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.createSubtitles({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `title` | `string` | No | — |
| `action` | `string` | No | — |
| `metadata` | `object` | No | — |
| `subtitles` | `string \| any[]` | No | — |
| `sub_format` | `string` | No | — |
| `description` | `string` | No | — |
| `subtitles_url` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `version_number` | `number` | No | — |
| `sub_format` | `string` | No | — |
| `subtitles` | `object` | No | — |
| `author` | `object` | No | — |
| `created` | `string` | No | — |
| `description` | `string` | No | — |
| `language` | `object` | No | — |
| `metadata` | `object` | No | — |
| `notes_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |
| `site_uri` | `string` | No | — |
| `title` | `string` | No | — |
| `video_description` | `string` | No | — |
| `video_title` | `string` | No | — |
| `actions_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="subtitles full type">
    ```ts theme={null}
    {
      start?: number,
      end?: number,
      text?: string,
      meta?: {
      },
      position?: number
    }[] | string
    ```
  </Accordion>

  <Accordion title="author full type">
    ```ts theme={null}
    {
      id?: string,
      username?: string,
      uri?: string
    }
    ```
  </Accordion>

  <Accordion title="language full type">
    ```ts theme={null}
    {
      code?: string,
      dir?: string | null,
      name?: string
    }
    ```
  </Accordion>

  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteUrl

`videos.deleteUrl`

Delete a video URL

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.deleteUrl({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `url_id` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ok` | `true` | No | — |

***

### fetchSubtitlesData

`videos.fetchSubtitlesData`

Fetch subtitles for a video language

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.fetchSubtitlesData({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `format` | `string` | No | Subtitle format (default json) |
| `sub_format` | `string` | No | Alias for format |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `version_number` | `number` | No | — |
| `sub_format` | `string` | No | — |
| `subtitles` | `object` | No | — |
| `author` | `object` | No | — |
| `created` | `string` | No | — |
| `description` | `string` | No | — |
| `language` | `object` | No | — |
| `metadata` | `object` | No | — |
| `notes_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |
| `site_uri` | `string` | No | — |
| `title` | `string` | No | — |
| `video_description` | `string` | No | — |
| `video_title` | `string` | No | — |
| `actions_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="subtitles full type">
    ```ts theme={null}
    {
      start?: number,
      end?: number,
      text?: string,
      meta?: {
      },
      position?: number
    }[] | string
    ```
  </Accordion>

  <Accordion title="author full type">
    ```ts theme={null}
    {
      id?: string,
      username?: string,
      uri?: string
    }
    ```
  </Accordion>

  <Accordion title="language full type">
    ```ts theme={null}
    {
      code?: string,
      dir?: string | null,
      name?: string
    }
    ```
  </Accordion>

  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getSubtitleLanguageDetails

`videos.getSubtitleLanguageDetails`

Get details for a subtitle language

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.getSubtitleLanguageDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `language_code` | `string` | No | — |
| `is_primary_audio_language` | `boolean` | No | — |
| `is_rtl` | `boolean` | No | — |
| `soft_limit_cpl` | `number` | No | — |
| `soft_limit_cps` | `number` | No | — |
| `soft_limit_lines` | `number` | No | — |
| `soft_limit_max_duration` | `number` | No | — |
| `soft_limit_min_duration` | `number` | No | — |
| `published` | `boolean` | No | — |
| `name` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `metadata` | `object` | No | — |
| `subtitle_count` | `number` | No | — |
| `subtitles_complete` | `boolean` | No | — |
| `versions` | `object[]` | No | — |
| `subtitles_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="versions full type">
    ```ts theme={null}
    {
      author?: {
        id?: string,
        username?: string,
        uri?: string
      } | null,
      published?: boolean,
      version_number?: number,
      created?: string | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getUrl

`videos.getUrl`

Get a single video URL by id

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.getUrl({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `url_id` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `url` | `string` | No | — |
| `primary` | `boolean` | No | — |
| `original` | `boolean` | No | — |
| `id` | `number` | No | — |
| `resource_uri` | `string` | No | — |
| `videoid` | `string` | No | — |
| `type` | `string` | No | — |

***

### getUrlDetails

`videos.getUrlDetails`

Look up a video by its public URL

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.getUrlDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `url` | `string` | Yes | Public video URL to look up |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id: string,
      video_type?: string | null,
      primary_audio_language_code?: string | null,
      title?: string | null,
      description?: string | null,
      duration?: number | null,
      thumbnail?: string | null,
      created?: string | null,
      team?: string | null,
      project?: string | null,
      all_urls?: string[],
      metadata?: {
      },
      languages?: {
        code?: string,
        name?: string,
        published?: boolean,
        dir?: string | null,
        subtitles_uri?: string,
        resource_uri?: string
      }[],
      activity_uri?: string,
      urls_uri?: string,
      subtitle_languages_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### list

`videos.list`

List videos with optional filters and pagination

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `sort` | `string` | No | List ordering (mapped to order\_by) |
| `team` | `string` | No | — |
| `limit` | `number` | No | Page size |
| `owner` | `string` | No | — |
| `offset` | `number` | No | Result offset |
| `archive` | `string \| boolean` | No | — |
| `project` | `string` | No | — |
| `language` | `string` | No | — |
| `video_id` | `string` | No | — |
| `video_url` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id: string,
      video_type?: string | null,
      primary_audio_language_code?: string | null,
      title?: string | null,
      description?: string | null,
      duration?: number | null,
      thumbnail?: string | null,
      created?: string | null,
      team?: string | null,
      project?: string | null,
      all_urls?: string[],
      metadata?: {
      },
      languages?: {
        code?: string,
        name?: string,
        published?: boolean,
        dir?: string | null,
        subtitles_uri?: string,
        resource_uri?: string
      }[],
      activity_uri?: string,
      urls_uri?: string,
      subtitle_languages_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listActivity

`videos.listActivity`

List activity for a video

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.listActivity({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      id?: number | string,
      type?: number | string,
      type_name?: string,
      created?: string | null,
      video?: string | null,
      video_uri?: string | null,
      language?: string | null,
      language_url?: string | null,
      user?: {
        id?: string,
        username?: string,
        uri?: string
      } | string | null,
      comment?: string | null,
      new_video_title?: string | null,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSubtitleActions

`videos.listSubtitleActions`

List available subtitle actions

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.listSubtitleActions({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      action: string,
      label?: string,
      complete?: boolean | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSubtitleLanguages

`videos.listSubtitleLanguages`

List subtitle languages for a video

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.listSubtitleLanguages({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      created?: string | null,
      language_code?: string,
      is_primary_audio_language?: boolean,
      is_rtl?: boolean,
      soft_limit_cpl?: number | null,
      soft_limit_cps?: number | null,
      soft_limit_lines?: number | null,
      soft_limit_max_duration?: number | null,
      soft_limit_min_duration?: number | null,
      published?: boolean,
      name?: string | null,
      title?: string | null,
      description?: string | null,
      metadata?: {
      },
      subtitle_count?: number,
      subtitles_complete?: boolean,
      versions?: {
        author?: {
          id?: string,
          username?: string,
          uri?: string
        } | null,
        published?: boolean,
        version_number?: number,
        created?: string | null
      }[],
      subtitles_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSubtitleNotes

`videos.listSubtitleNotes`

List editor notes on a subtitle set

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.listSubtitleNotes({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      body?: string,
      created?: string | null,
      user?: {
        id?: string,
        username?: string,
        uri?: string
      } | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listUrls

`videos.listUrls`

List URLs associated with a video

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.listUrls({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `limit` | `number` | No | Page size |
| `offset` | `number` | No | Result offset |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `meta` | `object` | No | — |
| `objects` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="meta full type">
    ```ts theme={null}
    {
      previous?: string | null,
      next?: string | null,
      offset?: number,
      limit?: number,
      total_count?: number
    }
    ```
  </Accordion>

  <Accordion title="objects full type">
    ```ts theme={null}
    {
      created?: string | null,
      url?: string,
      primary?: boolean,
      original?: boolean,
      id?: number,
      resource_uri?: string,
      videoid?: string | null,
      type?: string | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### makeUrlPrimary

`videos.makeUrlPrimary`

Set a video URL as primary

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.makeUrlPrimary({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `url_id` | `string \| number` | Yes | — |
| `primary` | `boolean` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `url` | `string` | No | — |
| `primary` | `boolean` | No | — |
| `original` | `boolean` | No | — |
| `id` | `number` | No | — |
| `resource_uri` | `string` | No | — |
| `videoid` | `string` | No | — |
| `type` | `string` | No | — |

***

### performSubtitleAction

`videos.performSubtitleAction`

Perform a subtitle action (publish, save-draft, …)

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.performSubtitleAction({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `action` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ok` | `true` | No | — |

***

### update

`videos.update`

Update video metadata

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.update({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `duration` | `number` | No | — |
| `team` | `string` | No | — |
| `project` | `string` | No | — |
| `thumbnail` | `string` | No | — |
| `metadata` | `object` | No | — |
| `primary_audio_language_code` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `video_type` | `string` | No | — |
| `primary_audio_language_code` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `duration` | `number` | No | — |
| `thumbnail` | `string` | No | — |
| `created` | `string` | No | — |
| `team` | `string` | No | — |
| `project` | `string` | No | — |
| `all_urls` | `string[]` | No | — |
| `metadata` | `object` | No | — |
| `languages` | `object[]` | No | — |
| `activity_uri` | `string` | No | — |
| `urls_uri` | `string` | No | — |
| `subtitle_languages_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="languages full type">
    ```ts theme={null}
    {
      code?: string,
      name?: string,
      published?: boolean,
      dir?: string | null,
      subtitles_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### updateSubtitleLanguage

`videos.updateSubtitleLanguage`

Update subtitle language settings

**Risk:** `write`

```ts theme={null}
await corsair.amara.api.videos.updateSubtitleLanguage({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |
| `language_code` | `string` | Yes | — |
| `is_primary_audio_language` | `boolean` | No | — |
| `soft_limit_cpl` | `number` | No | — |
| `soft_limit_cps` | `number` | No | — |
| `soft_limit_lines` | `number` | No | — |
| `soft_limit_max_duration` | `number` | No | — |
| `soft_limit_min_duration` | `number` | No | — |
| `subtitles_complete` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created` | `string` | No | — |
| `language_code` | `string` | No | — |
| `is_primary_audio_language` | `boolean` | No | — |
| `is_rtl` | `boolean` | No | — |
| `soft_limit_cpl` | `number` | No | — |
| `soft_limit_cps` | `number` | No | — |
| `soft_limit_lines` | `number` | No | — |
| `soft_limit_max_duration` | `number` | No | — |
| `soft_limit_min_duration` | `number` | No | — |
| `published` | `boolean` | No | — |
| `name` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `metadata` | `object` | No | — |
| `subtitle_count` | `number` | No | — |
| `subtitles_complete` | `boolean` | No | — |
| `versions` | `object[]` | No | — |
| `subtitles_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="versions full type">
    ```ts theme={null}
    {
      author?: {
        id?: string,
        username?: string,
        uri?: string
      } | null,
      published?: boolean,
      version_number?: number,
      created?: string | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### viewDetails

`videos.viewDetails`

Get details for a single video by id

**Risk:** `read`

```ts theme={null}
await corsair.amara.api.videos.viewDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `video_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `video_type` | `string` | No | — |
| `primary_audio_language_code` | `string` | No | — |
| `title` | `string` | No | — |
| `description` | `string` | No | — |
| `duration` | `number` | No | — |
| `thumbnail` | `string` | No | — |
| `created` | `string` | No | — |
| `team` | `string` | No | — |
| `project` | `string` | No | — |
| `all_urls` | `string[]` | No | — |
| `metadata` | `object` | No | — |
| `languages` | `object[]` | No | — |
| `activity_uri` | `string` | No | — |
| `urls_uri` | `string` | No | — |
| `subtitle_languages_uri` | `string` | No | — |
| `resource_uri` | `string` | No | — |

<AccordionGroup>
  <Accordion title="metadata full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="languages full type">
    ```ts theme={null}
    {
      code?: string,
      name?: string,
      published?: boolean,
      dir?: string | null,
      subtitles_uri?: string,
      resource_uri?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***


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