Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Postscript Events API
description: The Postscript Partner API (v2) lets partners and Shopify shops manage SMS subscribers, send custom events into Flows, send transactional and conversational messages, read opt-in keywords, configure webhook subscriptions, and run TCPA compliance operations (unsubscribe, redact). Harvested verbatim from the per-operation OpenAPI definitions published on https://developers.postscript.io/reference.
version: '2.0'
contact:
name: Postscript Developer Support
email: developersupport@postscript.io
url: https://developers.postscript.io
termsOfService: https://postscript.io/api-terms-of-service
servers:
- url: https://api.postscript.io
security:
- sec0: []
tags:
- name: Events
description: Send custom events for use in Postscript Flows and triggers.
paths:
/api/v2/events:
post:
summary: Create Custom Event
description: Send a Custom Event to use in Flows
operationId: create-custom-event
parameters:
- name: X-Postscript-Shop-Token
in: header
description: Shop API Token. **Required for partners**. This header should be used *only* by partners. Shops should include their API token in the *Authorization* header.
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- type
properties:
type:
type: string
description: 'The type of event that you are creating. This is the name of the event that will show in the Postscript application. **Note:** when creating this event, we will *automatically* prefix your partner/shop name in front of the event. For example, if sending an event called "OrderPlaced", we''ll show it in our UI as "[Your Partner/Shop Name] - OrderPlaced" to distinguish it from others of a similar name. We accept the follow characters in the value field: lowercase letters (a-z), uppercase letters (A-Z), digits (0-9), and underscores (_).'
subscriber_id:
type: string
description: The ID of the subscriber that you are creating the event for.
phone:
type: string
description: The phone number of the subscriber that you are creating the event for. E.164 format is recommended, but other formats will be accepted.
email:
type: string
description: The email of the subscriber that you are creating the event for.
occurred_at:
type: string
description: 'When the event occurred. This parameter is optional but allows you to set the exact time that the event occurred on your system. If it is not sent to us, we will just use the current time when we receive it. The following UTC time format is supported: %Y-%m-%d %H:%M:%S.%f'
format: date
properties:
type: object
description: These are the properties of the event. These properties will be exposed in the Postscript platform for things like filtering and merge tags to merchants.
properties:
key:
type: string
description: Properties can be key:value pairs. We will attempt to choose the appropriate data type for the value depending on what you send us. We currently accept strings, booleans, integers, floats, and datetime strings.
default: value
external_id:
type: string
description: The unique id of the event on your system. This is an optional field. If a value is not provided, we will create a default id ourselves based on time of event received.
responses:
'202':
description: '202'
content:
application/json:
examples:
Result:
value: "{\n\t\"event_ids\": [\"1234-abcd-5678\"]\n}"
schema:
type: object
properties:
event_ids:
type: array
items:
type: string
example: 1234-abcd-5678
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Events
components:
securitySchemes:
sec0:
type: apiKey
in: header
name: Authorization
x-bearer-format: bearer