# Get file metadata

Returns metadata plus a 1-hour signed read URL.

## GET /v1/files/{id}

> Get file metadata

Returns metadata plus a 1-hour signed read URL.

### Authentication

`Authorization: Bearer tr-xxx`

### Path Parameters

- **id** `string` **(required)**  
  File ID (with `file-` prefix)

### Response

- **id** `string`  
  File ID (with `file-` prefix)
- **object** `string`  
  
- **bytes** `integer`  
  Actual byte count (derived from the TOS HEAD)
- **created_at** `integer`  
  Upload time (Unix seconds)
- **filename** `string`  
  Original filename sent by the client
- **purpose** `string`  
  Optional business-purpose label echoed back
- **mime_type** `string`  
  MIME type
- **type** ``image` | `video` | `audio` | `file``  
  Auto-classified file kind
- **url** `string`  
  1-hour signed HTTPS read URL
- **expires_at** `integer`  
  Storage expiry (Unix seconds); non-null for over-quota uploads

### Error Codes

- `401`: 
- `404`: File not found or not owned by the caller
