---
title: "Create a conversion definition"
method: POST
path: "/v1/conversions/definitions"
tags: ["conversions"]
---

# Create a conversion definition

`POST /v1/conversions/definitions`

## Request body

- object
  - `action` 'PURCHASE' | 'STORE_PURCHASE' | 'TICKET_PURCHASE' | 'CHECK_IN' | 'ADD_TO_CART' | 'LINK_CLICK' | 'UPSELL_CLICK' | 'UPSELL_REMINDER_CLICK' | 'VIP_CLICK' | 'RSVP' | 'OPT_OUT' | 'DIRECT_MESSAGE' | 'CALL' | 'FOLLOW' | 'SOCIAL_ENGAGEMENT' | 'WAITLIST_SIGNUP' | 'SECONDARY_LISTING_CREATED' | 'ABANDONED_CART_CLICK' | 'TICKET_SALES_CLICK' | 'ABANDONED_CART_CREATED' | 'ABANDONED_CART_UPDATED' | 'FORM_SUBMISSION' | 'QUESTION_RESPONSE', required — The action represented by the conversion.
  - `name` string, required — A non-empty name for the conversion definition.
  - `relatedProductId` string — Optional Laylo product associated with the conversion.

## Response `200`

The customer-scoped conversion definition.

- object
  - `conversion` object, required — A conversion a fan can execute on a customer's account.
    - `action` 'PURCHASE' | 'STORE_PURCHASE' | 'TICKET_PURCHASE' | 'CHECK_IN' | 'ADD_TO_CART' | 'LINK_CLICK' | 'UPSELL_CLICK' | 'UPSELL_REMINDER_CLICK' | 'VIP_CLICK' | 'RSVP' | 'OPT_OUT' | 'DIRECT_MESSAGE' | 'CALL' | 'FOLLOW' | 'SOCIAL_ENGAGEMENT' | 'WAITLIST_SIGNUP' | 'SECONDARY_LISTING_CREATED' | 'ABANDONED_CART_CLICK' | 'TICKET_SALES_CLICK' | 'ABANDONED_CART_CREATED' | 'ABANDONED_CART_UPDATED' | 'FORM_SUBMISSION' | 'QUESTION_RESPONSE', required — The action represented by the conversion.
    - `id` string, required — The conversion definition identifier, composed as customerId:action:name.
    - `name` string, required — The conversion name, typically the merch item, ticket, or event it represents.
  - `status` 'success', required — The result of creating the conversion definition.

## Other responses

- `400` — The request body is malformed.
- `401` — The integrator credential or customer API key is invalid.
- `403` — The customer account behind the API key has no paid Laylo plan.
- `404` — No route matches the requested path.
- `405` — The path exists, but the HTTP method is not supported.
- `429` — The per-integrator rate limit for this operation is exceeded.
- `500` — An unexpected server error occurred.

---

[API](https://skmtc.dev/laylo/apis/laylo-api.md) · [All operations](https://skmtc.dev/laylo/apis/laylo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/laylo/laylo-api/revisions/000d81a01b74/schema)
