TallymarkTallymark

Sales Pages

A sales page is a public page (url) where clients buy a single product: one-time when interval is null, or a subscription billed every interval. Each purchase creates an invoice (and, for subscriptions, a subscription) for the buyer's client.

Statuses: draft (only visible to the account), published (anyone with the url can buy). Status can't be set through update. Use /publish and /unpublish instead.

To deliver a digital product, link to a file hosted elsewhere with file: { url }. Images are managed in the app.

Deleted sales pages can't be bought and are hidden until you restore them.

View as Markdown

The sales page object

  • Name
    id
    Type
    string
    Description

    Example: 0abcDEF1234567890xyzAB.

  • Name
    status
    Type
    string
    Description

    One of draft, published.

  • Name
    title
    Type
    string
  • Name
    description
    Type
    string or null
  • Name
    url
    Type
    string
    Description

    Public page where clients buy.

  • Name
    image_url
    Type
    string or null
  • Name
    file
    Type
    object or null
    Description

    Digital product the buyer can download after paying.

  • Name
    file.type
    Type
    string
    Description

    One of upload, url.

  • Name
    file.url
    Type
    string
    Description

    The linked URL for url files. For uploads, a temporary download link valid for 5 minutes, until expires_at. Fetch the sales page again for a new one.

  • Name
    file.expires_at
    Type
    timestamp or null
    Description

    When url stops working. null for url files. Example: 2024-06-15T12:00:00.000000Z.

  • Name
    currency
    Type
    string
    Description

    Three-letter currency code, in lowercase. Example: usd.

  • Name
    language
    Type
    string
    Description

    Two-letter language code, in lowercase. One of da, en, fr, de, it, no, pt, es.

  • Name
    interval
    Type
    string or null
    Description

    Billing interval for subscriptions. null means a one-time purchase. One of weekly, biweekly, four_weeks, monthly, eight_weeks, twelve_weeks, quarterly, biannual, yearly.

  • Name
    amount
    Type
    integer
    Description

    Price before discounts and taxes. Example: 10000. Min 0.

  • Name
    discounts
    Type
    array of object
  • Name
    discounts[].amount
    Type
    integer or null
    Description

    Fixed amount off, in cents. Example: 10000. Min 0.

  • Name
    discounts[].percent
    Type
    string or null
    Description

    Percent off the subtotal, as a decimal string without trailing zeros. Example: 12.5.

  • Name
    discount_amount
    Type
    integer
    Description

    Amount in the smallest currency unit (cents). Example: 10000. Min 0.

  • Name
    taxable_amount
    Type
    integer
    Description

    Amount in the smallest currency unit (cents). Example: 10000. Min 0.

  • Name
    tax_rates
    Type
    array of object
  • Name
    tax_rates[].id
    Type
    string
    Description

    The tax rate's ID. Use it in tax_rates. Example: 0abcDEF1234567890xyzAB.

  • Name
    tax_rates[].name
    Type
    string
    Description

    Example: TPS.

  • Name
    tax_rates[].percentage
    Type
    string
    Description

    Percentage as a decimal string, without trailing zeros. Example: 5.

  • Name
    tax_rates[].amount
    Type
    integer
    Description

    Tax amount for this rate. Example: 10000. Min 0.

  • Name
    tax_amount
    Type
    integer
    Description

    Amount in the smallest currency unit (cents). Example: 10000. Min 0.

  • Name
    total
    Type
    integer
    Description

    What the buyer pays (per interval for subscriptions). Example: 10000. Min 0.

  • Name
    accept_cards
    Type
    boolean
    Description

    Whether buyers can pay by card online.

  • Name
    custom_field
    Type
    object or null
    Description

    Extra question asked to the buyer at checkout.

  • Name
    custom_field.label
    Type
    string
  • Name
    custom_field.description
    Type
    string or null
  • Name
    custom_field.required
    Type
    boolean
  • Name
    created_at
    Type
    timestamp
    Description

    Date and time in UTC. Example: 2024-06-15T12:00:00.000000Z.

  • Name
    updated_at
    Type
    timestamp
    Description

    Date and time in UTC. Example: 2024-06-15T12:00:00.000000Z.

  • Name
    is_deleted
    Type
    boolean

The sales page object

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

GET/sales-pages

List sales pages

Query parameters

  • Name
    search
    Type
    string
    Description

    Matches title and description. Not case-sensitive. Example: photography.

  • Name
    status
    Type
    string
    Description

    One of draft, published.

  • Name
    limit
    Type
    integer
    Description

    Number of results per page. Default: 10. Min 1. Max 100.

  • Name
    cursor
    Type
    string
    Description

    To get the next page, pass the next_cursor from the previous response.

  • Name
    created_at
    Type
    object
    Description

    Keys gt, gte, lt, lte. Example: created_at[gt]=2024-06-15T12:00:00.000000Z.

  • Name
    updated_at
    Type
    object
    Description

    Keys gt, gte, lt, lte. Example: updated_at[gt]=2024-06-15T12:00:00.000000Z.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    422
    Description

    The request body or query parameters are invalid.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

