← All API operations

POST /api/v1/internal/fulfilment/bookings/{bookingId}/lines/{lineId}/finance/reconciliations

Independently compare separate supplier invoice with exact approved delivery

Internal staff surface. Client data is restricted to explicit server-owned customer assignments; inaccessible resources return 404. Product/channel entitlements also apply.

Requires a verified Supabase human web session and active, revocable database-owned staff membership. Customer operator permissions, request headers and delegated agents cannot grant staff access. The session endpoint returns access:false to nonstaff without staff or customer identifiers.

The request schema is generated from the runtime Zod input validator. Cross-field refinements and state-dependent constraints are additionally enforced by the API.

Request

HTTP
POST /api/v1/internal/fulfilment/bookings/{bookingId}/lines/{lineId}/finance/reconciliations

Use the configured API origin. Private requests require a verified Bearer credential; an agent mutation can additionally require exact approval headers. Authentication guide →

ParameterLocationRequiredDescription
bookingIdpathYes
lineIdpathYes
Parameter schemas
JSON Schema
[
  {
    "name": "bookingId",
    "in": "path",
    "required": true,
    "schema": {
      "type": "string",
      "minLength": 1
    }
  },
  {
    "name": "lineId",
    "in": "path",
    "required": true,
    "schema": {
      "type": "string",
      "minLength": 1
    }
  }
]
Request body contract
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "providerAccountRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "evidenceKind": {
            "type": "string",
            "enum": [
              "invoice",
              "account-export"
            ]
          },
          "evidenceRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "evidenceArtifactId": {
            "type": "string",
            "pattern": "^psa-[a-f0-9]{64}$"
          },
          "note": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "providerTotalMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          },
          "expectedDeliveryDigest": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "providerAccountRef",
          "evidenceKind",
          "evidenceRef",
          "evidenceArtifactId",
          "note",
          "providerTotalMinor",
          "expectedDeliveryDigest"
        ],
        "additionalProperties": false
      }
    }
  }
}

Responses

Reference schemas resolve through the downloadable OpenAPI components. The specification marks unmodeled success payloads; an unrestricted payload is not a promise that arbitrary fields exist.

