> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unblockedbrands.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a notification for a wallet pass

> Create a notification for a wallet pass. The notification can be sent immediately or scheduled for a later time.

**Notification Status Options:**
- `Draft`: Notification created but not yet ready for delivery
- `Processing`: Notification will be sent immediately upon creation
- `Scheduled`: Notification will be sent at the specified scheduled time

**Scheduling:**
- For immediate delivery, use `Processing` status
- For scheduled delivery, use `Scheduled` status with a `scheduledTime`
- Scheduled notifications are processed every 15 minutes, so delivery may occur within 15 minutes of the scheduled time




## OpenAPI

````yaml api-reference/openapi.json post /wallet-pass/notifications
openapi: 3.1.0
info:
  title: Unblocked Wallet Passes API
  description: Unblocked Wallet Passes API
  version: 1.0.0
servers:
  - url: https://api.ubpass.co/v1
    description: Generated server url
security:
  - AccessToken: []
  - APIKey: []
tags:
  - name: Pique
    description: Get Pique Campaigns and their video performance data
  - name: Passport - Passes
    description: >-
      Create, update, retrieve, and delete wallet passes for Apple and Google
      platforms
  - name: Passport - Push Notifications
    description: Create, update, get, and delete wallet pass notifications
  - name: Passport - Locations
    description: Create, update, get, and delete wallet pass locations
  - name: Upload APIs
    description: Upload and manage pass assets and images
paths:
  /wallet-pass/notifications:
    post:
      tags:
        - Passport - Push Notifications
      summary: Create a notification for a wallet pass
      description: >
        Create a notification for a wallet pass. The notification can be sent
        immediately or scheduled for a later time.


        **Notification Status Options:**

        - `Draft`: Notification created but not yet ready for delivery

        - `Processing`: Notification will be sent immediately upon creation

        - `Scheduled`: Notification will be sent at the specified scheduled time


        **Scheduling:**

        - For immediate delivery, use `Processing` status

        - For scheduled delivery, use `Scheduled` status with a `scheduledTime`

        - Scheduled notifications are processed every 15 minutes, so delivery
        may occur within 15 minutes of the scheduled time
      operationId: createPassNotification
      parameters:
        - name: x-workspace-id
          in: header
          description: >-
            Workspace ID to perform the operation in. If not provided, system
            will use the first one assigned to the user
          required: false
          schema:
            type: string
            pattern: ^[a-zA-Z0-9-_]+$
          example: 1f089d29-6f9c-66c2-af59-99631cec7ab5
      requestBody:
        description: >-
          Notification creation data including pass reference, message content,
          and scheduling options
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PassNotification'
            examples:
              Create Notification Request:
                summary: >-
                  Example wallet pass notification creation request for
                  immediate delivery
                description: Create Notification Request
                value:
                  passSerialNumber: 1f09804f-d6c7-66ec-8db2-27a5651e1de2
                  notificationName: VIP Member Update
                  notificationMessage: >-
                    Your VIP membership benefits have been updated! Check out
                    the new exclusive offers.
                  status: Processing
        required: true
      responses:
        '201':
          description: Notification created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PassNotification'
              examples:
                Created Notification Response:
                  summary: Successfully created wallet pass notification
                  description: Created Notification Response
                  value:
                    id: 1f089d37-5ebe-6778-af59-99631cec7ab5
                    createdTime: '2025-09-04T21:09:36.027Z'
                    updatedTime: '2025-09-04T21:09:36.027Z'
                    createdBy: 1ef58ae6-40ac-6fd2-96af-45801844c4e2
                    updatedBy: 1ef58ae6-40ac-6fd2-96af-45801844c4e2
                    workspaceId: 1f089d29-6f9c-66c2-af59-99631cec7ab5
                    accountId: 1f089d29-6fa8-6a13-af59-99631cec7ab5
                    passSerialNumber: 1f09804f-d6c7-66ec-8db2-27a5651e1de2
                    notificationName: VIP Member Update
                    notificationMessage: >-
                      Your VIP membership benefits have been updated! Check out
                      the new exclusive offers.
                    status: Draft
                    scheduledTime: null
                    sentTime: null
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnblockedApiError'
              examples:
                Bad Request Error:
                  summary: Invalid input validation error
                  description: Bad Request Error
                  value:
                    txId: 1f098faa-8f33-6425-b4ff-533200846d35
                    timestamp: 24-09-2025 03:57:59
                    errorCode: INVALID_INPUT
                    context:
                      notificationName: must not be null
                      notificationMessage: must not be empty
        '401':
          description: Unauthorized - Invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnblockedApiError'
              examples:
                Unauthorized Error:
                  summary: Authentication failed
                  description: Unauthorized Error
                  value:
                    txId: Root=1-68d3693c-26a3db2278c7668f5e086711
                    timestamp: 24-09-2025 03:45:00
                    errorCode: UNAUTHORIZED
                    errorMessage: UNAUTHORIZED.
