Skip to main content
GET
/
v1
/
files
List Files
curl --request GET \
  --url https://api.cuadra.ai/v1/files \
  --header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "id": "<string>",
      "filename": "<string>",
      "contentType": "<string>",
      "sizeBytes": 1,
      "sha256": "<string>",
      "status": "uploading",
      "isDuplicate": true,
      "storageCharged": 1,
      "createdAt": "2023-11-07T05:31:56Z",
      "processingStatus": {
        "progress": 0,
        "error": "Failed to extract text from PDF"
      },
      "processedAt": "2025-01-17T10:02:30Z",
      "associations": [
        {
          "resourceType": "<string>",
          "resourceId": "<string>",
          "createdAt": "2023-11-07T05:31:56Z"
        }
      ],
      "source": "api",
      "sourceDetail": "dashboard",
      "connectorMetadata": {
        "externalId": "<string>",
        "externalUrl": "https://docs.google.com/document/d/1Bxi...",
        "externalPath": "/Marketing/Q4 Reports/Revenue.pdf",
        "modifiedBy": "Jane Doe",
        "sourceModifiedAt": "2026-01-10T14:30:00Z",
        "labels": [
          "important",
          "q4-review"
        ],
        "extra": {
          "shared": true,
          "starred": false
        }
      }
    }
  ],
  "hasMore": true,
  "nextCursor": "file_xyz789"
}

Authorizations

Authorization
string
header
required

JWT token from Stytch B2B authentication (magic link, SSO, or M2M)

Query Parameters

statusFilter
string | null
limit
integer
default:20
Required range: 1 <= x <= 100
cursor
string | null

Opaque cursor

Response

Paginated list of files

Paginated file list response. Uses cursor-based pagination for scalability.

items
FileOut · object[]
required

List of files

hasMore
boolean
required

Whether more results are available

Example:

true

nextCursor
string | null

Cursor for next page (null if no more results)

Example:

"file_xyz789"