# List your transcriptions — Shorty API

> Returns the authenticated account’s transcriptions, newest first, cursor-paginated. Pass the previous response’s `next_cursor` as `?cursor=` for the next page; a cursor is only valid against the SAME query it was minted under.

```http
GET /v1/transcriptions
```

Returns the authenticated account’s transcriptions, newest first, cursor-paginated. Pass the previous response’s `next_cursor` as `?cursor=` for the next page; a cursor is only valid against the SAME query it was minted under.

## Authentication

Requires a Bearer credential — a `shk_live_` API key or an OAuth 2.1 access token with the scope for this resource. See [Authentication](/docs/api).

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `cursor` | query | No | — |
| `limit` | query | No | — |

## Example request

curl:

```bash
curl -X GET https://aishorty.com/v1/transcriptions?cursor=cursorValue&limit=20 \
  -H "Authorization: Bearer shk_live_your_key"
```

TypeScript (@aishorty/sdk):

```typescript
import { Shorty } from '@aishorty/sdk'

const shorty = new Shorty({ apiKey: process.env.SHORTY_API_KEY })

for await (const t of await shorty.transcriptions.list()) {
    console.log(t.id, t.status)
}
```

## Response · 200

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `Transcription[]` | Yes | — |
| `has_more` | `boolean` | Yes | Whether another page exists after this one. |
| `next_cursor` | `string or null` | Yes | Opaque cursor for the next page (pass as `?cursor=`), or null on the last page. Only valid against the SAME query filter. |

## Errors

On failure this endpoint returns an RFC 9457 problem body. Possible statuses:

- `400`
- `401`
- `403`
- `429`
- `500`

Switch on the problem `code`, not the status. See the [error reference](/docs/api/errors) for every code and how to fix it.
