> ## 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.

# Register Reconciliation Endpoint

Registers the endpoint that should receive reconciliation pushes. Reconciliations are pushed to your endpoint on an ongoing basis, batched every two hours.

##### Request Body

| Field          | Description                                                                                                    | Required |
| -------------- | -------------------------------------------------------------------------------------------------------------- | -------- |
| `api_endpoint` | The HTTPS endpoint that will receive reconciliation pushes.                                                    | Yes      |
| `api_key`      | A value of your choosing. It will be sent as the `x-api-key` header on every push to your registered endpoint. | Yes      |

See the [Reconciliation Push](https://docs.repdata.com/supply/guides/06-reconciliation-push) guide for the full webhook flow and an example push payload.


## OpenAPI

````yaml POST /v1/apiregistry/reconciliation/register
openapi: 3.0.3
info:
  title: Research Desk Supply API
  version: 1.0.0
  description: >-
    Rep Data's sample platform, Research Desk, lets sample suppliers integrate
    via API for programmatic sample order placement and fulfillment.


    The Supply API is a RESTful service that returns JSON. Suppliers retrieve
    available survey opportunities (Surveys and Streams), read the
    qualifications and quotas attached to each Stream, generate respondent entry
    links, and reconcile completed sessions.


    ## Authentication


    Authentication is done via an obfuscated GUID (API key) associated with each
    supplier and passed in the `Authorization` header of every request. To
    obtain credentials, contact Rep Data's Supply team at supply@repdata.com.


    ## Environments


    Production URL: `https://api.researchdesk.com`  

    Staging URL: `https://stage-api.researchdesk.com`


    We recommend completing full end-to-end testing in staging before going
    live. Staging test surveys 2634 (short, 1 question) and 2635 (longer, ~10
    minutes) are available for integration testing.


    ## Responses


    Successful responses are wrapped in a standard envelope:


    ``` json

    {
        "Status": 0,
        "Message": "Success",
        "Data": { }
    }
     ```

    A `Status` of `0` indicates success. `Data` contains the endpoint-specific
    payload.
servers:
  - url: https://api.researchdesk.com
    description: Production
  - url: https://stage-api.researchdesk.com
    description: Staging
security: []
paths:
  /v1/apiregistry/reconciliation/register:
    post:
      summary: Register Reconciliation Endpoint
      operationId: Reconciliation_Register
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Your obfuscated Supply API key (GUID), provided by Rep Data.
          schema:
            type: string
          example: '{{api_key}}'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - api_endpoint
                - api_key
              properties:
                api_endpoint:
                  type: string
                  description: HTTPS endpoint that will receive reconciliation pushes.
                api_key:
                  type: string
                  description: >-
                    Value sent as the x-api-key header on pushes to your
                    endpoint.
            example:
              api_endpoint: https://mydomain.com/api/reconciliation
              api_key: '{api_key}'
      responses:
        '200':
          description: Registration result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: integer
                  Message:
                    type: string
              example:
                Status: 0
                Message: Registration successful

````