---
title: "POST /records"
method: POST
path: "/records"
---

# POST /records

`POST /records`

## Headers

- `x-api-key` string, required
- `x-brand-key` string, required
- `X-Expires-After` integer

## Request body

- union[] — Creates new entities
  - union
    - union
      - union
        - object — Selection with conditional pricing validation. Pricing rules: denPrice and numPrice must both be SET, both UNSET, or both NULL together.
          - `displayOrder` integer — The order by which this Selection should be displayed relative to others. Lower values display first
          - `displayStatus` 'Displayed' | 'NotDisplayed', required — The display status - propagates to all children
          - `eventKey` string, required — The identifier of the Category this Selection belongs to
          - `extra` object — Extra metadata about this selection passed through the system for customer use
          - `marketKey` string, required — The identifier of the Category this Selection belongs to
          - `outcomeMeaningMajorCode` string — The major code of the outcome
          - `selectionKey` string, required — The unique identifier of this Selection
          - `selectionName` string, required — The publicly displayed name of this Selection
          - `selectionNameTranslated` object — The name of this Selection translated into other languages
          - `selectionPriceType` string — The price type of the Selection
          - `selectionStatus` 'Active' | 'Inactive', required — The real-world status
        - object — Selection with conditional pricing validation. Pricing rules: denPrice and numPrice must both be SET, both UNSET, or both NULL together.
          - `displayOrder` integer — The order by which this Selection should be displayed relative to others. Lower values display first
          - `displayStatus` 'Displayed' | 'NotDisplayed', required — The display status - propagates to all children
          - `eventKey` string, required — The identifier of the Category this Selection belongs to
          - `extra` object — Extra metadata about this selection passed through the system for customer use
          - `marketKey` string, required — The identifier of the Category this Selection belongs to
          - `outcomeMeaningMajorCode` string — The major code of the outcome
          - `selectionKey` string, required — The unique identifier of this Selection
          - `selectionName` string, required — The publicly displayed name of this Selection
          - `selectionNameTranslated` object — The name of this Selection translated into other languages
          - `selectionPriceType` string — The price type of the Selection
          - `selectionStatus` 'Active' | 'Inactive', required — The real-world status
      - union
        - object — Selection with conditional pricing validation. Pricing rules: denPrice and numPrice must both be SET, both UNSET, or both NULL together.
          - `displayOrder` integer — The order by which this Selection should be displayed relative to others. Lower values display first
          - `displayStatus` 'Displayed' | 'NotDisplayed', required — The display status - propagates to all children
          - `eventKey` string, required — The identifier of the Category this Selection belongs to
          - `extra` object — Extra metadata about this selection passed through the system for customer use
          - `marketKey` string, required — The identifier of the Category this Selection belongs to
          - `outcomeMeaningMajorCode` string — The major code of the outcome
          - `selectionKey` string, required — The unique identifier of this Selection
          - `selectionName` string, required — The publicly displayed name of this Selection
          - `selectionNameTranslated` object — The name of this Selection translated into other languages
          - `selectionPriceType` string — The price type of the Selection
          - `selectionStatus` 'Active' | 'Inactive', required — The real-world status
        - object — Selection with conditional pricing validation. Pricing rules: denPrice and numPrice must both be SET, both UNSET, or both NULL together.
          - `displayOrder` integer — The order by which this Selection should be displayed relative to others. Lower values display first
          - `displayStatus` 'Displayed' | 'NotDisplayed', required — The display status - propagates to all children
          - `eventKey` string, required — The identifier of the Category this Selection belongs to
          - `extra` object — Extra metadata about this selection passed through the system for customer use
          - `marketKey` string, required — The identifier of the Category this Selection belongs to
          - `outcomeMeaningMajorCode` string — The major code of the outcome
          - `selectionKey` string, required — The unique identifier of this Selection
          - `selectionName` string, required — The publicly displayed name of this Selection
          - `selectionNameTranslated` object — The name of this Selection translated into other languages
          - `selectionPriceType` string — The price type of the Selection
          - `selectionStatus` 'Active' | 'Inactive', required — The real-world status
    - Market — An outcome that can be bet on by users. This might be overall winner, or it could be a specific score
      - `categoryKey` string — The identifier of the Category this Market belongs to
      - `classKey` string — The identifier of the Class this Market belongs to
      - `displayOrder` integer — The order by which this Market should be displayed relative to others. Lower values display first
      - `displayStatus` 'Displayed' | 'NotDisplayed' — The display status - propagates to all children
      - `eventKey` string, required — The identifier of the Event this Market belongs to
      - `extra` object — Extra metadata about this market passed through the system for customer use
      - `marketKey` string, required — The unique identifier of this Market
      - `marketName` string, required — The publicly displayed name of this Market
      - `marketNameTranslated` object — The name of this Market translated into other languages
      - `marketSort` string
      - `marketStatus` 'Active' | 'Inactive', required — The real-world status
      - `participants` string
      - `typeKey` string — The identifier of the Type this Market belongs to
    - Event — Represents the sporting Event instance. This could be a match between teams, Events are what bets are made on
      - `awayName` string — The name of the Away team for this Event
      - `categoryKey` string — The identifier of the Category this Event belongs to
      - `classKey` string — The identifier of the Class this Event belongs to
      - `classSortCode` string
      - `displayOrder` integer — The order by which this Event should be displayed relative to others. Lower values display first
      - `displayStatus` 'Displayed' | 'NotDisplayed' — The display status - propagates to all children
      - `eventDateTime` string, date-time, required — The date and time of this Event. Required. Must be in ISO 8601 format with a timezone offset. Accepted offset forms are Z, ±hh:mm, ±hhmm, or ±hh (e.g. 2025-02-09T14:30:00Z, 2025-02-09T14:30:00+00:00, 2025-02-09T14:30:00.000+0000). Fractional seconds optional.
      - `eventEndDateTime` string, date-time — The end date and time of this Event. Optional. Must be in ISO 8601 UTC format (e.g. 2025-02-09T17:30:00Z or 2025-02-09T17:30:00.000+0000). Fractional seconds optional. When omitted, the effective end defaults to eventDateTime + 24h.
      - `eventKey` string, required — The unique identifier of this Event
      - `eventName` string, required — The publicly displayed name of this Event
      - `eventNameTranslated` object — The name of this Event translated into other languages
      - `eventSort` string
      - `eventStatus` 'Active' | 'Inactive', required — The real-world status
      - `extra` object — Extra metadata about this event passed through the system for customer use
      - `homeName` string — The name of the Home team for this Event
      - `isEventFinished` boolean — Whether this Event is finished or not
      - `isEventStarted` boolean, required — Whether this Event is started or not
      - `typeKey` string, required — The identifier of the Type this Event belongs to
    - Category — Represents the top-level category for sports. Some examples include Football, or Tennis
      - `categoryKey` string, required — The unique identifier of this Category
      - `categoryName` string, required — The publicly displayed name of this Category
      - `categoryNameTranslated` object — The name of this Category translated into other languages
      - `displayOrder` integer — The order by which this Category should be displayed relative to others. Lower values display first.
      - `displayStatus` 'Displayed' | 'NotDisplayed' — The display status - propagates to all children
      - `extra` object — Extra metadata about this category passed through the system for customer use
    - Class — Represents the second level classification for a sporting category. Often used for countries/regions to group sports Types
      - `categoryKey` string, required — The identifier of the Category this Class belongs to
      - `classKey` string, required — The unique identifier of this Class
      - `className` string, required — The publicly displayed name of this Class
      - `classNameTranslated` object — he name of this Class translated into other languages
      - `classStatus` 'Active' | 'Inactive' — The real-world status
      - `displayOrder` integer — The order by which this Class should be displayed relative to others. Lower values display first
      - `displayStatus` 'Displayed' | 'NotDisplayed' — The display status - propagates to all children
      - `extra` object — Extra metadata about this Class passed through the system for customer use
    - Type — Represents the Type of Event for the sporting Category. Used to group Events by championship, or league etc
      - `categoryKey` string — The identifier of the Category this Type belongs to
      - `classKey` string, required — The identifier of the Class this Type belongs to
      - `displayOrder` integer — The order by which this Type should be displayed relative to others. Lower values display first
      - `displayStatus` 'Displayed' | 'NotDisplayed' — The display status - propagates to all children
      - `extra` object — Extra metadata about this Type passed through the system for customer use
      - `typeKey` string, required — The unique identifier of this Type
      - `typeName` string, required — The publicly displayed name of this Type
      - `typeNameTranslated` object — The name of this Type translated into other languages

## Response `202`

Accepted request

- Response
  - `success` boolean — Have all records been accepted successfully. If false, some or all records may not have been recorded

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/optimove/apis/optimove-api.md) · [All operations](https://skmtc.net/optimove/apis/optimove-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/optimove/optimove-api/revisions/fc55c5b1bec5/schema)
