---
title: "Bulk respond to customer agreements"
method: POST
path: "/platform/v2/agreements/actions"
tags: ["Agreements"]
---

# Bulk respond to customer agreements

`POST /platform/v2/agreements/actions`

## Request

- Base URL: `https://api.sandbox.bvnk.com`
- URL: `https://api.sandbox.bvnk.com/platform/v2/agreements/actions`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/docs/platform/v2/agreements/actions/post.ts> (a function with typed inputs; its response is checked against the schema)

Accept or reject up to 50 agreements within a single working set in one call. The request is scoped by the partner-supplied `reference`; each `actions[]` item carries an `agreementId` (UUID) and a `type` (`ACCEPT` or `REJECT`). Per-item outcomes are returned as a paginated list of `AgreementActionResult`: successful items have a `status`; failed items have an `error`.

## Headers

- `Idempotency-Key` string, uuid, required

## Request body

- object
  - `reference` string, required: Partner-supplied reference that identifies the working set. Must match the value used when the working set was created.
  - `actions` object[], required: Up to 50 per-agreement actions to apply within the working set. Each item is processed independently; per-item outcomes are returned in the response.
    - `agreementId` string, uuid, required: Unique identifier of the customer agreement entry to which this action applies.
    - `type` 'ACCEPT' | 'REJECT', required: Action to apply to the agreement entry.

## Response `200`

Per-item action results

- V2PaginatedAgreementActionResultResponse: Paginated per-item outcomes for a bulk-respond call.
  - `totalElements` integer
  - `totalPages` integer
  - `content` V2AgreementActionResult[]
    - `agreementId` string, uuid: Identifier of the agreement entry the action targeted.
    - `status` 'ACCEPTED' | 'REJECTED': Resulting status if the action succeeded.
    - `error` string: Error code explaining why the action failed. Present only when the action did not succeed.
  - `pageable` V2Pageable
    - `pageNumber` integer
    - `pageSize` integer
  - `hasNext` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `409`: Idempotency-Key reused with a different payload.
- `429`: A request with the same `Idempotency-Key` is still being processed. Retry after it completes.
- `502`: The agreements upstream is temporarily unavailable.

## Changes

- **2026-11-06** `c386d436bf2c`: 1 info
  - added the non-success response with the status `429`
- **2026-06-16** `97d6c0d2fe2e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/changes/platform/v2/agreements/actions/post.md)

---

[API](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints.md) - [All operations](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/revisions/c386d436bf2c?raw)
