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 Token → Authorizing Requests → Media Upload Format & Limitations.
Choose the right integration path
| Option | Best for | When to choose it |
|---|---|---|
| AcxAPI | App-driven, on-demand uploads & automation | You want your systems to call Authenticx directly |
| SFTP | Batch transfers | You prefer scheduled jobs / file drops |
| Cloud Telephony | Native contact center integrations | You want platform-managed ingestion (Genesys, Amazon Connect, etc.) |
TipIf 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
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/Uploadrequiresmultipart/form-datawith two fields:
file(the media file)metadata(a JSON string)Your upload will fail if:
- the file is larger than 2.5GB
metadata.fileNamedoes 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:
- Audio: Audio Interaction Metadata
- Chat: Chat Upload
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 +fileNamematch). 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
fileandmetadata fileNamemismatch → ensure exact match (including extension and case)- File too large → ensure under 2.5GB
5) Next steps
Choose what you want to build next:
- Upload audio at scale → Audio Interaction Metadata
- Upload chat interactions → Chat Upload
- Use proven integration patterns → Customer Automation Samples
- Manage users/agents programmatically → User and Agent Management
Start from working examples
If you’d rather copy/paste known-good patterns first:
See: Customer Automation Samples
Updated about 2 months ago
