# Data download endpoint for outbound files **GET /api/v3.0/{engagementSid}/files/{outboundFileCategory}/{uniqueFileName}** Download a file from Integration Hub. This endpoint allows you to retrieve files that have been created by Adra. ### Response Format - Returns file as binary stream - Content-Type matches the original file format - Headers include: - `Content-Length`: File size in bytes - `Content-Type`: File MIME type - `Last-Modified`: Timestamp of last modification - `ETag`: File version identifier ### Common Use Cases 1. Downloading created reports 2. Retrieving journal entries ### Error Handling - 404: File not found or deleted - 403: Insufficient permissions - 401: Invalid or expired token ### Best Practices - Cache files using ETag header - Implement retry logic with exponential backoff - Handle large files with streaming ## Servers - Production server: https://integrationhub.adra.com (Production server) ## Authentication methods - Adra personal access token & Adra oauth code pkce & Adra oauth client cred ## Parameters #### Headers - **x-gw-stloc-hint** (string) Optional HTTP header to optimize request routing and reduce latency. Possible values: EUWE-01 (West Europe), AUEA-01 (Australia East), USEA-01 (East US), NO01 (Norway East). - **If-Modified-Since** (string(date-time)) Browser cache instruction (optional) - **If-None-Match** (string) Browser cache instruction (optional). - **If-Unmodified-Since** (string(date-time)) Browser cache instruction (optional). - **If-Match** (string) Browser cache instruction (optional). #### Path parameters - **engagementSid** (string) Short identifier for engagement (as in URLs) - **outboundFileCategory** (string) - **uniqueFileName** (string) The name of the file ## Responses ### 200: Success #### Headers - **ETag** (string) The file's ETag (hash) - **Last-Modified** (string(date-time)) The file's modified date #### Body Parameters: */* (string(binary)) string(binary) ### 304: Not modified #### Headers - **ETag** (string) The file's ETag (hash) - **Last-Modified** (string(date-time)) The file's modified date ### 400: Bad Request: see problem details for more information #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### 401: Unauthorized: Missing an authorization header or token, or the token has expired #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### 403: Forbidden: You don't have access to the engagement, the engagement doesn't have IH or you don't have IH access on the engagement, or the client is trying to access an unauthorized tenant resource #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### 404: Not found #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### 412: Precondition Failed: Access control list (ACL) validation failed #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### 500: Internal Server Error #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) ### default: Error #### Body Parameters: application/problem+json (object) - **type** (string | null) - **title** (string | null) - **status** (integer(int32) | null) - **detail** (string | null) - **instance** (string | null) [Powered by Bump.sh](https://bump.sh)