Omnia docs
REST APIProject

List Project Files

Retrieve the files in a Project: what Omnia Agent delivered while working on it and what the user uploaded, the latest version of each. Each file comes with a signed url that downloads its content until urlsExpireAt; fetch it to read the file, and list again for fresh URLs once they expire.

GET
/api/v1/projects/{project}/files

Authorization

BearerAuth
AuthorizationBearer <token>

API token authentication. Use format: Bearer ot_your-token-here

In: header

Path Parameters

project*string

The Project's id, or its reference (PRJ-42) together with brand. A reference is case-insensitive.

Query Parameters

brand?string

Brand the Project belongs to. Required when project is a reference, since each brand numbers its Projects from PRJ-1; ignored when project is an id.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.useomnia.com/api/v1/projects/550e8400-e29b-41d4-a716-446655440000/files"
{
  "data": {
    "files": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "filename": "comparison-page.md",
        "contentType": "text/markdown",
        "sizeBytes": 4096,
        "version": 2,
        "createdBy": "omnio",
        "storedAt": "2026-01-01T09:30:00Z",
        "url": "https://files.example.com/comparison-page.md?signature=abc"
      }
    ],
    "urlsExpireAt": "2026-01-01T09:30:00Z"
  }
}
{
  "error": {
    "code": 1002,
    "description": "Invalid input parameters"
  }
}
{
  "error": {
    "code": 1004,
    "description": "Invalid or expired API token"
  }
}
{
  "error": {
    "code": 1006,
    "description": "Item not found"
  }
}
{
  "error": {
    "code": 1001,
    "description": "Internal error"
  }
}