/reconciliations/{id}/preview

  • APPROVED → reads back the rows it actually promoted, via the persisted link. Exact, no re-parsing.
  • PENDING / REJECTED → parses the S3 file live and cross-references every uid against this project's rows regardless of their current status, so the caller sees exactly what approving would change. Uids that match nothing get a synthetic "Not Found" row rather than silently vanishing.

Rows are redacted the same way this client's reports are.

GEThttps://dashboard.a2bsample.com/api/developer/playground/client/reconciliations/{uploadId}/preview
RequiresAuthorizationandX-Api-Tokenas headers.
Client
Client·Reconciliations·GET/reconciliations/{id}/preview
GEThttps://dashboard.a2bsample.com/api/developer/playground/client/reconciliations/{uploadId}/preview

missing uploadId

Response

Send a request to see the response.

Example request

Request
curl --request GET \  --url 'https://dashboard.a2bsample.com/api/developer/playground/client/reconciliations/{uploadId}/preview' \  --header 'Authorization: Bearer $A2B_BEARER_TOKEN' \  --header 'X-Api-Token: $A2B_API_TOKEN' \  --header 'Accept: application/json'

Request

Headers3

Authorizationstringrequired

The secret half. A client token starts clt_ — the four-character prefix says which table to resolve it in, so the row it matches is the caller. A vnd_… token on this prefix is a 403, not a 404.

example: Bearer clt_4c8ea1f52d6b8e0c4a919f1c4e2a7b3d
X-Api-Tokenstringrequired

The identity half — this client's own 40-hex apiToken, the value GET /api/developer/me echoes back. Compared in constant time against the bearer token's own row, so a bearer token lifted on its own is not enough to call the playground.

example: 3c7a1b905e424d189f637a2c5e1b8d40b1d9f4e6
Acceptstringoptional

Response media type.

default: application/json

Path parameters1

uploadIdstring<uuid>required

Reconcile upload identifier.

Responses

200OK

The rows this upload touched, or would touch.

successboolean
Whether the call succeeded.
rowsarray<object>
totalinteger
Example response
{  "success": true,  "rows": [    {      "id": "8e0c4a91-9f1c-4e2a-7b3d-4c8ea1f52d6b",      "pid": 1042,      "projectName": "Q3 Brand Tracker",      "gid": "string",      "vendorName": "string",      "clientName": "Acme Insights",      "startIpAddress": "203.0.113.42",      "endIpAddress": "203.0.113.42",      "startTime": "11:02:19",      "endTime": "11:14:51",      "startDate": "2026-08-20",      "endDate": "2026-08-20",      "refId": "a1f52d6b8e0c",      "uid": "string",      "hashedUid": "6b8e0c4a919f1c4e2a7b3d4c8ea1f52d",      "loi": 12,      "status": 1,      "countryName": "United States",      "vendorStartTime": "string",      "vendorEndTime": "string",      "clientStartTime": "11:03:02",      "clientEndTime": "11:14:44",      "sentToClient": "string",      "clientCpi": 0,      "vendorCpi": 0,      "profit": 0    }  ],  "total": 310}