# Media Files

## List Media Files

> Retrieves a paginated list of media files.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Media Files"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MediaFilesListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MediaFiles"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"MediaFiles":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"model_type":{"type":"string"},"model_id":{"type":"integer"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"expires_at":{"type":"string","format":"date-time"},"is_expired":{"type":"boolean"}}},"PaginationMeta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer","nullable":true},"last_page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"to":{"type":"integer","nullable":true},"total":{"type":"integer"}}},"PaginationLinks":{"type":"object","properties":{"first":{"type":"string","format":"uri"},"last":{"type":"string","format":"uri"},"prev":{"type":"string","format":"uri","nullable":true},"next":{"type":"string","format":"uri","nullable":true}}}}},"paths":{"/api/v1/media-files":{"get":{"summary":"List Media Files","description":"Retrieves a paginated list of media files.","parameters":[{"name":"filter[model_type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by model_type."},{"name":"filter[model_id]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by model_id."},{"name":"filter[mime_type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by mime_type."},{"name":"filter[is_downloadable_file]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by is_downloadable_file."},{"name":"filter[not_expired]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by not_expired."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for pagination."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of results per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaFilesListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Media Files"]}}}}
```

## Download Media File

> Downloads a specific media file.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Media Files"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}}},"paths":{"/api/v1/media-files/{media_file}/download":{"get":{"summary":"Download Media File","description":"Downloads a specific media file.","parameters":[{"name":"media_file","in":"path","required":true,"schema":{"type":"string"},"description":"The media file identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Media Files"]}}}}
```
