Messages

Use the messages endpoints to inspect the message history inside a conversation. Start with a conversation_id from the conversations endpoints, then use the returned message_id values for individual message lookups.

List messages

GET /api/v2/organizations/{organization_id}/conversations/{conversation_id}/messages

This endpoint supports limit, cursor, start_date, and end_date. Date parameters are optional — omit them to return all messages in the conversation.

List messages for a conversation

curl -G https://api.hyperrep.ai/api/v2/organizations/gAAAAABexampleOrganizationIdReturnedByApi7mN4qP2xLs9dV5kTr8cY1hJ6uW3/conversations/gAAAAABexampleConversationIdReturnedByApi8kP3xLs7dV2mTr5cN9hY1uJ4/messages \
  -H "X-API-KEY: your-api-key" \
  --data-urlencode "limit=50"

List messages response

    {
      "data": [
        {
          "message_id": "gAAAAABexampleMessageIdReturnedByApi9mT4xLs2qV7kRc5dN1hY8uJ3pF6",
          "conversation_id": "gAAAAABexampleConversationIdReturnedByApi8kP3xLs7dV2mTr5cN9hY1uJ4",
          "agent_id": null,
          "modality": "email",
          "message_direction": "sent",
          "is_form_request": false,
          "subject": "Following up on your inquiry",
          "content": "Hi Diana, just checking in on the quote we sent over last week.",
          "call_transcript": null,
          "form_request_body": null,
          "sent_at": "2026-04-29T15:02:00Z",
          "drafted_at": null,
          "email_metadata": {
            "email_message_id": "<[email protected]>",
            "cc_emails": [],
            "bcc_emails": []
          },
          "call_metadata": {
            "duration": null
          },
          "tracked_links": [
            {
              "link_id": "gAAAAABexampleTrackedLinkIdReturnedByApi3kL9xPs4qR2mTc7dN5hY8uV1",
              "url": "https://example.com/quote",
              "click_count": 3
            }
          ]
        }
      ],
      "pagination": {
        "limit": 50,
        "cursor": null,
        "next_cursor": null,
        "has_more": false
      }
    }

Get a message

GET /api/v2/organizations/{organization_id}/conversations/{conversation_id}/messages/{message_id}

Use the message_id returned by the list endpoint.

Get one message

curl https://api.hyperrep.ai/api/v2/organizations/gAAAAABexampleOrganizationIdReturnedByApi7mN4qP2xLs9dV5kTr8cY1hJ6uW3/conversations/gAAAAABexampleConversationIdReturnedByApi8kP3xLs7dV2mTr5cN9hY1uJ4/messages/gAAAAABexampleMessageIdReturnedByApi9mT4xLs2qV7kRc5dN1hY8uJ3pF6 \
  -H "X-API-KEY: your-api-key"

Get message response

    {
      "message_id": "gAAAAABexampleMessageIdReturnedByApi9mT4xLs2qV7kRc5dN1hY8uJ3pF6",
      "conversation_id": "gAAAAABexampleConversationIdReturnedByApi8kP3xLs7dV2mTr5cN9hY1uJ4",
      "agent_id": null,
      "modality": "email",
      "message_direction": "sent",
      "is_form_request": false,
      "subject": "Following up on your inquiry",
      "content": "Hi Diana, just checking in on the quote we sent over last week.",
      "call_transcript": null,
      "form_request_body": null,
      "sent_at": "2026-04-29T15:02:00Z",
      "drafted_at": null,
      "email_metadata": {
        "email_message_id": "<[email protected]>",
        "cc_emails": [],
        "bcc_emails": []
      },
      "call_metadata": {
        "duration": null
      },
      "tracked_links": [
        {
          "link_id": "gAAAAABexampleTrackedLinkIdReturnedByApi3kL9xPs4qR2mTc7dN5hY8uV1",
          "url": "https://example.com/quote",
          "click_count": 3
        }
      ]
    }

Key response fields

  • Name
    message_id
    Description

    The identifier for the message.

  • Name
    conversation_id
    Description

    The identifier of the parent conversation.

  • Name
    agent_id
    Description

    The identifier of the agent who sent the message. null when the message was not sent by an agent.

  • Name
    modality
    Description

    The channel the message was sent through. Common values: email, call, text, live_chat.

  • Name
    message_direction
    Description

    Whether the message was sent (outbound) or received (inbound).

  • Name
    is_form_request
    Description

    Whether the message originated from a form request submission.

  • Name
    subject
    Description

    The message subject line. Present for email messages, null otherwise.

  • Name
    content
    Description

    The body of the message. May be an empty string if the content was not captured.

  • Name
    call_transcript
    Description

    The transcript of the call. null when the modality is not a call or no transcript is available.

  • Name
    form_request_body
    Description

    The submitted form data. This will include UTM information and any set form fields. null when is_form_request is false.

  • Name
    sent_at
    Description

    When the message was sent.

  • Name
    drafted_at
    Description

    When the draft was created. null when no draft timestamp is available.

  • Name
    email_metadata
    Description

    Email-specific metadata. Contains email_message_id, cc_emails, and bcc_emails. Present for all messages but only populated for email modality.

  • Name
    call_metadata
    Description

    Call-specific metadata. Contains duration in seconds. Present for all messages but only populated for call modality.

  • Name
    tracked_links
    Description

    Links tracked for the message. Each entry contains link_id, the original destination url, and click_count. Empty when the message has no tracked links.

Was this page helpful?