GET/sales-pages
curl https://api.tallymark.com/sales-pages \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "data": [
    {
      "id": "0abcDEF1234567890xyzAB",
      "status": "published",
      "title": "Photography course",
      "description": "Ten lessons to master your camera.",
      "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
      "image_url": null,
      "file": {
        "type": "url",
        "url": "https://example.com/course.pdf",
        "expires_at": null
      },
      "currency": "usd",
      "language": "en",
      "interval": null,
      "amount": 10000,
      "discounts": [],
      "discount_amount": 0,
      "taxable_amount": 10000,
      "tax_rates": [],
      "tax_amount": 0,
      "total": 10000,
      "accept_cards": true,
      "custom_field": null,
      "created_at": "2024-06-15T12:00:00.000000Z",
      "updated_at": "2024-06-15T12:00:00.000000Z",
      "is_deleted": false
    }
  ],
  "has_more": false,
  "next_cursor": null
}

POST/sales-pages

Create a sales page

Creates a draft sales page, or a published one with publish: true.

Request body

Send at most one discount.

  • Name
    publish
    Type
    boolean
    Description

    Create the sales page published instead of draft. Default: false.

  • Name
    title
    Type
    string
    Required
    required
    Description

    Also used as the item description on invoices. Max length 255.

  • Name
    description
    Type
    string or null
  • Name
    amount
    Type
    integer
    Required
    required
    Description

    Price before discounts and taxes. Example: 10000. Min 0.

  • Name
    discounts
    Type
    array of object
    Description

    Max 1 items.

  • Name
    discounts[].amount
    Type
    integer or null
    Description

    Fixed amount off, in cents. Example: 10000. Min 0.

  • Name
    discounts[].percent
    Type
    number or null
    Description

    Percent off the subtotal, up to 4 decimals. Example: 12.5. Min 0. Max 100.

  • Name
    interval
    Type
    string or null
    Description

    Billing interval for subscriptions. null for a one-time purchase. On create, omitting it also makes a one-time purchase; on update, omitting it keeps the current interval. One of weekly, biweekly, four_weeks, monthly, eight_weeks, twelve_weeks, quarterly, biannual, yearly.

  • Name
    currency
    Type
    string
    Required
    required
    Description

    Three-letter currency code, in lowercase. Example: usd.

  • Name
    language
    Type
    string
    Required
    required
    Description

    Two-letter language code, in lowercase. One of da, en, fr, de, it, no, pt, es.

  • Name
    tax_rates
    Type
    array of string
    Description

    Tax rate IDs belonging to the account. Deleted tax rates cannot be added, but ones already on the sales page can be kept.

  • Name
    include_default_tax_rates
    Type
    boolean
    Description

    Adds the account's default tax rates on top of tax_rates. On update, if tax_rates is omitted, the defaults are added to the tax rates already on the sales page. A tax rate is never applied twice. Default: false.

  • Name
    accept_cards
    Type
    boolean
    Required
    required
  • Name
    custom_field
    Type
    object or null
    Description

    Extra question asked to the buyer at checkout. On update, replaces the current custom field as a whole, and null removes it.

  • Name
    custom_field.label
    Type
    string
    Required
    required
    Description

    Max length 255.

  • Name
    custom_field.description
    Type
    string or null
  • Name
    custom_field.required
    Type
    boolean
    Description

    Whether the buyer must answer. Default: false.

  • Name
    file
    Type
    object or null
    Description

    Digital product hosted elsewhere, given to the buyer after paying. Replaces the current file, including one uploaded in the app. On update, null removes the current file.

  • Name
    file.url
    Type
    string
    Required
    required
    Description

    Max length 255.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    422
    Description

    The request body or query parameters are invalid.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages
curl -X POST https://api.tallymark.com/sales-pages \
  -H "Authorization: Bearer $TALLYMARK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "amount": 10000,
  "interval": null,
  "currency": "usd",
  "language": "en",
  "accept_cards": true,
  "file": {
    "url": "https://example.com/course.pdf"
  },
  "publish": true
}'

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

GET/sales-pages/{id}

Show a sales page

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

GET/sales-pages/{id}
curl https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

POST/sales-pages/{id}/update

Update a sales page

Updates a sales page in any status. Only the fields you send are changed; omitted fields keep their current value. Send null to clear description, interval (makes it one-time), custom_field, and file; send discounts: [] or tax_rates: [] to remove them. Changes apply to purchases made from now on. To change the status, use /publish and /unpublish.

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Request body

