The contact object

Returned by every contact endpoint with fields=full. With fields=basic, only the first four fields come back.

Fields

  • idstring

    Contact id (UUID).

  • usernamestring

    Instagram username, without @.

  • full_namestring | null

    Display name, from Instagram or set when the contact was created.

  • profile_picturestring | null

    Profile picture URL.

  • sourcestring

    inbound (they messaged first) or outbound (you reached out first).

  • statusstring

    open, won, lost or abandoned.

  • pipeline_stageobject

    Current stage: id, name, color, position. All null when the contact is not on the pipeline board.

  • tagsarray

    Active tags: id, name, color.

  • follow_upobject

    state is pending (due now), sent, snoozed, disabled, or null while the first follow-up is not due yet. Also the current stage, how many were sent (count), due_at, overdue_days, and snooze and disable details. Organizations with more than one follow-up board also get board (id, name, type).

  • outboundobject

    Outreach details for outbound contacts: sent_at, reason, message, message_label, replied_at, and whether it was tracked manually and by whom. All null for inbound contacts.

  • conversationobject

    Latest message and who sent it (user is your team, contact is them), first and last message times, and whether Instagram still lets you reply (can_reply, reply_window_expires_at).

  • instagramobject

    url of the Instagram profile. inactive is reserved and currently always false.

  • assigned_userstring | null

    Email of the team member the contact is assigned to.

  • added_bystring | null

    How the contact got into DM Tracker: dm_tracker, api, team_member or sync.

  • created_by_userstring | null

    Email of the team member who added the contact.

  • created_atstring

    When the contact was added.

Example
{
  "id": "7c1e9a52-3f4b-4d2a-9e61-0b8f2d5c4a17",
  "username": "jane.fitness",
  "full_name": "Jane Cooper",
  "profile_picture": null,
  "source": "inbound",
  "status": "open",
  "pipeline_stage": {
    "id": "9e4a7c21-6b0d-4e8f-b352-1a9c8d7e6f03",
    "name": "In Conversation",
    "color": "#FF8A2E",
    "position": 3
  },
  "tags": [
    {
      "id": 287,
      "name": "hot lead",
      "color": "#22C55E"
    }
  ],
  "follow_up": {
    "state": "pending",
    "stage": {
      "id": "4d8b2f6e-1a3c-4e9b-8f70-6c2a5e9d1b38",
      "name": "1st Follow-Up"
    },
    "count": 0,
    "due_at": "2026-10-22T03:14:50.000+00:00",
    "overdue_days": 1,
    "snoozed_until": null,
    "snooze_reason": null,
    "last_follow_up_sent_at": null,
    "disabled_at": null,
    "disabled_by": null
  },
  "outbound": {
    "sent_at": null,
    "reason": null,
    "message": null,
    "message_label": null,
    "tracked_manually": null,
    "tracked_by_team_member": null,
    "replied_at": null
  },
  "conversation": {
    "last_message_at": "2026-10-21T15:14:50.000+00:00",
    "last_message_from": "user",
    "last_message": "Happy to help! Want me to send you the program details?",
    "last_contact_message_at": "2026-10-21T15:12:47.000+00:00",
    "first_contact_message_at": "2026-10-21T15:12:47.000+00:00",
    "can_reply": false,
    "reply_window_expires_at": "2026-10-22T15:12:47.000+00:00"
  },
  "instagram": {
    "inactive": false,
    "url": "https://instagram.com/jane.fitness"
  },
  "assigned_user": "alex@yourcompany.com",
  "added_by": "dm_tracker",
  "created_by_user": null,
  "created_at": "2026-10-21T15:12:47.000+00:00"
}
Link copied