> ## Documentation Index
> Fetch the complete documentation index at: https://docs.repdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reconciliation Push

> Register a webhook endpoint to receive batched reconciliations from Research Desk.

The Reconciliation Push API allows suppliers to receive reconciliations via webhook, enabling more timely and automated processing. Suppliers register an endpoint of their choosing, and reconciliations are then pushed to that endpoint on an ongoing basis.

<Note>
  Pushes are batched every **two hours**. Nothing is sent if there are no reconciliations during a batch period.
</Note>

The base URLs are `https://stage-api.researchdesk.com` (staging) and `https://api.researchdesk.com` (production). All registry calls use your Supply API key in the `Authorization` header.

***

## Register Endpoint

Register the endpoint that should receive reconciliation pushes.

```text theme={null}
POST /v1/apiregistry/reconciliation/register
```

**Headers**

| Key             | Value       |
| --------------- | ----------- |
| `Authorization` | `{api_key}` |

**Request body**

```json theme={null}
{
  "api_endpoint": "https://mydomain.com/api/reconciliation",
  "api_key": "{api_key}"
}
```

<Note>
  The `api_key` provided in the message body will be used as the header for pushes to your registered endpoint (`x-api-key: value_you_provided`).
</Note>

**Response**

```json theme={null}
{
  "Status": 0,
  "Message": "Registration successful"
}
```

See [Register Reconciliation Endpoint](https://docs.repdata.com/supply/endpoints/post-v1-apiregistry-reconciliation-register).

***

## Check Registration Status

```text theme={null}
GET /v1/apiregistry/reconciliation/status
```

**Headers**

| Key             | Value       |
| --------------- | ----------- |
| `Authorization` | `{api_key}` |

**Response**

```json theme={null}
{
    "Status": 0,
    "Data": {
        "RegistrationStatus": "Registered",
        "Message": "Status retrieved successfully"
    }
}
```

See [Check Reconciliation Registration Status](https://docs.repdata.com/supply/endpoints/get-v1-apiregistry-reconciliation-status).

***

## Un-register Endpoint

```text theme={null}
PUT /v1/apiregistry/reconciliation/unregister
```

**Headers**

| Key             | Value       |
| --------------- | ----------- |
| `Authorization` | `{api_key}` |

**Response**

```json theme={null}
{
    "Status": 0,
    "Message": "Unregistered successfully"
}
```

See [Un-register Reconciliation Endpoint](https://docs.repdata.com/supply/endpoints/put-v1-apiregistry-reconciliation-unregister).

***

## Push Payload

Pushes to your registered endpoint include the `x-api-key` header with the value you provided at registration. An example body:

```json theme={null}
{
    "Supplier_ud": "f20d4b7a-4821-4f19-96a9-0911ea26697e",
    "batch_id": "Batch_20250722_018_001",
    "projects": [
        {
            "project_ud": "3f2a0d91-1b3c-4bf5-8240-1f9c9a5538e4",
            "streams": [
                {
                    "stream_id": 121873,
                    "respondents": [
                        {
                            "rdud": "5b9a23ce-7f3e-4890-98c1-6e508426a241",
                            "rid": "f7db5833-94a3-4abc-8217-ccfd39b6b8b9",
                            "cpi": 0.15,
                            "isc": "1000",
                            "status": "Rejected"
                        }
                    ]
                },
                {
                    "stream_id": 121872,
                    "respondents": [
                        {
                            "rdud": "8a59f2d4-65b4-4fc3-bd85-7cd6f325ab17",
                            "rid": "d3c124e0-f8fd-4437-813e-4a4266d92f2e",
                            "cpi": 0.15,
                            "isc": "1000",
                            "status": "Rejected"
                        }
                    ]
                }
            ]
        }
    ],
    "timestamp": "2025-07-22T11:14:01.295Z"
}
```
