Skip to main content
POST
/
api
/
call-processing
/
queue
Queue Call
curl --request POST \
  --url https://api.objectionly.com/api/call-processing/queue \
  --header 'Content-Type: application/json' \
  --header 'X-Workspace-API-Key: <x-workspace-api-key>' \
  --data '
{
  "title": "<string>",
  "repEmail": "<string>",
  "callDate": "<string>",
  "transcriptText": "<string>",
  "mediaUrl": "<string>",
  "file": "<string>",
  "repName": "<string>",
  "callDuration": 123,
  "description": "<string>",
  "externalMeetingId": "<string>",
  "source": "<string>",
  "forceImport": true,
  "attendees": [
    {}
  ]
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.objectionly.com/llms.txt

Use this file to discover all available pages before exploring further.

Base URL

https://api.objectionly.com

Endpoint

POST /api/call-processing/queue

Authentication

X-Workspace-API-Key
string
required
Your workspace API key.
X-Objectionly-Proxy-Token
string
Required only when your workspace is configured to require a proxy token.
X-Objectionly-Source
string
Optional source header. Supported values match the source body field. If both are sent, the body source value takes precedence.

Request Body

title
string
default:"Discovery call - Acme"
required
Call title.
repEmail
string
default:"rep@acme.com"
required
Rep or host identity. This is usually an email address, but it can also be a unique rep identifier configured in Objectionly.
callDate
string
default:"2026-01-31T18:30:00Z"
required
ISO-8601 timestamp.
transcriptText
string
Plain transcript text. This is the preferred text field for new integrations.
mediaUrl
string
Absolute http(s) URL for a remote audio or video file. Can be used by itself or together with transcriptText.
file
string
Multipart file upload for direct media ingestion. file and mediaUrl cannot be sent together.
repName
string
Rep or host display name.
callDuration
number
Duration in minutes. Must be a positive integer. Defaults to 30 if omitted.
description
string
Additional context to store with the call.
externalMeetingId
string
Used for de-duplication/idempotency across calls.
source
string
Optional source value. Supported values: manually, firefliesai, fathom, zoom, gohighlevel, zapier, custom_api.
forceImport
boolean
Bypasses early short-call filtering when set to true. For manual imports, this defaults to true if omitted.
attendees
array
Optional list of call attendees. Send up to 10 attendee objects.
Provide at least one ingest input: transcriptText, mediaUrl, or file.
Attendees should be sent as an array. Each attendee can include name, phone, email, and uniqueId.
{
  "attendees": [

  ]
}
Example with one attendee:
{
  "attendees": [
    {
      "name": "Alex Buyer",
      "phone": "+15551234567",
      "email": "alex@example.com",
      "uniqueId": "crm-contact-id"
    }
  ]
}
Attendee fields are optional. Objectionly trims attendee values, stores blank values as null, and skips attendee objects where every field is blank.
Media-only requests are accepted. When you upload a file or provide a mediaUrl without transcript text, Objectionly stores the media and transcribes it later during processing.
Supported media types are .mp3, .wav, .m4a, and .mp4, mapped to audio/mpeg, audio/wav, audio/m4a, and video/mp4.

Examples

{
  "title": "Discovery call - Acme",
  "transcriptText": "Full transcript text...",
  "repEmail": "rep@acme.com",
  "repName": "Alex Rep",
  "callDate": "2026-01-31T18:30:00Z",
  "callDuration": 42,
  "description": "Optional summary or metadata...",
  "externalMeetingId": "optional-idempotency-key",
  "source": "custom_api",
  "attendees": [
    {
      "name": "Alex Buyer",
      "phone": "+15551234567",
      "email": "alex@example.com",
      "uniqueId": "crm-contact-id"
    }
  ]
}

Responses

callId
string
required
Unique identifier for the queued call.
status
string
required
Queue status for the call.
queued
boolean
required
Indicates the call was queued successfully.
{
  "callId": "uuid",
  "status": "queued",
  "queued": true
}

Remote Media URL Rules

  • mediaUrl must be an absolute http(s) URL.
  • In production, mediaUrl must use https.
  • The URL must resolve to a public internet address.
  • Redirects are allowed, but only up to the configured limit.
  • Maximum media size is 500 MB.
  • Unsupported media types return 415 Unsupported Media Type.

Errors

StatusDescription
400Missing or invalid fields such as title, repEmail, callDate, callDuration, forceImport, source, malformed mediaUrl, malformed multipart attendees, more than 10 attendees, or sending file and mediaUrl together
401Missing or invalid authentication
413Uploaded or remote media exceeds the 500 MB limit
415Unsupported media type
422mediaUrl could not be fetched or failed remote URL safety checks
500Failed to store media or queue the call