Data upload endpoint for inbound files to Adra Suite

POST /api/v3.0/{engagementSid}/files/{inboundFileCategory}/{suggestedFileName}

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 authentication
  • User-Agent: Client identifier
  • Content-Length: File size in bytes

Optional Headers

  • Content-Type: File MIME type
  • Last-Modified: File's last modification timestamp

Processing

After upload, the file will be:

  1. Validated for format and content
  2. Queued for processing
  3. Processed according to the inboundFileCategory

Use the status endpoint to track the processing status using the returned uniqueFileName.

Headers

  • User-Agent string Required

    A string that enables identifying the client. Logic-Apps, Boomi, Postman, and other integration tools add this automatically. (required)

  • Content-Length integer(int64) Required

    The number of bytes for the file being uploaded (required)

  • 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).

  • Content-Type string

    Upload file's content-type (optional)

  • Last-Modified string(date-time)

    Upload file's last modified date (optional)

Path parameters

  • engagementSid string Required

    Short identifier for engagement (as in URLs)

  • inboundFileCategory string Required

    Specifies the category of the inbound file. Each category corresponds to a specific type of data being uploaded.

    Values are BalancerBalanceUpload, BalancerTransactionsUpload, MatcherTransactionUpload, or LegalEntityUpload.

  • suggestedFileName string Required

    The name of the file with extension

*/*

Body

string(binary) string(binary)

Responses

  • 201 application/json

    Created

    Hide response attribute Show response attribute object
    • uniqueFileName string Required
  • 400 application/problem+json

    Bad Request: see problem details for more information

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • 401 application/problem+json

    Unauthorized: Missing an authorization header or token, or the token has expired

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • 403 application/problem+json

    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

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • 411 application/problem+json

    Length Required: The file length information needs to be provided

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • 413 application/problem+json

    Payload Too Large: The file is too big, needs to be under 100 MB

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • 500 application/problem+json

    Internal Server Error

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
  • default application/problem+json

    Error

    Hide response attributes Show response attributes object
    • type string | null
    • title string | null
    • status integer(int32) | null
    • detail string | null
    • instance string | null
POST /api/v3.0/{engagementSid}/files/{inboundFileCategory}/{suggestedFileName}
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
Request examples
# Headers
User-Agent: string
Content-Length: 42
x-gw-stloc-hint: string
Content-Type: string
Last-Modified: 2025-05-04T09:42:00Z

# Payload
@file
Response examples (201)
{
  "uniqueFileName": "uploaded_file_2024timestamp1234.csv"
}
Response examples (400)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}
Response examples (401)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}
Response examples (403)
{
  "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
}
Response examples (411)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}
Response examples (413)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}
Response examples (500)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}
Response examples (default)
{
  "type": "string",
  "title": "string",
  "status": 42,
  "detail": "string",
  "instance": "string"
}