AcxAPI

AcxAPI is Authenticx’s REST API for integrating directly with the platform. Use it when you want to upload interactions, automate user/agent administration, or build workflows that trigger processing in Authenticx.


Already have credentials? Jump straight to Getting an Access TokenAuthorizing RequestsMedia Upload Format & Limitations.


Choose the right integration path

OptionBest forWhen to choose it
AcxAPIApp-driven, on-demand uploads & automationYou want your systems to call Authenticx directly
SFTPBatch transfersYou prefer scheduled jobs / file drops
Cloud TelephonyNative contact center integrationsYou want platform-managed ingestion (Genesys, Amazon Connect, etc.)
💡

Tip

If you’re unsure, start with AcxAPI for proof-of-concept workflows and move to Cloud Telephony or SFTP when it better fits your operational model.


Quick start

1) Get an access token (OAuth 2.0 client credentials)

  • Production token URL: https://api.beauthenticx.com/connect/token
  • Staging token URL: https://api.authcx.com/connect/token
  • Scope: acxapi

See: Getting an Access Token

2) Authorize requests

Send your token on every API request:

Authorization: Bearer <access_token>

See: Authorizing Requests

3) Upload your first interaction

Once you have a valid Bearer token, the fastest way to confirm end-to-end connectivity is to upload a single interaction using Media Upload.

⚠️

Multipart requirements /Media/Upload requires multipart/form-data with two fields:

  • file (the media file)
  • metadata (a JSON string)

Your upload will fail if:

  • the file is larger than 2.5GB
  • metadata.fileName does not exactly match the uploaded file name

See: Media Upload Format & Limitations
See: Media Upload Response Codes and Error Handling


3a) Create the metadata JSON

Pick the metadata schema that matches what you’re uploading:

Minimum rule: include fileName and ensure it exactly matches the media file name you are uploading.

Example (audio — illustrative only; use the schema page for required fields):

{
  "fileName": "example-call.wav",
  "interactionType": "audio",
  "externalId": "YOUR-EXTERNAL-ID",
  "startTime": "2025-12-17T15:30:00Z",
  "endTime": "2025-12-17T15:45:00Z"
}

3b) Upload the file + metadata

cURL example

curl --request POST \
  --url "https://api.beauthenticx.com/Media/Upload" \
  --header "Authorization: Bearer <access_token>" \
  --form "[email protected]" \
  --form "metadata={\"fileName\":\"example-call.wav\",\"interactionType\":\"audio\",\"externalId\":\"YOUR-EXTERNAL-ID\"}"

Tip Keep the metadata tiny for your first test (just enough to satisfy the schema + fileName match). Once the upload succeeds, expand fields as needed.


4) Validate the response and processing

A successful upload returns a response indicating the upload was accepted. If you get an error, start here:

Common fixes:

  • Token expired → fetch a new token and retry
  • Wrong form field names → must be file and metadata
  • fileName mismatch → ensure exact match (including extension and case)
  • File too large → ensure under 2.5GB

5) Next steps

Choose what you want to build next:


Start from working examples

If you’d rather copy/paste known-good patterns first:

See: Customer Automation Samples