Issues

get

Get a list of issues

Authorizations
Query parameters
start_timestringRequired

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.

end_timestringRequired

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.

Responses
200Success
application/json
get
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"
}
post

Create a new issue

Authorizations
Body
account_idstringOptional

The account that this issue belongs to.

assignee_idstringOptional

The user the issue should be assigned to.

attachment_urlsstring[]Optional

An array of attachment URLs to attach to this issue.

body_htmlstringRequired

The HTML content of the body of the issue.

contact_idstringOptional

Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.

created_atstringOptional

Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)

prioritystringOptional

The priority of the issue. Can be one of: urgent, high, medium, or low.

requester_avatar_urlstringOptional

The URL of an avatar of the requester.

requester_emailstringOptional

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.

requester_idstringOptional

The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.

requester_namestringOptional

The full name of the user that this issue is on behalf of.

tagsstring[]Optional

An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.

team_idstringOptional

The ID of the team this issue should be assigned to.

titlestringRequired

The title of the issue.

user_idstringOptional

Optional user ID to post the message as. Only one of user_id or contact_id can be provided.

Responses
200Success
application/json
post
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

Get an issue by its ID/number

Authorizations
Path parameters
idstringRequired

The ID or number of the issue to fetch.

Responses
200Success
application/json
get
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"
}
patch

Update an existing issue

Authorizations
Path parameters
idstringRequired

The ID of the issue to update.

Body
assignee_idstringOptional

The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.

customer_portal_visiblebooleanOptional

Whether the issue should be visible in the customer portal.

requester_idstringOptional

The ID of the requester that this issue is on behalf of.

requestor_idstringOptional

Deprecated: Use requester_id instead.

statestringOptional

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.

tagsstring[]Optional

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.

team_idstringOptional

The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.

Responses
200Success
application/json
patch
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

Delete an existing issue

Authorizations
Path parameters
idstringRequired

The ID of the issue to delete.

Responses
200Success
application/json
delete
DELETE /issues/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
200Success
{
  "request_id": "text"
}

Search for issues by a given filter

post

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

Authorizations
Body
cursorstringOptional

The cursor to use for pagination.

limitinteger · int64Optional

The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.

Responses
200Success
application/json
post
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"
}
post

Snooze an issue

Authorizations
Path parameters
idstringRequired

The ID or number of the issue to snooze.

Body
snooze_untilstringRequired

The date and time to snooze the issue until. (RFC3339)

Responses
200Success
application/json
post
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

Get followers of an issue

Authorizations
Path parameters
idstringRequired

The ID or number of the issue to get followers for.

Responses
200Success
application/json
get
GET /issues/{id}/followers HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer JWT
Accept: */*
{
  "data": [
    {
      "id": "text",
      "type": "user"
    }
  ],
  "request_id": "text"
}

Add or remove followers to/from an issue.

post

By default, adds followers. To remove followers, set the operation field to "remove".

Authorizations
Path parameters
idstringRequired

The ID or number of the issue to add followers to.

Body
contact_idsstring[]Optional

The IDs of contacts to add as followers.

operationstringOptional

Operation to perform. Use "add" to add followers (default) or "remove" to remove followers.

user_idsstring[]Optional

The IDs of users to add as followers.

Responses
200Success
application/json
post
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?