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

# Get File

`GET /v2/files/{file_uuid}`

Retrieve file metadata and access URL.

Args:
    file_uuid (str): UUID of the file to retrieve.

Returns:
    FileDetail: File metadata including:
        - file_url: Use this URL to download/view the file (valid for 30 minutes)
        - file_type: "image", "video", "text", or "document"
        - processing_status: For videos, check if "completed" before accessing frames
        - video_metadata: Contains frame_count and other video-specific info

Note: For videos, use GET /files/{file_uuid}/frames to access individual frames.

Example:
    GET /api/v2/files/{file_uuid}

## Path parameters

- `file_uuid` string, required

## Response `200`

OK

- FileDetail — Schema for returning detailed file information.
  - `file_uuid` string, required — Unique identifier for the file.
  - `organization_uuid` string, required — UUID of the organization that owns this file.
  - `workspace_uuid` string, nullable — UUID of the workspace this file belongs to, if any.
  - `remote_file_path` string, required — S3 path to the file (or directory for videos).
  - `content_type` string, required — MIME type of the file.
  - `file_type` string, required — Type of file content (text, image, video, document).
  - `file_size_bytes` integer, nullable — Size of file in bytes, if known.
  - `original_file_url` string, nullable — Original file URL or path from upload.
  - `uploaded_by_uuid` string, nullable — UUID of user who uploaded the file.
  - `video_metadata` object, nullable — Video metadata (fps, duration, etc.) for video files.
  - `file_url` string, nullable — Presigned URL to access the file. For videos, points to raw video file. Use GET /api/v2/files/{file_uuid}/frames to get frame URLs. May be null in list responses for performance.
  - `created_at` string, date-time, required — Timestamp when the file was created.
  - `updated_at` string, date-time, required — Timestamp when the file was last updated.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/aymara-ai/apis/aymara-api.md) · [All operations](https://skmtc.net/aymara-ai/apis/aymara-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aymara-ai/aymara-api/revisions/0cb64ef11adf/schema)
