---
title: "Edit message"
method: PATCH
path: "/messages/{messageId}"
tags: ["Messages"]
---

# Edit message

`PATCH /messages/{messageId}`

## Request

- Base URL: `https://inboxapp.com/api/v2`
- URL: `https://inboxapp.com/api/v2/messages/{messageId}`
- Auth: HTTP bearer

Edits the message on the platform. Needs `message:edit`, within the platform's edit window.

## Path parameters

- `messageId` string, required

## Request body

- MessageEdit
  - `content` string, required

## Response `200`

OK

- Message: A message in a thread, sent or received by its account link.
  - `id` string, required
  - `threadId` string, required: A thread: a conversation between one of the team's account links and one profile.
  - `accountLinkId` string, required: An account link: a platform account the team connected to Inboxapp, the team's side of a conversation.
  - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
  - `platformId` string, nullable, required: The ID the platform gives this object. Only meaningful next to its `platform`.
  - `direction` 'inbound' | 'outbound', required: `inbound` was received from the other side. `outbound` was sent by the account link.
  - `sentBy` union, required: Who on the team sent an outbound message. Null for inbound messages and for messages sent outside Inboxapp.
    - object: A team member sent it from Inboxapp.
      - `type` 'member', required
      - `memberId` string, required: A member: a person on the team.
      - `member` Member: A person on the team, who can be assigned threads and contacts.
        - `id` string, required: The member ID that `assigneeId` fields take.
        - `name` string, nullable, required
        - `email` string, required
        - `imageUrl` string, nullable, required
        - `role` 'owner' | 'admin' | 'user', required: `owner` and `admin` manage the team. A `user` can't change settings, billing or members.
        - `createdAt` string, date-time, required
    - object: An agent the member authorized sent it, such as an MCP client. It acts with the member's access.
      - `type` 'agent', required
      - `agentId` string, required
      - `memberId` string, required: A member: a person on the team.
      - `agent` object
        - `id` string, required
        - `name` string, required
      - `member` Member: A person on the team, who can be assigned threads and contacts.
        - `id` string, required: The member ID that `assigneeId` fields take.
        - `name` string, nullable, required
        - `email` string, required
        - `imageUrl` string, nullable, required
        - `role` 'owner' | 'admin' | 'user', required: `owner` and `admin` manage the team. A `user` can't change settings, billing or members.
        - `createdAt` string, date-time, required
    - object: A campaign sent it.
      - `type` 'campaign', required
      - `campaignId` string, required
      - `stepId` string, nullable, required: The sequence step that sent it, possibly since removed. Null when no step was recorded. Not expandable.
    - object: An API token sent it. `tokenId` is null on messages sent before tokens were recorded, and `token` is absent once the token is deleted.
      - `type` 'api', required
      - `tokenId` string, nullable, required
      - `token` object
        - `id` string, required
        - `name` string, required
  - `content` string, required: The text as Inboxapp last saw it. A deleted message keeps its content.
  - `entities` MessageEntities, required: Parts of `content` the platform marked up.
    - `urls` object[], required
      - `url` string, required
      - `displayUrl` string, required
      - `indices` object, nullable, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
    - `postShares` object[], required: Platform posts shared in the message, such as a quoted post.
      - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
      - `url` string, required
      - `indices` object, nullable, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
    - `mentions` object[], required
      - `username` string, required: The platform username, without a display prefix such as `@`.
      - `displayName` string, nullable, required
      - `platformId` string, nullable, required: The ID the platform gives this object. Only meaningful next to its `platform`.
      - `indices` object, nullable, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
    - `hashtags` object[], required
      - `tag` string, required
      - `indices` object, nullable, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
    - `cashtags` object[], required
      - `symbol` string, required
      - `indices` object, nullable, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
    - `format` object[], required: Rich-text formatting. A `list` or `orderedList` spans its `listItem`s.
      - `kind` 'bold' | 'list' | 'orderedList' | 'listItem', required
      - `indices` object, required: Offsets into `content` in Unicode code points, end-exclusive. A JavaScript client slices `Array.from(content)`, not `content`.
        - `start` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `end` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
  - `attachments` union[], required: Media, and at most one link card, told apart by `kind`.
    - union
      - AttachmentMedia: An image, GIF, video, audio clip or file. Its `url` expires, so fetch it again when needed.
        - `index` integer, required: The attachment's stable position in `attachments`, which `GET /messages/{messageId}/attachments/{index}` takes.
        - `kind` 'image' | 'gif' | 'video' | 'audio' | 'file', required
        - `filename` string, nullable, required
        - `contentType` string, nullable, required
        - `sizeBytes` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `width` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `height` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `aspectRatio` union, required: Width divided by height.
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `durationSeconds` union, required: Video and audio only.
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `status` 'ready' | 'pending' | 'processing' | 'failed', required: `ready` once `url` is usable. `pending` and `processing` while Inboxapp stores a copy: resolve the attachment again later. `failed` when Inboxapp gave up.
        - `url` string, nullable, required: Set exactly when `status` is `ready`.
        - `expiresAt` string, date-time, nullable, required: When `url` stops working. Null for URLs that don't expire. Get a fresh URL from `GET /messages/{messageId}/attachments/{index}`.
        - `poster` object, nullable, required: The still frame shown before a video plays. Video only, and only once usable.
          - `url` string, required
          - `expiresAt` string, date-time, nullable, required: When `url` stops working. Null for URLs that don't expire. Get a fresh URL from `GET /messages/{messageId}/attachments/{index}`.
          - `width` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `height` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
      - AttachmentCard: The preview of a link in the message. A message has at most one.
        - `index` integer, required: The attachment's stable position in `attachments`, which `GET /messages/{messageId}/attachments/{index}` takes.
        - `kind` 'card', required
        - `url` string, required
        - `title` string, nullable, required
        - `description` string, nullable, required
        - `domain` string, nullable, required
        - `thumbnail` object, nullable, required
          - `url` string, required
          - `width` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `height` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `alt` string, nullable, required
  - `forwarded` object, nullable, required: Set when the message forwards another one, with the forwarded text as the sender's app declared it. Null otherwise.
    - `content` string, nullable, required
  - `reactions` Reaction[], required
    - `emoji` string, required
    - `author` union, required
      - object: The team's account link reacted.
        - `type` 'accountLink', required
        - `accountLinkId` string, required: An account link: a platform account the team connected to Inboxapp, the team's side of a conversation.
        - `accountLink` AccountLink: A platform account the team connected to Inboxapp. Every conversation and message goes through one.
          - `id` string, required
          - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
          - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
          - `username` string, nullable, required: The platform username, without a display prefix such as `@`.
          - `displayName` string, nullable, required
          - `avatarUrl` string, nullable, required
          - `status` 'active' | 'offline' | 'paused', required: `active` sends and syncs. `paused` is stopped for the reasons in `pauseReasons`, and resumes once none remain. `offline` lost its connection to the platform and must be reconnected in Inboxapp.
          - `pauseReasons` string[], required: Why the account link is paused. New reasons may be added.
          - `capabilities` string[], required: What this account can do: its platform's capabilities, narrowed for this account. An operation it lacks fails with `capabilityNotSupported`.
          - `syncedAt` string, date-time, nullable, required: When Inboxapp finished importing the account's conversations. Null until then.
          - `createdAt` string, date-time, required
      - object: The other side of the conversation reacted.
        - `type` 'profile', required
        - `profileId` string, required: A profile: one person's account on one platform. Not a contact ID.
        - `contactId` string, nullable, required: A contact: the team's record of the person, with their status, tags, notes, valuation and default assignee.
        - `profile` Profile: One person's account on one platform. Profile data is shared across teams; the team's own data about the person is on their contact.
          - `id` string, required
          - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
          - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
          - `username` string, required: The platform username, without a display prefix such as `@`.
          - `handle` string, required: The username as the platform displays it. Show this, and look up by `username`.
          - `displayName` string, required
          - `avatarUrl` string, nullable, required
          - `bio` string, nullable, required
          - `location` string, nullable, required
          - `websiteUrl` string, nullable, required
          - `websiteDomain` string, nullable, required
          - `verified` boolean, required: The platform vouches for the account, such as with an X badge. Platform-specific badges are in `platformData`.
          - `isOrganization` boolean, required: A company or page rather than a person.
          - `isProtected` boolean, required: The account's posts are visible only to approved followers.
          - `followerCount` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `followingCount` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `postCount` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `engagementCount` union, required: On X, how many posts the user has liked.
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `listedCount` union, required: On X, how many lists include the profile.
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `accountStatus` 'active' | 'suspended' | 'notFound', required: `suspended` by the platform, or `notFound` when deleted or deactivated.
          - `platformCreatedAt` string, date-time, nullable, required: When the account was created on the platform.
          - `profileUrl` string, nullable, required
          - `updatedAt` string, date-time, required: When Inboxapp last stored a change to this profile.
          - `platformData` union, required: Fields only one platform has, tagged by `_tag`. Ignore tags you don't know.
            - object
              - …
            - object
              - …
            - object: A platform the team has enabled beyond those every team can use. Its fields are not listed here.
              - …
          - `relationships` Relationship[], required: One entry per team account link that has interacted with the profile.
            - `accountLinkId` string, required
            - `degree` 'self' | 'first' | 'second' | 'third' | 'outOfNetwork', nullable, required: How close the profile is to the account link on the platform's network, as last observed. `null` when never observed.
            - `connectionRequest` object, nullable, required: The account link's pending connection request. `null` once the profile is seen accepting it or the request is withdrawn, or when none was sent.
              - …
        - `contact` Contact: The team's record of a person: their profiles, plus the team's CRM state about them.
          - `id` string, required
          - `profiles` Profile[], required: The person's profiles, oldest link first. Profiles on platforms unavailable to the team are left out.
            - `id` string, required
            - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
            - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
            - `username` string, required: The platform username, without a display prefix such as `@`.
            - `handle` string, required: The username as the platform displays it. Show this, and look up by `username`.
            - `displayName` string, required
            - `avatarUrl` string, nullable, required
            - `bio` string, nullable, required
            - `location` string, nullable, required
            - `websiteUrl` string, nullable, required
            - `websiteDomain` string, nullable, required
            - `verified` boolean, required: The platform vouches for the account, such as with an X badge. Platform-specific badges are in `platformData`.
            - `isOrganization` boolean, required: A company or page rather than a person.
            - `isProtected` boolean, required: The account's posts are visible only to approved followers.
            - `followerCount` union, required
              - …
            - `followingCount` union, required
              - …
            - `postCount` union, required
              - …
            - `engagementCount` union, required: On X, how many posts the user has liked.
              - …
            - `listedCount` union, required: On X, how many lists include the profile.
              - …
            - `accountStatus` 'active' | 'suspended' | 'notFound', required: `suspended` by the platform, or `notFound` when deleted or deactivated.
            - `platformCreatedAt` string, date-time, nullable, required: When the account was created on the platform.
            - `profileUrl` string, nullable, required
            - `updatedAt` string, date-time, required: When Inboxapp last stored a change to this profile.
            - `platformData` union, required: Fields only one platform has, tagged by `_tag`. Ignore tags you don't know.
              - …
            - `relationships` Relationship[], required: One entry per team account link that has interacted with the profile.
              - …
          - `statusId` string, nullable, required: A status: a pipeline stage on the team's board.
          - `tagIds` string[], required
          - `notes` string, nullable, required
          - `valuation` union, required: What the person is worth to the team, in the team's `currency`.
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `assigneeId` string, nullable, required: A member: a person on the team.
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time, required
          - `status` Status: A pipeline stage on the team's board. A contact has at most one status.
            - `id` string, required
            - `name` string, required: Unique within the team, ignoring case and accents.
            - `color` string, nullable, required: A lowercase hex color.
            - `createdAt` string, date-time, required
          - `tags` Tag[]
            - `id` string, required
            - `name` string, required: Unique within the team, ignoring case and accents.
            - `color` string, required: A lowercase hex color.
          - `assignee` Member: A person on the team, who can be assigned threads and contacts.
            - `id` string, required: The member ID that `assigneeId` fields take.
            - `name` string, nullable, required
            - `email` string, required
            - `imageUrl` string, nullable, required
            - `role` 'owner' | 'admin' | 'user', required: `owner` and `admin` manage the team. A `user` can't change settings, billing or members.
            - `createdAt` string, date-time, required
      - object: Someone Inboxapp can't match to the account link or the thread's profile, such as another member of a group conversation. Expands to nothing.
        - `type` 'unknown', required
        - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
    - `createdAt` string, date-time, nullable, required: Null when the platform reports no time.
  - `editedAt` string, date-time, nullable, required: When the message was last edited. Null when it hasn't been, or when the edit time wasn't recorded. Every version is in `GET /messages/{messageId}/history`.
  - `deletedAt` string, date-time, nullable, required: Set once the message was deleted for the account link or unsent for everyone. Deleted messages stay in lists, and `GET /messages/{messageId}/history` has the scope.
  - `createdAt` string, date-time, required
  - `platformData` union, required: Fields only one platform has, tagged by `_tag`. Ignore tags you don't know.
    - object
      - `_tag` 'twitter', required
      - `encrypted` boolean, required: An end-to-end encrypted X Chat message.
    - object
      - `_tag` 'linkedin', required
    - object: A platform the team has enabled beyond those every team can use. Its fields are not listed here.
      - `_tag` string, required
  - `replyTo` object, nullable, required: The message this one replies to. Null when it isn't a reply.
    - `messageId` string, nullable, required: Null when Inboxapp has no copy of the quoted message in this thread.
    - `platformId` string, nullable, required: The ID the platform gives this object. Only meaningful next to its `platform`.
    - `content` string, required: The quoted text as captured at reply time.
    - `authorName` string, nullable, required: The quoted sender's display name, from the platform.
    - `message` Message (recursive)
  - `thread` Thread: A conversation between one of the team's account links and one profile.
    - `id` string, required
    - `platform` string, required: Always the platform of the thread's account link and profile.
    - `platformId` string, nullable, required: The ID the platform gives this object. Only meaningful next to its `platform`.
    - `accountLinkId` string, required: An account link: a platform account the team connected to Inboxapp, the team's side of a conversation.
    - `profileId` string, required: A profile: one person's account on one platform. Not a contact ID.
    - `contactId` string, required: A contact: the team's record of the person, with their status, tags, notes, valuation and default assignee.
    - `assigneeId` string, nullable, required: A member: a person on the team.
    - `isRequest` boolean, required: True while the conversation is an incoming request the account hasn't replied to or accepted. Requests are in the `requests` folder, not `inbox`.
    - `acceptanceState` 'required' | 'notRequired' | 'unknown', required: Whether the platform needs the account to accept the conversation before replying normally. `unknown` when the platform doesn't say. Independent of `isRequest`.
    - `archived` boolean, required
    - `unread` boolean, required: Marked unread in Inboxapp for the team owner, whose view the API takes. A thread no one has opened yet is not unread.
    - `restrictions` string[], required: Capabilities the platform disables in this conversation, on top of the account link's `capabilities`. Using one fails with `threadRestricted`.
    - `syncing` boolean, required: True while Inboxapp imports the conversation's older messages, so the message list may be incomplete.
    - `typingIndicators` 'enabled' | 'disabled' | 'teamDefault', required: Whether Inboxapp sends typing indicators to the platform while someone composes in this thread. `teamDefault` follows the team's setting.
    - `lastMessage` LastMessage, required: The thread's latest message. Get it for its content.
      - `id` string, required
      - `direction` 'inbound' | 'outbound', required: `inbound` was received from the other side. `outbound` was sent by the account link.
      - `createdAt` string, date-time, required
    - `activity` ThreadActivity, required: The thread's latest activity: a message, or a reaction since. `at` is when it happened, which is not always the thread's position in a list: see `order`.
      - `preview` string, nullable, required: One line as the inbox shows it, such as the message text or `You reacted with 👍`. Null when there is nothing to show.
      - `direction` 'inbound' | 'outbound', required: `outbound` when the account link acted.
      - `at` string, date-time, required
    - `createdAt` string, date-time, required
    - `accountLink` AccountLink: A platform account the team connected to Inboxapp. Every conversation and message goes through one.
      - `id` string, required
      - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
      - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
      - `username` string, nullable, required: The platform username, without a display prefix such as `@`.
      - `displayName` string, nullable, required
      - `avatarUrl` string, nullable, required
      - `status` 'active' | 'offline' | 'paused', required: `active` sends and syncs. `paused` is stopped for the reasons in `pauseReasons`, and resumes once none remain. `offline` lost its connection to the platform and must be reconnected in Inboxapp.
      - `pauseReasons` string[], required: Why the account link is paused. New reasons may be added.
      - `capabilities` string[], required: What this account can do: its platform's capabilities, narrowed for this account. An operation it lacks fails with `capabilityNotSupported`.
      - `syncedAt` string, date-time, nullable, required: When Inboxapp finished importing the account's conversations. Null until then.
      - `createdAt` string, date-time, required
    - `profile` Profile: One person's account on one platform. Profile data is shared across teams; the team's own data about the person is on their contact.
      - `id` string, required
      - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
      - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
      - `username` string, required: The platform username, without a display prefix such as `@`.
      - `handle` string, required: The username as the platform displays it. Show this, and look up by `username`.
      - `displayName` string, required
      - `avatarUrl` string, nullable, required
      - `bio` string, nullable, required
      - `location` string, nullable, required
      - `websiteUrl` string, nullable, required
      - `websiteDomain` string, nullable, required
      - `verified` boolean, required: The platform vouches for the account, such as with an X badge. Platform-specific badges are in `platformData`.
      - `isOrganization` boolean, required: A company or page rather than a person.
      - `isProtected` boolean, required: The account's posts are visible only to approved followers.
      - `followerCount` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `followingCount` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `postCount` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `engagementCount` union, required: On X, how many posts the user has liked.
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `listedCount` union, required: On X, how many lists include the profile.
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `accountStatus` 'active' | 'suspended' | 'notFound', required: `suspended` by the platform, or `notFound` when deleted or deactivated.
      - `platformCreatedAt` string, date-time, nullable, required: When the account was created on the platform.
      - `profileUrl` string, nullable, required
      - `updatedAt` string, date-time, required: When Inboxapp last stored a change to this profile.
      - `platformData` union, required: Fields only one platform has, tagged by `_tag`. Ignore tags you don't know.
        - object
          - `_tag` 'twitter', required
          - `badge` 'blue' | 'gold' | 'gray', nullable, required
          - `profileType` 'personal' | 'business' | 'government', required
          - `professionalCategory` string, nullable, required
          - `urlEntities` object[], required
            - `url` string, required
            - `expandedUrl` string, required
            - `displayUrl` string, required
            - `indices` unknown[], required
              - …
          - `bannerUrl` string, nullable, required
          - `rawData` object, nullable, required
        - object
          - `_tag` 'linkedin', required
          - `profileUrn` string, nullable
          - `kind` 'member' | 'organization', nullable
          - `memberBadge` 'premium' | 'verified', nullable
          - `bannerUrl` string, nullable
          - `bannerSize` object, nullable
            - `width` number, required
            - `height` number, required
          - `hydratedAt` string, nullable
          - `imageAssetId` string, nullable
          - `connectionsCount` number, nullable
          - `currentRole` string, nullable
          - `currentRoleStart` object, nullable
            - `year` number, required
            - `month` number, nullable, required
          - `currentCompanyName` string, nullable
          - `currentCompanyUrn` string, nullable
          - `topSchoolName` string, nullable
          - `topSchoolUrn` string, nullable
          - `topSchoolDegree` string, nullable
          - `topSchoolPeriod` string, nullable
          - `employeeCount` number, nullable
          - `employeeCountRange` object, nullable
            - `start` number, required
            - `end` number, nullable, required
          - `industry` string, nullable
          - `pageKind` 'company' | 'school' | 'showcase', nullable
          - `currentCompanyLogoUrl` string, nullable
          - `topSchoolLogoUrl` string, nullable
        - object: A platform the team has enabled beyond those every team can use. Its fields are not listed here.
          - `_tag` string, required
      - `relationships` Relationship[], required: One entry per team account link that has interacted with the profile.
        - `accountLinkId` string, required
        - `degree` 'self' | 'first' | 'second' | 'third' | 'outOfNetwork', nullable, required: How close the profile is to the account link on the platform's network, as last observed. `null` when never observed.
        - `connectionRequest` object, nullable, required: The account link's pending connection request. `null` once the profile is seen accepting it or the request is withdrawn, or when none was sent.
          - `sentAt` string, date-time, required
    - `contact` Contact: The team's record of a person: their profiles, plus the team's CRM state about them.
      - `id` string, required
      - `profiles` Profile[], required: The person's profiles, oldest link first. Profiles on platforms unavailable to the team are left out.
        - `id` string, required
        - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
        - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
        - `username` string, required: The platform username, without a display prefix such as `@`.
        - `handle` string, required: The username as the platform displays it. Show this, and look up by `username`.
        - `displayName` string, required
        - `avatarUrl` string, nullable, required
        - `bio` string, nullable, required
        - `location` string, nullable, required
        - `websiteUrl` string, nullable, required
        - `websiteDomain` string, nullable, required
        - `verified` boolean, required: The platform vouches for the account, such as with an X badge. Platform-specific badges are in `platformData`.
        - `isOrganization` boolean, required: A company or page rather than a person.
        - `isProtected` boolean, required: The account's posts are visible only to approved followers.
        - `followerCount` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `followingCount` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `postCount` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `engagementCount` union, required: On X, how many posts the user has liked.
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `listedCount` union, required: On X, how many lists include the profile.
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `accountStatus` 'active' | 'suspended' | 'notFound', required: `suspended` by the platform, or `notFound` when deleted or deactivated.
        - `platformCreatedAt` string, date-time, nullable, required: When the account was created on the platform.
        - `profileUrl` string, nullable, required
        - `updatedAt` string, date-time, required: When Inboxapp last stored a change to this profile.
        - `platformData` union, required: Fields only one platform has, tagged by `_tag`. Ignore tags you don't know.
          - object
            - `_tag` 'twitter', required
            - `badge` 'blue' | 'gold' | 'gray', nullable, required
            - `profileType` 'personal' | 'business' | 'government', required
            - `professionalCategory` string, nullable, required
            - `urlEntities` object[], required
              - …
            - `bannerUrl` string, nullable, required
            - `rawData` object, nullable, required
          - object
            - `_tag` 'linkedin', required
            - `profileUrn` string, nullable
            - `kind` 'member' | 'organization', nullable
            - `memberBadge` 'premium' | 'verified', nullable
            - `bannerUrl` string, nullable
            - `bannerSize` object, nullable
              - …
            - `hydratedAt` string, nullable
            - `imageAssetId` string, nullable
            - `connectionsCount` number, nullable
            - `currentRole` string, nullable
            - `currentRoleStart` object, nullable
              - …
            - `currentCompanyName` string, nullable
            - `currentCompanyUrn` string, nullable
            - `topSchoolName` string, nullable
            - `topSchoolUrn` string, nullable
            - `topSchoolDegree` string, nullable
            - `topSchoolPeriod` string, nullable
            - `employeeCount` number, nullable
            - `employeeCountRange` object, nullable
              - …
            - `industry` string, nullable
            - `pageKind` 'company' | 'school' | 'showcase', nullable
            - `currentCompanyLogoUrl` string, nullable
            - `topSchoolLogoUrl` string, nullable
          - object: A platform the team has enabled beyond those every team can use. Its fields are not listed here.
            - `_tag` string, required
        - `relationships` Relationship[], required: One entry per team account link that has interacted with the profile.
          - `accountLinkId` string, required
          - `degree` 'self' | 'first' | 'second' | 'third' | 'outOfNetwork', nullable, required: How close the profile is to the account link on the platform's network, as last observed. `null` when never observed.
          - `connectionRequest` object, nullable, required: The account link's pending connection request. `null` once the profile is seen accepting it or the request is withdrawn, or when none was sent.
            - `sentAt` string, date-time, required
      - `statusId` string, nullable, required: A status: a pipeline stage on the team's board.
      - `tagIds` string[], required
      - `notes` string, nullable, required
      - `valuation` union, required: What the person is worth to the team, in the team's `currency`.
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `assigneeId` string, nullable, required: A member: a person on the team.
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `status` Status: A pipeline stage on the team's board. A contact has at most one status.
        - `id` string, required
        - `name` string, required: Unique within the team, ignoring case and accents.
        - `color` string, nullable, required: A lowercase hex color.
        - `createdAt` string, date-time, required
      - `tags` Tag[]
        - `id` string, required
        - `name` string, required: Unique within the team, ignoring case and accents.
        - `color` string, required: A lowercase hex color.
      - `assignee` Member: A person on the team, who can be assigned threads and contacts.
        - `id` string, required: The member ID that `assigneeId` fields take.
        - `name` string, nullable, required
        - `email` string, required
        - `imageUrl` string, nullable, required
        - `role` 'owner' | 'admin' | 'user', required: `owner` and `admin` manage the team. A `user` can't change settings, billing or members.
        - `createdAt` string, date-time, required
    - `assignee` Member: A person on the team, who can be assigned threads and contacts.
      - `id` string, required: The member ID that `assigneeId` fields take.
      - `name` string, nullable, required
      - `email` string, required
      - `imageUrl` string, nullable, required
      - `role` 'owner' | 'admin' | 'user', required: `owner` and `admin` manage the team. A `user` can't change settings, billing or members.
      - `createdAt` string, date-time, required
  - `accountLink` AccountLink: A platform account the team connected to Inboxapp. Every conversation and message goes through one.
    - `id` string, required
    - `platform` string, required: The platform. Every team can use twitter, linkedin; a team may have others enabled.
    - `platformId` string, required: The ID the platform gives this object. Only meaningful next to its `platform`.
    - `username` string, nullable, required: The platform username, without a display prefix such as `@`.
    - `displayName` string, nullable, required
    - `avatarUrl` string, nullable, required
    - `status` 'active' | 'offline' | 'paused', required: `active` sends and syncs. `paused` is stopped for the reasons in `pauseReasons`, and resumes once none remain. `offline` lost its connection to the platform and must be reconnected in Inboxapp.
    - `pauseReasons` string[], required: Why the account link is paused. New reasons may be added.
    - `capabilities` string[], required: What this account can do: its platform's capabilities, narrowed for this account. An operation it lacks fails with `capabilityNotSupported`.
    - `syncedAt` string, date-time, nullable, required: When Inboxapp finished importing the account's conversations. Null until then.
    - `createdAt` string, date-time, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `502`: Bad Gateway
- `503`: Service Unavailable

---

[API](https://skmtc.dev/inboxapp/apis/inboxapp-api.md) · [All operations](https://skmtc.dev/inboxapp/apis/inboxapp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inboxapp/apis/inboxapp-api/revisions/7f9bbf45e851?raw)
