Pushwoosh Messages API

The Messages API from Pushwoosh — 4 operation(s) for messages.

OpenAPI Specification

pushwoosh-messages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Pushwoosh Messaging Messages API
  version: '1.3'
  description: 'Pushwoosh is a customer engagement platform offering push notifications,

    in-app messaging, email, SMS, and Live Activities for mobile and web.

    The Messaging API (v1.3) exposes JSON-RPC-style endpoints for creating

    and managing messages, targeted campaigns, and message details.

    Authentication is performed by including the `auth` field (API access

    token from the Pushwoosh Control Panel) in the JSON request body.

    '
  contact:
    name: Pushwoosh
    url: https://www.pushwoosh.com/
servers:
- url: https://api.pushwoosh.com/json/1.3
  description: Pushwoosh JSON Messaging API
tags:
- name: Messages
paths:
  /createMessage:
    post:
      tags:
      - Messages
      summary: Create a message (deprecated, use createTargetedMessage or Messaging API v2)
      operationId: createMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request
              properties:
                request:
                  type: object
                  required:
                  - auth
                  - application
                  - notifications
                  properties:
                    auth:
                      type: string
                      description: API access token.
                    application:
                      type: string
                      description: Pushwoosh application code.
                    notifications:
                      type: array
                      items:
                        $ref: '#/components/schemas/Notification'
      responses:
        '200':
          description: Standard JSON response envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
  /createTargetedMessage:
    post:
      tags:
      - Messages
      summary: Create a targeted message
      operationId: createTargetedMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request
              properties:
                request:
                  type: object
                  required:
                  - auth
                  - devices_filter
                  - send_date
                  - content
                  properties:
                    auth:
                      type: string
                      description: API access token.
                    devices_filter:
                      type: string
                      description: 'Targeting filter expression. Combines app selectors

                        (`A("APP-CODE")`) and tag predicates (`T("Tag", EQ,

                        "value")`) using boolean operators.

                        '
                    send_date:
                      type: string
                      description: '`now` or `YYYY-MM-DD HH:mm`.'
                    content:
                      oneOf:
                      - type: string
                      - type: object
                        additionalProperties:
                          type: string
                      description: Notification text or locale map of texts.
                    ios_title:
                      type: string
                    android_header:
                      type: string
                    page_id:
                      type: integer
                    data:
                      type: object
                      additionalProperties: true
      responses:
        '200':
          description: Standard JSON response envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
  /deleteMessage:
    post:
      tags:
      - Messages
      summary: Delete a queued message
      operationId: deleteMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request
              properties:
                request:
                  type: object
                  required:
                  - auth
                  - message
                  properties:
                    auth:
                      type: string
                    message:
                      type: string
                      description: Message code returned by createMessage.
      responses:
        '200':
          description: Standard JSON response envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
  /getMessageDetails:
    post:
      tags:
      - Messages
      summary: Retrieve message details
      operationId: getMessageDetails
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - request
              properties:
                request:
                  type: object
                  required:
                  - auth
                  - message
                  properties:
                    auth:
                      type: string
                    message:
                      type: string
                      description: Message code or message ID.
      responses:
        '200':
          description: Standard JSON response envelope with message metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
components:
  schemas:
    Notification:
      type: object
      description: Single notification payload inside createMessage.notifications.
      additionalProperties: true
      properties:
        send_date:
          type: string
          description: '`now` or `YYYY-MM-DD HH:mm`.'
        content:
          oneOf:
          - type: string
          - type: object
            additionalProperties:
              type: string
        devices:
          type: array
          maxItems: 1000
          items:
            type: string
        users:
          type: array
          maxItems: 1000
          items:
            type: string
        filter:
          type: string
          description: Named filter to apply.
        conditions:
          type: array
          items:
            type: array
            description: '`[TagName, Operator, Value]` tuple (operators include EQ, IN, BETWEEN, NOTEQ, GTE, LTE, NOTSET, ANY).'
        data:
          type: object
          additionalProperties: true
        ios_title:
          type: string
        android_header:
          type: string
        page_id:
          type: integer
    StandardResponse:
      type: object
      description: Standard Pushwoosh response envelope.
      properties:
        status_code:
          type: integer
          description: 200 success, 210 argument error, 400 malformed, 500 internal error.
        status_message:
          type: string
        response:
          type: object
          additionalProperties: true
externalDocs:
  description: Pushwoosh platform API reference
  url: https://docs.pushwoosh.com/platform-docs/api-reference