Calls

Upload a call to Modjo via a recording URL. Modjo will download the recording asynchronously. The call becomes visible within a few seconds. Typical total processing time: 5-30 minutes. The callId in the response is a UUID, usable with GET /v1/calls/:id.

post/calls

Request

  • Base URL
    https://api.modjo.ai/v2
  • URL
    https://api.modjo.ai/v2/calls
  • Auth
    HTTP bearer

Request body

downloadMediaUrlstring uri required

Publicly accessible recording URL. Modjo will download the file from this URL.

namestring

Call title. If omitted, auto-generated from participant names.

datestring date-time required

Call start datetime in ISO 8601 format

direction'inbound' | 'outbound'

Call direction. Defaults to outbound.

durationnumber

Call duration in seconds. Can be 0 or omitted.

tagsstring[]

Tag names to attach to the call

crmActivityIdstring

Identifier of the call activity (e.g. Salesforce Task, HubSpot call, Dynamics phone call) already logged in your CRM for this call. Modjo updates this activity instead of creating a new one. If it is not found in your CRM, Modjo creates a new activity as usual.

Example request

{
  "downloadMediaUrl": "https://storage.example.com/recordings/call-123.mp3",
  "name": "Demo call with Acme Corp",
  "date": "2024-06-15T14:30:00.000Z",
  "direction": "outbound",
  "duration": 1800,
  "participants": [
    {
      "type": "user",
      "email": "jane.doe@company.com",
      "name": "Jane Doe"
    },
    {
      "type": "contact",
      "email": "john.smith@acme.com",
      "name": "John Smith"
    },
    {
      "type": "contact",
      "phoneNumber": "+33606060606",
      "name": "Marie Martin"
    },
    {
      "type": "contact",
      "contactId": 1,
      "name": "Paul Durand"
    },
    {
      "type": "contact",
      "crm": "salesforce",
      "crmId": "0035g00000KZcZ4AAL",
      "name": "Emma Wilson"
    }
  ],
  "tags": [
    "demo",
    "enterprise"
  ],
  "account": {
    "crm": "salesforce",
    "crmId": "001ABC123"
  },
  "deal": {
    "crm": "salesforce",
    "crmId": "006DEF456"
  },
  "crmActivityId": "00T1234567ABC"
}

Response

Call accepted for processing

callIdstring uuid required

UUID of the created call. Use with GET /calls/{id} to poll for processing status.

status'processing' required

Call is queued for async processing

Example response

{
  "callId": "550e8400-e29b-41d4-a716-446655440000"
}

Changes

    • breaking

      the / request property type changed from object to no type

    • warning

      removed the request property //

    • warning

      removed the request property //

    • warning

      removed the request property //

    • info

      added to the / request property anyOf list

    • info

      added the new optional request property