Skip to main content
TypeScript

Authorizations

Authorization
string
header
required

Your Periskope API token, sent as Authorization: Bearer <token>. Generate one from the Periskope dashboard under Settings → API & Webhooks. API access requires an active Pro or Enterprise plan.

Body

application/json
name
string
required

Name of the property. Must be unique within its type (compared case-insensitively, stored trimmed) — the same name can exist once as a chat property and once as a ticket property.

Minimum string length: 1
Example:

"Workspace"

type
enum<string>
required

Whether the property appears on chats ('chat') or on tickets ('ticket')

Available options:
chat,
ticket
Example:

"ticket"

kind
enum<string>
required

Value kind of the property: 'text', 'date', 'file', 'dropdown' (single choice from options) or 'picklist' (multiple choices from options). The 'dependent_dropdown' kind cannot be created via the API.

Available options:
text,
date,
file,
dropdown,
picklist
Example:

"dropdown"

section
string

Name of the section to place the property under — sections group properties in the dashboard. Matched case-insensitively against existing sections of the same type; created automatically if it does not exist.

Example:

"Issue Details"

mandatory
boolean

Whether the property must be filled in. Supported only for ticket properties — mandatory: true for a chat property is rejected. Defaults to false.

Example:

false

options
string[]

Initial option labels. Required (at least one non-empty label) for dropdown and picklist kinds; not allowed for other kinds. Duplicate labels (case-insensitive) are collapsed into one option.

Example:

Response

The created property

success
enum<boolean>

Always true when the property was created

Available options:
true
message
string

Human-readable confirmation message

Example:

"Custom property created"

data
object

The created property