---
title: "Get File"
method: GET
path: "/files/{file_id}"
tags: ["files"]
---

# Get File

`GET /files/{file_id}`

## Request

- Base URL: `https://api.presentations.ai/api/v1`
- URL: `https://api.presentations.ai/api/v1/files/{file_id}`
- Auth: HTTP bearer

Get file metadata and extraction status.

## Path parameters

- `file_id` string, uuid, required

## Response `200`

Successful Response

- ExternalFileStatusResponse: External file metadata and extraction status keyed only by file ID.
  - `file_id` string, uuid, required
  - `filename` string, required
  - `status` 'CREATED' | 'RUNNING' | 'COMPLETED' | 'FAILED', required: Lifecycle state of an async task.
  - `error` string, nullable, required
  - `size_bytes` integer, required
  - `content_type` string, required
  - `char_count` integer, nullable, required
  - `content_sha256` string, nullable, required
  - `extracted_at` string, date-time, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `401`: Missing, malformed, expired, or revoked Bearer API key.
- `403`: The API key, workspace role, project scope, or plan lacks permission.
- `404`: The resource does not exist or is outside the caller's scope.
- `422`: A path, query, header, or request-body field failed validation.
- `429`: The caller exceeded the API rate limit.
- `500`: Unexpected server failure. Retry only idempotent operations and retain trace_id.

---

[API](https://skmtc.dev/presentations/apis/presentation-services-api.md) · [All operations](https://skmtc.dev/presentations/apis/presentation-services-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presentations/apis/presentation-services-api/revisions/da06cb2e2f32?raw)
