---
title: "Create a wallet message"
method: POST
path: "/companies/{company_key}/campaigns/wallet/{wallet_id}/messages"
tags: ["Wallet Messaging API"]
---

# Create a wallet message

`POST /companies/{company_key}/campaigns/wallet/{wallet_id}/messages`

## Request

- Base URL: `https://public-api.vibescm.com`
- URL: `https://public-api.vibescm.com/companies/{company_key}/campaigns/wallet/{wallet_id}/messages`
- Auth: HTTP basic

## Path parameters

- `company_key` string, required
- `wallet_id` string, required: The `wallet_id` is the SmartLink token for a campaign.

## Headers

- `X-API-Version` string
- `Content-Type` string, required

## Request body

- WalletMessageRequest
  - `message` object, required: The message content delivered to each targeted pass.
    - `template` string: Message body sent to each pass. Supports Liquid personalization tags.
    - `header` string: Optional header shown with the message.
    - `message_type` string: Optional message type used to categorize the notification.
  - `filters` union[]: Filters that target the message to specific passes in the campaign. Omit to message all passes.
    - union
      - FirstClassFilters: <a href="https://developer-platform.vibes.com/reference/first-class-fields">Learn more about first-class fields.</a>
        - `name` 'first_class_field'
        - `field_name` 'email_address' | 'external_email_id' | 'first_name' | 'last_name' | 'code' | 'expiration_date' | 'account_number' | 'balance' | 'tier' | 'offer_value' | 'loyalty_tier' | 'loyalty_balance' | 'strip_image_code'
        - `selector` 'starts_with' | 'between' | '=' | '<' | '<=' | '>' | '>=' | 'before' | 'after' | 'between' | 'on'
        - `value` string
      - WalletFilters
        - `name` 'group_code' | 'provider' | 'expiration_date'
        - `selector` 'starts_with' | 'between' | '=' | '<' | '<=' | '>' | '>=' | 'before' | 'after' | 'between' | 'on'
        - `value` string
      - FirstClassFiltersAny: <a href="https://developer-platform.vibes.com/reference/first-class-fields">Learn more about first-class fields.</a>
        - `name` 'first_class_field'
        - `field-name` 'email_address' | 'external_email_id' | 'first_name' | 'last_name' | 'code' | 'expiration_date' | 'account_number' | 'balance' | 'tier' | 'offer_value' | 'loyalty_tier' | 'loyalty_balance' | 'strip_image_code'
        - `selector` 'any'
        - `value` string[]: Add each value in its own string
      - WalletFiltersAny
        - `name` 'group_code' | 'provider' | 'expiration_date'
        - `selector` 'any'
        - `value` string[]: Add each value in its own string

## Response `200`

Successful response

- WalletMessageResponse
  - `wallet_message_id` string: Unique system-generated identifier for each message created.
  - `message` object: The message content that was delivered.
    - `template` string: Message body sent to each pass.
    - `header` string: Header shown with the message.
  - `campaign_ref` object: Reference to the wallet campaign this message belongs to.
    - `id` string: The campaign's `wallet_id` (SmartLink token).
    - `type` string: Wallet campaign type.
    - `url` string: Reference URL of the wallet campaign, as a relative URL on the API domain.
  - `filters` object[]: Filters that were applied to target the message.
    - `name` string: Field the filter is applied to, for example `group_code`, `provider`, or `expiration_date`.
    - `selector` string: Comparison used by the filter, for example `=`, `starts_with`, or `between`.
    - `value` string: Value compared against the field.
  - `created_at` string: When the message was created, in ISO-8601 format.
  - `updated_at` string: When the message was last updated, in ISO-8601 format.
  - `url` string: A reference URL to this message, as a relative URL on the API domain.

## Other responses

- `404`: The specified wallet_id does not exist.

---

[API](https://skmtc.dev/vibes/apis/vibes-platform-api.md) - [All operations](https://skmtc.dev/vibes/apis/vibes-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vibes/apis/vibes-platform-api/revisions/e235838f2e50?raw)
