---
title: "Create an offer"
method: POST
path: "/{teamPid}/offers"
tags: ["Offers"]
---

# Create an offer

`POST /{teamPid}/offers`

## Request

- Base URL: `https://api.rightmessage.com/v1`
- URL: `https://api.rightmessage.com/v1/{teamPid}/offers`
- Auth: HTTP bearer

Adds an offer to the project's draft. Publish the draft to make it live.

Requires an API token with the `write` ability. Tokens created without abilities have `*`, which grants every ability.

## Path parameters

- `teamPid` string, required

## Request body

- StoreOfferRequest
  - `name` string, required
  - `is_enabled` boolean
  - `parts` object
    - `title` string
    - `description` string, nullable
    - `button_text` string, nullable
    - `image_url` string, nullable
  - `action` object
    - `type` 'link' | 'tag' | 'event' | 'automation' | 'list' | 'contact'
    - `settings` object
      - `url` string, nullable
      - `thanks_message` string, nullable
      - `platform` string
      - `form_ids` string[]
      - `tag_ids` string[]
      - `list_id` string
      - `automation_id` string
      - `redirect_url` string
      - `redirectFunnel` string[]
      - `event_name` string

## Response `201`

`OfferResource`

- object
  - `data` OfferResource, required
    - `id` string, nullable, required
    - `name` string, nullable, required
    - `is_enabled` union, required
      - string
      - boolean
    - `parts` object, required
      - `title` string, nullable, required
      - `description` string, nullable, required
      - `button_text` string, nullable, required
      - `image_url` string, nullable, required
    - `action` object, required
      - `type` string, nullable, required
      - `settings` object, required
        - `url` string, nullable, required
        - `thanks_message` string, nullable, required
        - `platform` string, nullable, required
        - `tag_ids` string, nullable, required

## Other responses

- `401`: Missing, invalid or revoked API token.
- `403`: Authorization error
- `404`: Not found
- `422`: Validation error
- `429`: Rate limit exceeded: 120 requests per minute for project endpoints, 60 per minute for token and connection endpoints. Retry after the `Retry-After` seconds.

---

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