---
title: "Bulk upsert records"
method: POST
path: "/v1/records/{object}/bulk-upsert"
---

# Bulk upsert records

`POST /v1/records/{object}/bulk-upsert`

## Request

- Base URL: `https://api.pantheon.run`
- URL: `https://api.pantheon.run/v1/records/{object}/bulk-upsert`
- Auth: HTTP bearer

Up to 500 rows. Requires an Idempotency-Key header. A matched row is skipped unless on_match=fill_empty, which fills empty fields and never overwrites.

## Path parameters

- `object` string, required

## Request body

- object
  - `match_on` unknown
  - `mode` unknown
  - `on_match` unknown
  - `records` unknown

## Response `200`

Default Response

- object
  - `dry_run` boolean
  - `duplicate_check` string
  - `results` object[]
    - `candidates` string[]
    - `conflicts` object[]
      - `current` unknown
      - `field` string
      - `incoming` unknown
    - `error` object
      - `code` string
      - `details` unknown
      - `message` string
    - `filled` string[]
    - `id` string
    - `index` integer
    - `matched_by` string
    - `of_index` integer
    - `reason` string
    - `status` string
  - `summary` object

---

[API](https://skmtc.dev/pantheon-run/apis/pantheon-developer-api.md) · [All operations](https://skmtc.dev/pantheon-run/apis/pantheon-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pantheon-run/apis/pantheon-developer-api/revisions/e51924bd212a?raw)
