Skip to main content
Node.js
import { PeriskopeApi } from '@periskope/periskope-client';

const client = new PeriskopeApi({
  authToken: 'YOUR_API_KEY',
  phone: 'YOUR_PHONE_NUMBER', // e.g., '919876543210'
});

async function createTicket() {
  const response = await client.ticket.create({
    chat_id: '[email protected]',
    quoted_message_id: '[email protected][email protected]',
    subject: 'A simple subject'
});

  console.log(response);
}

createTicket();
{}

Authorizations

Authorization
string
header
required

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

Headers

x-phone
string

Please provide the number of the phone you want to call with this API in the header. The number must be in country code + number format without any characters or spaces, e.g. 919876543210; Alternatively, provide the phone_id (phone-xxxxxxxxxxxx) in the header

Example:

"{{orgPhone}}"

Body

application/json
chat_id
string
required
  • The unique id of the chat
  • For individual chats, this would be the country_code + number (e.g., 918527184400), followed by @c.us
  • For groups, this would end with @g.us
subject
string
required
  • Updates the subject of the ticket
Example:

"New subject 1"

labels
string
  • A comma-separated list of labels to be assigned to the contacts. All labels are case-insensitive.
  • If any label currently does not exist, it will be created
  • Note: This replaces all the current labels of the contact
Example:

"Test, Demo"

assignee
string
  • Update the assignee of the ticket. Must be an email of a user in the organization
quoted_message_id
string
  • The quoted message id for the ticket
Example:

"3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B"

due_date
string
  • Updates the due date of the ticket.
  • Must be a string that can be parsed to a date
Example:

"2025-04-20"

priority
string
default:1
  • Updates the priority of the ticket.
  • Only accepts the following values - 1,2,3,4
    • 1 = Low
    • 2 = Medium
    • 3 = High
    • 4 = Urgent
Example:

"2"

status
string
default:open
  • Updates the status of the ticket.
  • Only accepts the following values - open, inprogress, closed, archived
Example:

"closed"

Response

200 - application/json

200 OK

The response is a ticket object. Refer to the ticket object here