Issues
Get a list of issues
The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.
The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.
GET /issues HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
{
"data": [
{
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
}
],
"pagination": {
"cursor": "text",
"has_next_page": true
},
"request_id": "text"
}
Create a new issue
The account that this issue belongs to.
The user the issue should be assigned to.
An array of attachment URLs to attach to this issue.
The HTML content of the body of the issue.
Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.
Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)
The priority of the issue. Can be one of: urgent, high, medium, or low.
The URL of an avatar of the requester.
The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.
The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.
The full name of the user that this issue is on behalf of.
An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.
The ID of the team this issue should be assigned to.
The title of the issue.
Optional user ID to post the message as. Only one of user_id or contact_id can be provided.
POST /issues HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 484
{
"account_id": "text",
"assignee_id": "text",
"attachment_urls": [
"text"
],
"body_html": "text",
"contact_id": "text",
"created_at": "text",
"custom_fields": [
{
"slug": "text",
"value": "text",
"values": [
"text"
]
}
],
"destination_metadata": {
"destination": "slack",
"email": "text",
"email_bccs": [
"text"
],
"email_ccs": [
"text"
]
},
"priority": "text",
"requester_avatar_url": "text",
"requester_email": "text",
"requester_id": "text",
"requester_name": "text",
"tags": [
"text"
],
"team_id": "text",
"title": "text",
"user_id": "text"
}
{
"data": {
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
},
"request_id": "text"
}
Get an issue by its ID/number
The ID or number of the issue to fetch.
GET /issues/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
{
"data": {
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
},
"request_id": "text"
}
Update an existing issue
The ID of the issue to update.
The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.
Whether the issue should be visible in the customer portal.
The ID of the requester that this issue is on behalf of.
Deprecated: Use requester_id instead.
The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.
An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.
The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.
PATCH /issues/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 212
{
"assignee_id": "text",
"custom_fields": [
{
"slug": "text",
"value": "text",
"values": [
"text"
]
}
],
"customer_portal_visible": true,
"requester_id": "text",
"requestor_id": "text",
"state": "text",
"tags": [
"text"
],
"team_id": "text"
}
{
"data": {
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
},
"request_id": "text"
}
Delete an existing issue
The ID of the issue to delete.
DELETE /issues/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
{
"request_id": "text"
}
Currently, the following fields are filterable for issues:
-
created_at (in RFC3339 format). Allowed operators:
time_is_after
,time_is_before
,time_range
-
account_id. Allowed operators:
equals
,in
,not_in
-
ticket_form_id. Allowed operators:
equals
,in
,not_in
-
requester_id. Allowed operators:
equals
,in
,not_in
-
follower_user_id. Allowed operators:
equals
,in
,not_in
-
follower_contact_id. Allowed operators:
equals
,in
,not_in
-
state. Valid values are
["new", "waiting_on_you", "waiting_on_customer", "on_hold", "closed"]
or a custom status slug. Allowed operators:equals
,in
,not_in
-
custom fields (pass in the slug of the custom field)
-
tags (pass in the tag name). Allowed operators:
contains
,does_not_contain
,in
,not_in
-
title. Allowed operators:
string_contains
,string_does_not_contain
-
body_html. Allowed operators:
string_contains
,string_does_not_contain
The cursor to use for pagination.
The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.
POST /issues/search HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 312
{
"cursor": "text",
"filter": {
"field": "text",
"operator": "equals",
"subfilters": [
{
"field": "text",
"operator": "equals",
"subfilters": [
{
"field": "text",
"operator": "equals",
"subfilters": "[Circular Reference]",
"value": "text",
"values": [
"text"
]
}
],
"value": "text",
"values": [
"text"
]
}
],
"value": "text",
"values": [
"text"
]
},
"limit": 1
}
{
"data": [
{
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
}
],
"pagination": {
"cursor": "text",
"has_next_page": true
},
"request_id": "text"
}
Snooze an issue
The ID or number of the issue to snooze.
The date and time to snooze the issue until. (RFC3339)
POST /issues/{id}/snooze HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"snooze_until": "text"
}
{
"data": {
"account": {
"id": "text"
},
"assignee": {
"email": "text",
"id": "text"
},
"body_html": "text",
"business_hours_first_response_seconds": 1,
"business_hours_resolution_seconds": 1,
"chat_widget_info": {
"page_url": "text"
},
"created_at": "text",
"csat_responses": [
{
"comment": "text",
"score": 1
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"slug": "text",
"value": "text",
"values": [
"text"
]
}
},
"customer_portal_visible": true,
"external_issues": [
{
"external_id": "text",
"link": "text",
"source": "text"
}
],
"first_response_seconds": 1,
"first_response_time": "text",
"id": "text",
"latest_message_time": "text",
"link": "text",
"number": 1,
"number_of_touches": 1,
"requester": {
"email": "text",
"id": "text"
},
"resolution_seconds": 1,
"resolution_time": "text",
"slack": {
"channel_id": "text",
"message_ts": "text"
},
"snoozed_until_time": "text",
"source": "slack",
"state": "text",
"tags": [
"text"
],
"team": {
"id": "text"
},
"title": "text",
"type": "Conversation"
},
"request_id": "text"
}
Get followers of an issue
The ID or number of the issue to get followers for.
GET /issues/{id}/followers HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
{
"data": [
{
"id": "text",
"type": "user"
}
],
"request_id": "text"
}
By default, adds followers. To remove followers, set the operation field to "remove".
The ID or number of the issue to add followers to.
The IDs of contacts to add as followers.
Operation to perform. Use "add" to add followers (default) or "remove" to remove followers.
The IDs of users to add as followers.
POST /issues/{id}/followers HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"contact_ids": [
"text"
],
"operation": "text",
"user_ids": [
"text"
]
}
{
"data": [
{
"id": "text",
"type": "user"
}
],
"request_id": "text"
}
Last updated
Was this helpful?