400Invalid request or unsupported fields
Response contract
{
  "description": "Invalid request or unsupported fields",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
401Missing or invalid authentication
Response contract
{
  "description": "Missing or invalid authentication",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
403Permission or product scope refused
Response contract
{
  "description": "Permission or product scope refused",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
404Route or tenant-scoped resource not found
Response contract
{
  "description": "Route or tenant-scoped resource not found",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
409State, revision, approval, funding or idempotency conflict
Response contract
{
  "description": "State, revision, approval, funding or idempotency conflict",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
422Supplier configuration, capability or upstream refusal
Response contract
{
  "description": "Supplier configuration, capability or upstream refusal",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
429Rate limit reached; wait before retrying
Response contract
{
  "description": "Rate limit reached; wait before retrying",
  "headers": {
    "x-ratelimit-limit": {
      "description": "Maximum requests permitted in the current rate-limit window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-remaining": {
      "description": "Requests remaining in the current window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-reset": {
      "description": "Seconds until the current rate-limit window resets.",
      "schema": {
        "type": "integer"
      }
    },
    "retry-after": {
      "description": "Minimum seconds to wait before retrying.",
      "schema": {
        "type": "integer"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
500Internal error; inspect state before retrying a mutation
Response contract
{
  "description": "Internal error; inspect state before retrying a mutation",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
503Dependency or authentication verifier unavailable
Response contract
{
  "description": "Dependency or authentication verifier unavailable",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
2XXSuccessful response.
Response contract
{
  "description": "Successful response.",
  "headers": {
    "x-ratelimit-limit": {
      "description": "Maximum requests permitted in the current rate-limit window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-remaining": {
      "description": "Requests remaining in the current window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-reset": {
      "description": "Seconds until the current rate-limit window resets.",
      "schema": {
        "type": "integer"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "reconciliation": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "campaignId": {
                "type": "string"
              },
              "channelCampaignId": {
                "type": "string"
              },
              "liveExecutionGrantId": {
                "type": "string"
              },
              "adapterKey": {
                "type": "string"
              },
              "providerAccountRef": {
                "type": "string"
              },
              "evidenceKind": {
                "type": "string"
              },
              "evidenceRef": {
                "type": "string"
              },
              "evidenceArtifactId": {
                "type": "string"
              },
              "evidenceArtifactDigest": {
                "type": "string"
              },
              "legacyEvidenceArtifact": {
                "type": "string"
              },
              "evidenceArtifact": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "campaignId": {
                    "type": "string"
                  },
                  "sha256": {
                    "type": "string"
                  },
                  "byteSize": {
                    "type": "integer"
                  },
                  "mediaType": {
                    "type": "string"
                  },
                  "fileName": {
                    "type": "string"
                  },
                  "uploadedBy": {
                    "type": "string"
                  },
                  "uploadedActor": {
                    "type": "string"
                  },
                  "uploadedSource": {
                    "type": "string"
                  },
                  "uploadedAt": {
                    "type": "string"
                  },
                  "uploadedClientId": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "campaignId",
                  "sha256",
                  "byteSize",
                  "mediaType",
                  "fileName",
                  "uploadedBy",
                  "uploadedActor",
                  "uploadedSource",
                  "uploadedAt"
                ],
                "additionalProperties": false
              },
              "note": {
                "type": "string"
              },
              "fromDate": {
                "type": "string"
              },
              "toDate": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "providerTotalMinor": {
                "type": "integer"
              },
              "chorusTotalMinor": {
                "type": "integer"
              },
              "deliveryDigest": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "revision": {
                "type": "integer"
              },
              "recordedAt": {
                "type": "string"
              },
              "recordedBy": {
                "type": "string"
              },
              "recordedActor": {
                "type": "string"
              },
              "recordedSource": {
                "type": "string"
              },
              "recordedClientId": {
                "type": "string"
              },
              "providerAccountRefAuthority": {
                "type": "string"
              },
              "deliveryAccountIdentityControl": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "campaignId",
              "channelCampaignId",
              "liveExecutionGrantId",
              "adapterKey",
              "providerAccountRef",
              "evidenceKind",
              "evidenceRef",
              "note",
              "fromDate",
              "toDate",
              "currency",
              "providerTotalMinor",
              "chorusTotalMinor",
              "deliveryDigest",
              "outcome",
              "revision",
              "recordedAt",
              "recordedBy",
              "recordedActor",
              "recordedSource",
              "providerAccountRefAuthority",
              "deliveryAccountIdentityControl"
            ],
            "additionalProperties": false
          },
          "replayed": {
            "type": "boolean"
          },
          "fundsReleased": {
            "type": "boolean",
            "const": false
          }
        },
        "required": [
          "reconciliation",
          "replayed",
          "fundsReleased"
        ],
        "additionalProperties": false
      }
    }
  }
}

Operation constraints

Machine-readable metadata
{
  "x-response-schema-completeness": "modeled",
  "x-rate-limit": {
    "requests": 300,
    "windowMilliseconds": 60000,
    "key": "request IP",
    "headers": [
      "x-ratelimit-limit",
      "x-ratelimit-remaining",
      "x-ratelimit-reset"
    ]
  },
  "x-idempotency": {
    "policy": "not-generalized",
    "note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
  },
  "x-human-only": true,
  "x-required-human-permissions": [],
  "x-internal-staff-only": true,
  "x-staff-authority": "server-owned revocable membership and explicit client assignments"
}

Complete operation

OpenAPI
{
  "operationId": "post_api_v1_internal_fulfilment_bookings_bookingId_lines_lineId_finance_reconciliations",
  "summary": "Independently compare separate supplier invoice with exact approved delivery",
  "description": "Internal staff surface. Client data is restricted to explicit server-owned customer assignments; inaccessible resources return 404. Product/channel entitlements also apply.\n\nRequires a verified Supabase human web session and active, revocable database-owned staff membership. Customer operator permissions, request headers and delegated agents cannot grant staff access. The session endpoint returns access:false to nonstaff without staff or customer identifiers.\n\nThe request schema is generated from the runtime Zod input validator. Cross-field refinements and state-dependent constraints are additionally enforced by the API.",
  "tags": [
    "Internal"
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "bookingId",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "minLength": 1
      }
    },
    {
      "name": "lineId",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "minLength": 1
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "providerAccountRef": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            },
            "evidenceKind": {
              "type": "string",
              "enum": [
                "invoice",
                "account-export"
              ]
            },
            "evidenceRef": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            },
            "evidenceArtifactId": {
              "type": "string",
              "pattern": "^psa-[a-f0-9]{64}$"
            },
            "note": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "providerTotalMinor": {
              "type": "integer",
              "minimum": 0,
              "maximum": 2147483647
            },
            "expectedDeliveryDigest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "providerAccountRef",
            "evidenceKind",
            "evidenceRef",
            "evidenceArtifactId",
            "note",
            "providerTotalMinor",
            "expectedDeliveryDigest"
          ],
          "additionalProperties": false
        }
      }
    }
  },
  "responses": {
    "400": {
      "description": "Invalid request or unsupported fields",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "Missing or invalid authentication",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "403": {
      "description": "Permission or product scope refused",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "Route or tenant-scoped resource not found",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "409": {
      "description": "State, revision, approval, funding or idempotency conflict",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "422": {
      "description": "Supplier configuration, capability or upstream refusal",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "Rate limit reached; wait before retrying",
      "headers": {
        "x-ratelimit-limit": {
          "description": "Maximum requests permitted in the current rate-limit window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-remaining": {
          "description": "Requests remaining in the current window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-reset": {
          "description": "Seconds until the current rate-limit window resets.",
          "schema": {
            "type": "integer"
          }
        },
        "retry-after": {
          "description": "Minimum seconds to wait before retrying.",
          "schema": {
            "type": "integer"
          }
        }
      },
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "Internal error; inspect state before retrying a mutation",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "503": {
      "description": "Dependency or authentication verifier unavailable",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "2XX": {
      "description": "Successful response.",
      "headers": {
        "x-ratelimit-limit": {
          "description": "Maximum requests permitted in the current rate-limit window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-remaining": {
          "description": "Requests remaining in the current window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-reset": {
          "description": "Seconds until the current rate-limit window resets.",
          "schema": {
            "type": "integer"
          }
        }
      },
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "reconciliation": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "campaignId": {
                    "type": "string"
                  },
                  "channelCampaignId": {
                    "type": "string"
                  },
                  "liveExecutionGrantId": {
                    "type": "string"
                  },
                  "adapterKey": {
                    "type": "string"
                  },
                  "providerAccountRef": {
                    "type": "string"
                  },
                  "evidenceKind": {
                    "type": "string"
                  },
                  "evidenceRef": {
                    "type": "string"
                  },
                  "evidenceArtifactId": {
                    "type": "string"
                  },
                  "evidenceArtifactDigest": {
                    "type": "string"
                  },
                  "legacyEvidenceArtifact": {
                    "type": "string"
                  },
                  "evidenceArtifact": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "campaignId": {
                        "type": "string"
                      },
                      "sha256": {
                        "type": "string"
                      },
                      "byteSize": {
                        "type": "integer"
                      },
                      "mediaType": {
                        "type": "string"
                      },
                      "fileName": {
                        "type": "string"
                      },
                      "uploadedBy": {
                        "type": "string"
                      },
                      "uploadedActor": {
                        "type": "string"
                      },
                      "uploadedSource": {
                        "type": "string"
                      },
                      "uploadedAt": {
                        "type": "string"
                      },
                      "uploadedClientId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "campaignId",
                      "sha256",
                      "byteSize",
                      "mediaType",
                      "fileName",
                      "uploadedBy",
                      "uploadedActor",
                      "uploadedSource",
                      "uploadedAt"
                    ],
                    "additionalProperties": false
                  },
                  "note": {
                    "type": "string"
                  },
                  "fromDate": {
                    "type": "string"
                  },
                  "toDate": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "providerTotalMinor": {
                    "type": "integer"
                  },
                  "chorusTotalMinor": {
                    "type": "integer"
                  },
                  "deliveryDigest": {
                    "type": "string"
                  },
                  "outcome": {
                    "type": "string"
                  },
                  "revision": {
                    "type": "integer"
                  },
                  "recordedAt": {
                    "type": "string"
                  },
                  "recordedBy": {
                    "type": "string"
                  },
                  "recordedActor": {
                    "type": "string"
                  },
                  "recordedSource": {
                    "type": "string"
                  },
                  "recordedClientId": {
                    "type": "string"
                  },
                  "providerAccountRefAuthority": {
                    "type": "string"
                  },
                  "deliveryAccountIdentityControl": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "campaignId",
                  "channelCampaignId",
                  "liveExecutionGrantId",
                  "adapterKey",
                  "providerAccountRef",
                  "evidenceKind",
                  "evidenceRef",
                  "note",
                  "fromDate",
                  "toDate",
                  "currency",
                  "providerTotalMinor",
                  "chorusTotalMinor",
                  "deliveryDigest",
                  "outcome",
                  "revision",
                  "recordedAt",
                  "recordedBy",
                  "recordedActor",
                  "recordedSource",
                  "providerAccountRefAuthority",
                  "deliveryAccountIdentityControl"
                ],
                "additionalProperties": false
              },
              "replayed": {
                "type": "boolean"
              },
              "fundsReleased": {
                "type": "boolean",
                "const": false
              }
            },
            "required": [
              "reconciliation",
              "replayed",
              "fundsReleased"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  },
  "x-response-schema-completeness": "modeled",
  "x-rate-limit": {
    "requests": 300,
    "windowMilliseconds": 60000,
    "key": "request IP",
    "headers": [
      "x-ratelimit-limit",
      "x-ratelimit-remaining",
      "x-ratelimit-reset"
    ]
  },
  "x-idempotency": {
    "policy": "not-generalized",
    "note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
  },
  "x-human-only": true,
  "x-required-human-permissions": [],
  "x-internal-staff-only": true,
  "x-staff-authority": "server-owned revocable membership and explicit client assignments"
}
Download the complete specification, including shared schema components →
Independently compare separate supplier invoice with exact approved delivery | AdBuyMCP docs