Skip to main content
POST
/
threads
Create thread
curl --request POST \
  --url https://productlane.com/api/v1/threads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "text": "<string>",
  "painLevel": "UNKNOWN",
  "contactEmail": "jsmith@example.com",
  "title": "<string>",
  "state": "NEW",
  "origin": "INAPP",
  "contactName": "<string>",
  "assigneeId": "<string>",
  "projectId": "<string>",
  "issueId": "<string>",
  "companyId": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "notify": {
    "slack": true,
    "email": true
  }
}
'
{
  "id": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "isDeleted": true,
  "isRead": true,
  "lastInboundMessageAt": "2023-11-07T05:31:56Z",
  "lastOutboundMessageAt": "2023-11-07T05:31:56Z",
  "lastStateChangeAt": "2023-11-07T05:31:56Z",
  "text": "<string>",
  "painLevel": "UNKNOWN",
  "state": "NEW",
  "origin": "INAPP",
  "title": "<string>",
  "snoozedUntil": "2023-11-07T05:31:56Z",
  "workspaceId": "<string>",
  "contactId": "<string>",
  "companyId": "<string>",
  "reporterId": "<string>",
  "assigneeId": "<string>",
  "attachments": "<array>",
  "recordingId": "<string>",
  "videoId": "<string>",
  "slackChannelId": "<string>",
  "linearAttachmentId": "<string>",
  "intercomId": "<string>",
  "frontId": "<string>",
  "zendeskId": "<string>",
  "hubspotId": "<string>",
  "plainId": "<string>",
  "productboardId": "<string>",
  "slackReplyId": "<string>",
  "uniqueId": "<string>",
  "linkedProjects": "<array>",
  "linkedIssues": "<array>",
  "workspace": {
    "id": "<string>",
    "name": "<string>",
    "domain": "<string>",
    "remainingGeneratedThreadTitles": 123,
    "slackSettings": {
      "notificationChannelId": "<string>"
    }
  },
  "company": {
    "id": "<string>",
    "name": "<string>",
    "workspaceId": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "isDeleted": true,
    "version": 123,
    "linearCustomerId": "<string>",
    "size": 123,
    "revenue": 123,
    "statusId": "<string>",
    "statusName": "<string>",
    "statusColor": "<string>",
    "tierId": "<string>",
    "tierName": "<string>",
    "logoUrl": "<string>",
    "domains": [
      "<string>"
    ],
    "autoAdd": true,
    "intercomId": "<string>",
    "hubspotId": "<string>",
    "productboardId": "<string>",
    "externalIds": [
      "<string>"
    ],
    "slugId": "<string>"
  },
  "contact": {
    "id": "<string>",
    "email": "<string>",
    "name": "<string>",
    "imageUrl": "<string>",
    "companyId": "<string>",
    "workspaceId": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "isDeleted": true,
    "version": 123,
    "intercomId": "<string>",
    "hubspotId": "<string>",
    "productboardId": "<string>",
    "zendeskId": "<string>"
  },
  "reporter": {
    "id": "<string>",
    "name": "<string>",
    "email": "<string>",
    "role": "<string>",
    "imageUrl": "<string>",
    "selectedTeamIds": [
      "<string>"
    ],
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
text
string
required
Minimum string length: 1
painLevel
enum<string>
required
Available options:
UNKNOWN,
LOW,
MEDIUM,
HIGH
contactEmail
string<email>
required
Maximum string length: 254
title
string
Maximum string length: 512
state
enum<string>

Processing status of the thread. Possible values: NEW, PROCESSED, COMPLETED, SNOOZED, UNSNOOZED. Note: this does not directly control which inbox tab the thread appears in — tab placement is determined by multiple factors including state, snooze timing, and workspace settings.

Available options:
NEW,
PROCESSED,
COMPLETED,
SNOOZED,
UNSNOOZED
origin
enum<string>
Available options:
INAPP,
PORTAL,
SUPPORT_PORTAL,
API,
SLACK,
SLACK_CONNECT,
INTERCOM,
INTERCOM_ATTACHMENT,
ZENDESK_ATTACHMENT,
ZENDESK,
FRONT_ATTACHMENT,
EMAIL,
ZAPIER,
HUBSPOT,
PLAIN,
CALENDAR,
WIDGET,
AI_CHAT,
UPVOTE,
LIVE_CHAT
contactName
string
assigneeId
string

ID of the workspace member to assign this thread to

projectId
string
issueId
string
companyId
string
createdAt
string<date-time>
updatedAt
string<date-time>
notify
object

Response

Successful response

id
string
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
isDeleted
boolean
required
isRead
boolean
required
lastInboundMessageAt
string<date-time> | null
required
lastOutboundMessageAt
string<date-time> | null
required
lastStateChangeAt
string<date-time> | null
required
text
string
required
painLevel
enum<string>
required
Available options:
UNKNOWN,
LOW,
MEDIUM,
HIGH
state
enum<string>
required
Available options:
NEW,
PROCESSED,
COMPLETED,
SNOOZED,
UNSNOOZED
origin
enum<string>
required
Available options:
INAPP,
PORTAL,
SUPPORT_PORTAL,
API,
SLACK,
SLACK_CONNECT,
INTERCOM,
INTERCOM_ATTACHMENT,
ZENDESK_ATTACHMENT,
ZENDESK,
FRONT_ATTACHMENT,
EMAIL,
ZAPIER,
HUBSPOT,
PLAIN,
CALENDAR,
WIDGET,
AI_CHAT,
UPVOTE,
LIVE_CHAT
title
string | null
required
snoozedUntil
string<date-time> | null
required
workspaceId
string
required
contactId
string | null
required
companyId
string | null
required
reporterId
string | null
required
assigneeId
string | null
required
attachments
array
required
recordingId
string | null
required
videoId
string | null
required
slackChannelId
string | null
required
linearAttachmentId
string | null
required
intercomId
string | null
required
frontId
string | null
required
zendeskId
string | null
required
hubspotId
string | null
required
plainId
string | null
required
productboardId
string | null
required
slackReplyId
string | null
required
uniqueId
string | null
required
linkedProjects
array
required
linkedIssues
array
required
workspace
object
required
company
object
required
contact
object
required
reporter
object
required