Calls

Returns a paginated list of calls. Supports filtering by IDs, minimum duration, title, recording retention status, call date (from, to), creation timestamp (created_from, created_to), user, deal, and account. Use expand to include related entities or call sub-resources inline. Expanded CRM filling answers include all pushed answers for each call.

get/calls

Request

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

Query parameters

pageinteger

Page number (1-based)

Example:1
sizeinteger

Number of items per page

Example:25
expandstring

Comma-separated list of relations or call sub-resources to expand. Allowed values: contacts, deal, account, users, libraries, transcript, tags, topics, summaries, notes, next-steps, crm-answers, crm-filling-answers, ai-scoring

Example:contacts,transcript
idsstring

Comma-separated list of numeric call IDs

Example:123,456
min_durationnumber

Minimum call duration in seconds (inclusive)

Example:60
titlestring

Filter by call title (case-insensitive substring match)

Example:Discovery call
recording_retention_status'available' | 'deleted'

Filter by recording retention status: available or deleted

Example:deleted
fromstring date-time

Filter calls starting from this ISO 8601 date

tostring date-time

Filter calls ending at this ISO 8601 date

created_fromstring date-time

Filter calls created on or after this ISO 8601 timestamp

created_tostring date-time

Filter calls created on or before this ISO 8601 timestamp

user_idinteger

Filter by user ID

deal_idinteger

Filter by deal ID

account_idinteger

Filter by account ID

Response

Paginated list of calls

Example response

{
  "data": [
    {
      "id": 1,
      "name": "Demo call with Acme Corp",
      "date": "2024-06-15T14:30:00.000Z",
      "duration": 1800,
      "direction": "outbound",
      "language": "en",
      "status": "completed",
      "createdOn": "2024-06-15T14:30:00.000Z",
      "modifiedOn": "2024-06-15T15:00:00.000Z",
      "phoneProviderCallId": "aircall-1234567890",
      "recordingRetentionStatus": "available",
      "transcriptRetentionStatus": "available",
      "contacts": [
        {
          "id": 10,
          "name": "John Smith",
          "email": "john@prospect.com",
          "phoneNumber": "+33612345678",
          "jobTitle": "VP of Sales"
        }
      ],
      "deal": {
        "id": 100,
        "name": "Acme Corp - Enterprise Plan",
        "status": "open",
        "stage": "Negotiation",
        "amount": 50000,
        "currency": "EUR",
        "closeDate": "2024-09-30"
      },
      "dealId": 100,
      "account": {
        "id": 200,
        "name": "Acme Corp"
      },
      "accountId": 200,
      "users": [
        {
          "id": 42,
          "email": "jane.doe@company.com",
          "firstName": "Jane",
          "lastName": "Doe"
        }
      ],
      "libraries": [
        {
          "id": 12,
          "name": "Best of calls"
        }
      ],
      "crmActivity": {
        "crmId": "00T1234567ABC",
        "crmOrigin": "created_by_modjo"
      },
      "transcript": [
        {
          "endTime": 12.5,
          "content": "Hi, thanks for joining the call today.",
          "speaker": {
            "id": 1,
            "name": "Jane Doe",
            "type": "user"
          }
        }
      ],
      "tags": [
        {
          "id": 1,
          "name": "Competitor mention",
          "color": "#FF5733"
        }
      ],
      "topics": [
        {
          "id": 1,
          "name": "Pricing discussion",
          "slug": "pricing-discussion",
          "color": "#4287f5",
          "saidBy": "user",
          "startTime": 45.5,
          "endTime": 52.2
        }
      ],
      "summaries": [
        {
          "uuid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
          "templateUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "templateTitle": "Meeting Summary",
          "templateLength": "detailed",
          "answer": "The team discussed Q3 targets and agreed to increase outbound outreach by 20%.",
          "language": "en-US",
          "createdOn": "2024-06-15T14:30:00.000Z",
          "modifiedOn": "2024-06-15T15:00:00.000Z"
        }
      ],
      "notes": [
        {
          "id": 1,
          "title": "Follow-up notes",
          "date": "2024-06-15T14:30:00.000Z",
          "status": "PUBLISHED",
          "type": "USER"
        }
      ],
      "nextSteps": [
        {
          "title": "Schedule follow-up meeting",
          "description": "Set up a 30-minute follow-up call with the prospect to review the proposal by end of week."
        }
      ],
      "crmFillingAnswers": [
        {
          "uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
          "callId": 12345,
          "crmFillingFieldUuid": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
          "value": "Follow up next Tuesday",
          "crmId": "006xx000001abc",
          "createdOn": "2024-06-15T14:30:00.000Z",
          "modifiedOn": "2024-06-15T15:00:00.000Z"
        }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "size": 25,
    "total": 100
  }
}

Changes

    • breaking

      the / response's property type changed from no type to object for status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      removed subschema #2 from the / response property allOf list for the response status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • breaking

      the / response's property type changed from object to no type for status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • info

      added the new optional query request parameter created_from

    • info

      added the new optional query request parameter created_to

    • info

      added the new optional query request parameter ids

    • info

      added the new optional query request parameter min_duration

    • info

      added the new optional query request parameter recording_retention_status

    • info

      added the new optional query request parameter title

    • info

      added subschema #2 to the / response property allOf list for the response status