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

    Any user-agent string that enables identifying the client (required)

  • Content-Length integer(int64) Required

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

  • 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

    Values are BalancerBalanceUpload, BalancerTransactionsUpload, MatcherTransactionUpload, or LegalEntityUpload.

  • suggestedFileName string Required

    The name of the file with extension

*/*

Responses

  • 201 application/json

    Data was successfully uploaded to the IntegrationHub

    Hide response attribute Show response attribute object
  • 400 application/json

    Bad Request: see problem details for more information

    Hide response attributes Show response attributes object
  • 401 application/problem+json

    Unauthorized: Missing an authorization header or the token

    Hide response attributes Show response attributes object
  • 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
  • 411 application/problem+json

    Length Required: The file length information needs to be provided

    Hide response attributes Show response attributes object
  • 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
  • 500 application/problem+json

    Server Error

    Hide response attributes Show response attributes object
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;
using System.IO;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_TOKEN");
client.DefaultRequestHeaders.Add("User-Agent", "MyAgent/1.1");

var filePath = "path/to/your/file.xlsx";
var fileContent = new ByteArrayContent(File.ReadAllBytes(filePath));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("*/*");
fileContent.Headers.ContentLength = new FileInfo(filePath).Length;

var url = "https://integrationhub.adra.com/api/v3.0/{engagementSid}/files/{inboundFileCategory}/example.xlsx";
var response = await client.PostAsync(url, fileContent);

if (response.IsSuccessStatusCode)
{
    var result = await response.Content.ReadAsStringAsync();
    Console.WriteLine(result);
}
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
Content-Type: string
Last-Modified: 2024-05-04T09:42:00+00:00

# 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"
}