> For the complete documentation index, see [llms.txt](https://rest-api.symphony.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rest-api.symphony.com/main/content-export-files/list-files.md).

# List Files

## Get a List of Files

> Retrieves a paginated and filterable list of files.

```json
{"openapi":"3.0.3","info":{"title":"File Management API","version":"1.0.1"},"tags":[{"name":"Files","description":"Operations related to file management"}],"servers":[{"url":"https://{vanity}.symphony.com","description":"Symphony provided tenant URL","variables":{"vanity":{"description":"Customer ID assigned by the service provider","default":"yourpodURL"}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The File Management API uses **JWT (JSON Web Tokens)** for authentication.\n\n##### Obtaining a Token\nTo retrieve a valid token, you must call the `login/idm/tokens` endpoint.\n* **Requirements:** Use a **Service Account** that has been assigned the **Content Export Reader** role.\n* **Response:** The JWT will be returned in the `access_token` field of the JSON response.\n* **Reference:** For detailed steps on the handshake, see the **OAuth2 Authenticate** documentation.\n\n##### Using the Token\nOnce obtained, include the token in the `Authorization` header for all API requests:\n`Authorization: Bearer <access_token>`\n"}},"schemas":{"FileType":{"type":"string","description":"The type of file being managed.","enum":["ContentExport"]},"SortableField":{"type":"string","description":"Indicates how the answer will be sorted.","enum":["name","generationDate","uploadTime","size","jobType","fileFormat","startTime","endTime"]},"JobType":{"type":"string","description":"Indicates how the file was submitted.","enum":["ADHOC","SCHEDULED","CURL"]},"FileFormat":{"type":"string","description":"Content export format.","enum":["ACTIANCE","SYMPHONY","EML"]},"FileMetadata":{"required":["id","name","type"],"type":"object","properties":{"id":{"type":"string","description":"Unique file identifier."},"name":{"type":"string","description":"File name."},"size":{"type":"integer","description":"File size in bytes.","format":"int64"},"uploadTime":{"type":"string","description":"Timestamp of when the file was uploaded (ISO 8601 format).","format":"date-time"},"contentType":{"type":"string","description":"MIME type of the file."},"integrityHash":{"type":"string","description":"A cryptographic hash of the file content."},"type":{"type":"string","description":"The type of file."},"encryption":{"type":"object","properties":{"encryptionKeyId":{"type":"string","description":"An identifier for the key used to encrypt the file."},"alg":{"type":"string","description":"Encryption algorithm used."}},"description":"Encryption details for the file."}},"discriminator":{"propertyName":"type","mapping":{"ContentExport":"#/components/schemas/ContentExportFile"}}},"Error":{"type":"object","properties":{"error":{"type":"string","description":"A descriptive error message."}}}}},"paths":{"/files/v1/":{"get":{"tags":["Files"],"summary":"Get a List of Files","description":"Retrieves a paginated and filterable list of files.","operationId":"getFileList","parameters":[{"name":"type","in":"query","description":"Mandatory query parameter to specify the file type. For Content Export files, use 'ContentExport'.","required":true,"style":"form","explode":true,"schema":{"$ref":"#/components/schemas/FileType"}},{"name":"page","in":"query","description":"Page number for pagination.","required":false,"style":"form","explode":true,"schema":{"minimum":1,"type":"integer","default":1}},{"name":"pageSize","in":"query","description":"Number of files per page (max 100).","required":false,"style":"form","explode":true,"schema":{"maximum":100,"minimum":1,"type":"integer","default":10}},{"name":"sortBy","in":"query","description":"Field to sort by.","required":false,"style":"form","explode":true,"schema":{"$ref":"#/components/schemas/SortableField"}},{"name":"sortOrder","in":"query","description":"Sort order.","required":false,"style":"form","explode":true,"schema":{"type":"string","default":"asc","enum":["asc","desc"]}},{"name":"name","in":"query","description":"Filter files by name. Supports partial matching (case-insensitive).","required":false,"style":"form","explode":true,"schema":{"type":"string"}},{"name":"upload-after","in":"query","description":"Filter by upload timestamp greater than (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"upload-before","in":"query","description":"Filter by upload timestamp less than (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"jobType","in":"query","description":"Filter by job type. **Only applicable when `type=ContentExport`**.","required":false,"style":"form","explode":true,"schema":{"$ref":"#/components/schemas/JobType"}},{"name":"fileFormat","in":"query","description":"Filter by file format. **Only applicable when `type=ContentExport`**.","required":false,"style":"form","explode":true,"schema":{"$ref":"#/components/schemas/FileFormat"}},{"name":"startTime-after","in":"query","description":"Filter by start timestamp greater than (ISO 8601). **Only applicable when `type=ContentExport`**.","schema":{"type":"string","format":"date-time"}},{"name":"endTime-before","in":"query","description":"Filter by end timestamp less than (ISO 8601). **Only applicable when `type=ContentExport`**.","schema":{"type":"string","format":"date-time"}},{"name":"generationDate","in":"query","description":"Filter by generation date. **Only applicable when `type=ContentExport`**.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"A list of files.","headers":{"X-Total-Count":{"description":"Total number of files before pagination.","style":"simple","explode":false,"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileMetadata"}}}}},"400":{"description":"Bad Request - Invalid query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Authentication failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden - Invalid entitlements.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```
