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

# PUT /records

`PUT /records`

## Headers

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

## Request body

- union[] — Updates existing entities
  - union
    - UpdateSelection — Update Selection with conditional pricing validation. Pricing rules: denPrice and numPrice must both be SET, both UNSET, or both NULL together. All pricing fields can be omitted for partial updates.
      - `displayOrder` integer — The order by which this Selection 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 Category this Selection belongs to
      - `extra` object — Extra metadata about this selection passed through the system for customer use
      - `marketKey` string — 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 — 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' — The real-world status
      - `decPrice` union — The decimal price of the odds presented
        - number
        - number, nullable
      - `denPrice` union — The denominator of the odds presented
        - integer
        - number, nullable
      - `numPrice` union — The numerator of the odds presented
        - integer
        - number, nullable
    - UpdateMarket
      - `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 — The publicly displayed name of this Market
      - `marketNameTranslated` object — The name of this Market translated into other languages
      - `marketSort` string
      - `marketStatus` 'Active' | 'Inactive' — The real-world status
      - `participants` string
      - `typeKey` string — The identifier of the Type this Market belongs to
    - UpdateEvent
      - `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 — The date and time of this Event
      - `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 — The publicly displayed name of this Event
      - `eventNameTranslated` object — The name of this Event translated into other languages
      - `eventSort` string
      - `eventStatus` 'Active' | 'Inactive' — 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 — Whether this Event is started or not
      - `typeKey` string — The identifier of the Type this Event belongs to
    - UpdateCategory
      - `categoryKey` string, required — The unique identifier of this Category
      - `categoryName` string — 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
    - UpdateClass
      - `categoryKey` string, required — The identifier of the Category this Class belongs to
      - `classKey` string, required — The unique identifier of this Class
      - `className` string — 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
    - UpdateType
      - `categoryKey` string — The identifier of the Category this Type belongs to
      - `classKey` string — 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 — 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/versions/fc55c5b1bec5/schema)
