Goatlab API Docs

Get status of a file

GET
/v1/files/{file_id}/status

This endpoint allows you to retrieve the processing status of a file by its ID. You must provide the file ID in the path and the user ID in the headers.

The response includes the overall processing status, the metadata extraction status, detailed step-by-step execution information, and any warnings about the file (such as length issues or virus detection).

Each step in the processing pipeline is tracked with its name, completion status, and timestamp. This allows you to see exactly where in the processing pipeline the file is or where it failed.

Authorization

ApiTokenAuth PRODUCT, GEN_AI
x-api-key<token>

API Key with role based permission

In: header

Scope: PRODUCT, GEN_AI

Path Parameters

file_id*string

The ID of the file whose status is to be retrieved

Header Parameters

x-user-id*string

The ID of the user the file belongs to

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/files/497f6eca-6276-4993-bfeb-53cbbbba6f08/status" \  -H "x-user-id: string"
{
  "processingStatus": "PROCESSED",
  "extractionStatus": "completed",
  "steps": [
    {
      "status": "ANTIVIRUS_SCANNING",
      "createdAt": "2026-04-15T09:43:13.247Z",
      "endedAt": "2026-04-15T09:43:14.204Z"
    },
    {
      "status": "PROCESSING",
      "createdAt": "2026-04-15T09:43:14.700Z",
      "endedAt": "2026-04-15T09:44:53.330Z"
    },
    {
      "status": "CHUNKING",
      "createdAt": "2026-04-15T09:44:53.430Z",
      "endedAt": "2026-04-15T09:45:13.599Z"
    }
  ],
  "warnings": {
    "length": true,
    "empty": false,
    "infected": false,
    "images": true
  }
}
{
  "message": {
    "description": "Validation failed",
    "errors": [
      {
        "path": "headers.x-user-id",
        "message": "x-user-id is required"
      }
    ]
  }
}
{
  "message": "Invalid API Key"
}

{
  "message": "Original file not found"
}

{
  "message": "Internal Server Error"
}