Send at most one discount.

  • Name
    title
    Type
    string
    Description

    Also used as the item description on invoices. Max length 255.

  • Name
    description
    Type
    string or null
  • Name
    amount
    Type
    integer
    Description

    Price before discounts and taxes. Example: 10000. Min 0.

  • Name
    discounts
    Type
    array of object
    Description

    Max 1 items.

  • Name
    discounts[].amount
    Type
    integer or null
    Description

    Fixed amount off, in cents. Example: 10000. Min 0.

  • Name
    discounts[].percent
    Type
    number or null
    Description

    Percent off the subtotal, up to 4 decimals. Example: 12.5. Min 0. Max 100.

  • Name
    interval
    Type
    string or null
    Description

    Billing interval for subscriptions. null for a one-time purchase. On create, omitting it also makes a one-time purchase; on update, omitting it keeps the current interval. One of weekly, biweekly, four_weeks, monthly, eight_weeks, twelve_weeks, quarterly, biannual, yearly.

  • Name
    currency
    Type
    string
    Description

    Three-letter currency code, in lowercase. Example: usd.

  • Name
    language
    Type
    string
    Description

    Two-letter language code, in lowercase. One of da, en, fr, de, it, no, pt, es.

  • Name
    tax_rates
    Type
    array of string
    Description

    Tax rate IDs belonging to the account. Deleted tax rates cannot be added, but ones already on the sales page can be kept.

  • Name
    include_default_tax_rates
    Type
    boolean
    Description

    Adds the account's default tax rates on top of tax_rates. On update, if tax_rates is omitted, the defaults are added to the tax rates already on the sales page. A tax rate is never applied twice. Default: false.

  • Name
    accept_cards
    Type
    boolean
  • Name
    custom_field
    Type
    object or null
    Description

    Extra question asked to the buyer at checkout. On update, replaces the current custom field as a whole, and null removes it.

  • Name
    custom_field.label
    Type
    string
    Required
    required
    Description

    Max length 255.

  • Name
    custom_field.description
    Type
    string or null
  • Name
    custom_field.required
    Type
    boolean
    Description

    Whether the buyer must answer. Default: false.

  • Name
    file
    Type
    object or null
    Description

    Digital product hosted elsewhere, given to the buyer after paying. Replaces the current file, including one uploaded in the app. On update, null removes the current file.

  • Name
    file.url
    Type
    string
    Required
    required
    Description

    Max length 255.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    422
    Description

    The request body or query parameters are invalid.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages/{id}/update
curl -X POST https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB/update \
  -H "Authorization: Bearer $TALLYMARK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Photography masterclass",
  "amount": 15000
}'

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

POST/sales-pages/{id}/publish

Publish a sales page

Makes the sales page available to buy at its url.

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages/{id}/publish
curl -X POST https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB/publish \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

POST/sales-pages/{id}/unpublish

Unpublish a sales page

Moves the sales page back to draft: it can no longer be bought. Existing subscriptions created from it keep running.

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Response

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages/{id}/unpublish
curl -X POST https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB/unpublish \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

POST/sales-pages/{id}/delete

Delete a sales page

Deletes a sales page: it can no longer be bought. Invoices and subscriptions created from it are not affected. You can restore it later, with its status.

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Response

  • Name
    200
    Description

    Deleted sales page (is_deleted true). Returns a sales page object.

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages/{id}/delete
curl -X POST https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB/delete \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}

POST/sales-pages/{id}/restore

Restore a deleted sales page

Restores a deleted sales page with its status: a deleted published sales page can be bought again right away.

Path parameters

  • Name
    id
    Type
    string
    Required
    required
    Description

    The sales page ID. Example: 0abcDEF1234567890xyzAB.

Response

  • Name
    200
    Description

    Restored sales page (is_deleted false). Returns a sales page object.

Errors

  • Name
    400
    Type
    request_failed
    Description

    Your request could not be processed.

  • Name
    400
    Type
    api_version_unsupported
    Description

    The requested API version is not supported. Current version: 2026-08-21

  • Name
    401
    Type
    api_key_missing
    Description

    The API key is missing.

  • Name
    401
    Type
    api_key_invalid
    Description

    The API key is invalid or has been revoked.

  • Name
    403
    Type
    api_key_read_only
    Description

    This API key is read-only and cannot make write requests.

  • Name
    404
    Description

    The record doesn't exist or was deleted.

  • Name
    429
    Description

    Too many requests. The limit is 300 requests per 5 minutes.

Request

POST/sales-pages/{id}/restore
curl -X POST https://api.tallymark.com/sales-pages/0abcDEF1234567890xyzAB/restore \
  -H "Authorization: Bearer $TALLYMARK_API_KEY"

Response

{
  "id": "0abcDEF1234567890xyzAB",
  "status": "published",
  "title": "Photography course",
  "description": "Ten lessons to master your camera.",
  "url": "https://pay.tallymark.com/p/0abcDEF1234567890xyzAB",
  "image_url": null,
  "file": {
    "type": "url",
    "url": "https://example.com/course.pdf",
    "expires_at": null
  },
  "currency": "usd",
  "language": "en",
  "interval": null,
  "amount": 10000,
  "discounts": [],
  "discount_amount": 0,
  "taxable_amount": 10000,
  "tax_rates": [],
  "tax_amount": 0,
  "total": 10000,
  "accept_cards": true,
  "custom_field": null,
  "created_at": "2024-06-15T12:00:00.000000Z",
  "updated_at": "2024-06-15T12:00:00.000000Z",
  "is_deleted": false
}