Skip to main content
GET
Retrieve file metadata
Returns metadata only (id, size, filename, purpose, timestamps). For bytes use GET /v1/files/{fileId}/content. Workspace-scoped: cross-workspace lookup returns 404 (we don’t leak existence).

Authorizations

Authorization
string
header
required

API key in format: Bearer inf_***

Path Parameters

fileId
string
required

The id returned by POST /v1/files, file_-prefixed. Not a UUID — passing a bare UUID will not resolve.

Response

File metadata

id
string

File handle, file_ followed by a base62 id. Use it on every other /v1/files route.

Example:

"file_1hR9xTPZqK4mVLc2nJ7fY5wB"

object
string

Always file.

Example:

"file"

bytes
integer

Stored size in bytes. Counts against the workspace storage quota.

Example:

245192

created_at
integer

Unix timestamp, in seconds, of when the file was stored.

Example:

1713204900

filename
string

Sanitized basename. Any directory component of the uploaded name is stripped.

Example:

"report.pdf"

purpose
enum<string>

What the file is for. pipeline_artifact and media_artifact are stamped on files our own workflow and media-job workers produce; they appear in listings even though a caller rarely uploads with them.

Available options:
assistants,
vision,
user_data,
batch,
pipeline_artifact,
media_artifact
Example:

"assistants"

status
string

Always processed — a constant kept for OpenAI parity. There is no asynchronous post-upload processing, so this never reports anything else and is not worth branching on.

Example:

"processed"