Data upload endpoint for inbound files to Adra Suite
Upload a file to the Integration Hub for processing in Adra Suite. This endpoint supports various file types depending on the inboundFileCategory.
File Size Limits
- Maximum file size: 100 MB
Required Headers
Authorization
: Bearer token for authenticationUser-Agent
: Client identifierContent-Length
: File size in bytes
Optional Headers
Content-Type
: File MIME typeLast-Modified
: File's last modification timestamp
Processing
After upload, the file will be:
- Validated for format and content
- Queued for processing
- Processed according to the inboundFileCategory
Use the status endpoint to track the processing status using the returned uniqueFileName.
Headers
-
A string that enables identifying the client. Logic-Apps, Boomi, Postman, and other integration tools add this automatically. (required)
-
The number of bytes for the file being uploaded (required)
-
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).
-
Upload file's content-type (optional)
-
Upload file's last modified date (optional)
Path parameters
-
Short identifier for engagement (as in URLs)
-
Specifies the category of the inbound file. Each category corresponds to a specific type of data being uploaded.
Values are
BalancerBalanceUpload
,BalancerTransactionsUpload
,MatcherTransactionUpload
, orLegalEntityUpload
. -
The name of the file with extension
Responses
-
Created
-
Bad Request: see problem details for more information
-
Unauthorized: Missing an authorization header or token, or the token has expired
-
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
-
Length Required: The file length information needs to be provided
-
Payload Too Large: The file is too big, needs to be under 100 MB
-
Internal Server Error
-
Error
curl --http1.1 -X POST \
'https://integrationhub.adra.com/api/v3.0/{engagementSid}/files/{inboundFileCategory}/example.xlsx' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'User-Agent: MyAgent/1.1' \
-H 'Content-Type: */*' \
-H 'Content-Length: 1234' \
--data-binary '@/path/to/your/file.xlsx' \
-k \
-v
import requests
url = 'https://integrationhub.adra.com/api/v3.0/{engagementSid}/files/{inboundFileCategory}/example.xlsx'
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'User-Agent': 'MyAgent/1.1',
'Content-Type': '*/*'
}
with open('/path/to/your/file.xlsx', 'rb') as f:
response = requests.post(url, headers=headers, data=f, verify=False)
print(response.json())
using System.Net.Http.Headers;
using System.Text.Json;
using IdentityModel.Client;
var baseAddress = "https://integrationhub.adra.com/api/v3.0/";
var engagementSid = "YOUR_ENGAGEMENT_SID";
var suggestedFileName = "YOUR_FILE_NAME.txt";
var fileCategory = "BalancerBalanceUpload";
var mediaTypeHeaderValue = "text/plain";
var uploadServiceUrl = "{engagementSid}/files/{fileCategory}/{fileName}";
var token = "YOUR_TOKEN";
var filePath = Path.Combine("TestData", suggestedFileName);
using HttpClient httpClient = new()
{
BaseAddress = new Uri(baseAddress)
};
httpClient.SetBearerToken(token);
httpClient.DefaultRequestHeaders.Add("User-Agent", "integrationtest.agent");
var uploadUrl = uploadServiceUrl
.Replace("{engagementSid}", engagementSid, StringComparison.InvariantCulture)
.Replace("{fileCategory}", fileCategory, StringComparison.InvariantCulture)
.Replace("{fileName}", suggestedFileName, StringComparison.InvariantCulture);
Stream fileStream = new FileStream(filePath, FileMode.Open);
using var streamContent = new StreamContent(fileStream);
streamContent.Headers.ContentType = new MediaTypeHeaderValue(mediaTypeHeaderValue);
HttpResponseMessage response = await httpClient.PostAsync(uploadUrl, streamContent);
response.EnsureSuccessStatusCode();
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
Invoke-WebRequest -Method 'POST' `
-Uri 'https://integrationhub.adra.com/api/v3.0/{engagementSid}/files/{inboundFileCategory}/example.xlsx' `
-Headers @{
'Authorization' = 'Bearer YOUR_TOKEN'
'User-Agent' = 'MyAgent/1.1'
'Content-Type' = '*/*'
} `
-InFile '/path/to/your/file.xlsx' `
-Verbose
# Headers
User-Agent: string
Content-Length: 42
x-gw-stloc-hint: string
Content-Type: string
Last-Modified: 2025-05-04T09:42:00Z
# Payload
@file
{
"uniqueFileName": "uploaded_file_2024timestamp1234.csv"
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}
{
"type": "https://adra.com/errors/forbidden",
"title": "Forbidden",
"detail": "You don't have access to the engagement, the engagement doesn't have IH or you don't have IH access on the engagement",
"status": 403
}
{
"type": "https://adra.com/errors/forbidden",
"title": "Forbidden",
"detail": "The client is trying to access an unauthorized tenant resource",
"status": 403
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}
{
"type": "string",
"title": "string",
"status": 42,
"detail": "string",
"instance": "string"
}