components:
  schemas:
    PassNotification:
      type: object
      properties:
        id:
          type: string
        createdTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was created in ISO 8601 format including
            milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        updatedTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was last updated in ISO 8601 format
            including milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        createdBy:
          type: string
          description: The user who created the entity.
        updatedBy:
          type: string
          description: The user who last updated the entity.
        workspaceId:
          type: string
          description: workspace id to which the notification belongs.
        passSerialNumber:
          type: string
          description: Wallet pass id to which the notification belongs.
        notificationName:
          type: string
          description: >-
            Notification name. This is will not appear on pass, it's used
            internally to identify the notification.
        notificationMessage:
          type: string
          description: >-
            Notification message. For Apple passes, this message will be
            displayed on the lock screen when a notification is sent to the
            pass. For Google passes, this message will be displayed at the back
            of the pass when a notification is sent to the pass.
        status:
          type: string
          description: >-
            Notification status: Draft: Notification will not be sent until the
            status is changed to Scheduled or ProcessingScheduled: Notification
            is scheduled to be sent at a specific time. Processing: Notification
            is being sent. Published: Notification has been sent.Failed:
            Notification failed to be sent. If the status is not specified at
            the time of creation, it will be sent immediately.
          enum:
            - Draft
            - Initializing
            - Processing
            - Finalizing
            - Published
            - Scheduled
            - AppleFailedGoogleSuccess
            - AppleSuccessGoogleFailed
            - Failed
        publishedTime:
          type: string
          format: date-time
          description: >-
            Time when the notification was sent in ISO 8601 format including
            milliseconds and timezone offset.
        scheduledTime:
          type: string
          format: date-time
          description: >-
            Time when the notification will be sent in ISO 8601 format including
            milliseconds and timezone offset.
        appleNotificationSentCount:
          type: integer
          format: int32
          description: >-
            Number of active users who have received this notification on their
            Apple Wallets.
        googleNotificationSentCount:
          type: integer
          format: int32
          description: >-
            Number of active users who have received this notification on their
            Google Wallets.
        totalNotificationSentCount:
          type: integer
          format: int32
          description: >-
            Total number of active users who have received this notification on
            their wallets (Apple + Google).
        notificationStats:
          $ref: '#/components/schemas/NotificationStats'
          description: >-
            stats for the notification, it contains the total number of
            notifications sent and link stats.
      required:
        - notificationName
        - passSerialNumber
    UnblockedApiError:
      type: object
      properties:
        txId:
          type: string
        timestamp:
          type: string
          format: date-time
        errorCode:
          type: string
        errorMessage:
          type: string
        context:
          type: object
          additionalProperties: {}
    NotificationStats:
      type: object
      properties:
        id:
          type: string
        createdTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was created in ISO 8601 format including
            milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        updatedTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was last updated in ISO 8601 format
            including milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        createdBy:
          type: string
          description: The user who created the entity.
        updatedBy:
          type: string
          description: The user who last updated the entity.
        workspaceId:
          type: string
          description: The ID of the workspace to which this entity belongs.
        totalNotificationsSent:
          type: integer
          format: int32
        totalLinksClicks:
          type: integer
          format: int32
        linkStats:
          $ref: '#/components/schemas/BXPagedListWorkspaceTopLinkStats'
    BXPagedListWorkspaceTopLinkStats:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceTopLinkStats'
        cursor:
          type: string
        hasMore:
          type: boolean
    WorkspaceTopLinkStats:
      type: object
      properties:
        id:
          type: string
        createdTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was created in ISO 8601 format including
            milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        updatedTime:
          type: string
          format: date-time
          description: >-
            The time when the entity was last updated in ISO 8601 format
            including milliseconds and timezone offset.
          example: '2025-05-13T15:07:15.036Z'
        createdBy:
          type: string
          description: The user who created the entity.
        updatedBy:
          type: string
          description: The user who last updated the entity.
        workspaceId:
          type: string
          description: The ID of the workspace to which this entity belongs.
        linkUrl:
          type: string
        totalClicks:
          type: integer
          format: int32
  securitySchemes:
    AccessToken:
      type: http
      description: Bearer token authentication
      scheme: bearer
      bearerFormat: JWT
    APIKey:
      type: apiKey
      description: API Key authentication
      name: api-key
      in: header

````