---
title: "Submit a list of RIDs for positive or negative reconciliation"
method: POST
path: "/demand/accounts/{account_id}/reconciliations"
tags: ["Reconciliations"]
---

# Submit a list of RIDs for positive or negative reconciliation

`POST /demand/accounts/{account_id}/reconciliations`

## Request

- Base URL: `https://api.cint.com/v1`
- URL: `https://api.cint.com/v1/demand/accounts/{account_id}/reconciliations`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/cint/apis/demand-api/docs/demand/accounts/:account_id/reconciliations/post.ts> (a function with typed inputs; its response is checked against the schema)

Submits a CSV file of respondent IDs and reason codes to be reconciled. This file can contain a mixture of positive and negative reconciliations. Reconciliation can be submitted when target group is in `Live` or `Paused` or `Complete` status.

This action creates an asynchronous job to process the file. A `202 Accepted` response indicates that the file has been successfully queued for processing. You can use the `request_id` returned in the response body to track the status of the job.

Key behaviors:

* **File Format:** The file must be a CSV with no header row. Each line must contain a respondent ID and a reason code, separated by a comma.
* **File Size:** The file can contain up to 100,000 rows.

## Path parameters

- `account_id` integer, required: The account's unique identifier.

## Query parameters

- `name` string

## Headers

- `Idempotency-Key` string: A shallow unique ID used as part of the deduplication mechanism for mutable operations. Value should be UUIDv4.
- `Content-Type` 'text/csv' | 'application/csv', required

## Request body `text/csv`

- string: Format each line as: RID, reason code. Do not include a header row.

## Response `202`

Accepted reconciliation request for processing.

- ResponsesSubmitReconciliationsResponse: response model of validated bulk reconciliations data
  - `name` string: The name of the submitted reconciliation request
  - `request_id` string, ulid: UniqueID generated for the reconciliation request

## Other responses

- `400`: A request is not valid and can't be processed.
- `401`: A request is unauthorized.
- `403`: A requested is forbidden.
- `500`: A request failed due to an internal error.

---

[API](https://skmtc.dev/cint/apis/demand-api.md) - [All operations](https://skmtc.dev/cint/apis/demand-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cint/apis/demand-api/revisions/077a4bdda5cb?raw)
