---
title: "Create direct debit batch approval task"
method: POST
path: "/payments/v2beta/direct-debit-batches/{id}/approval-tasks"
tags: ["Direct Debits"]
---

# Create direct debit batch approval task

`POST /payments/v2beta/direct-debit-batches/{id}/approval-tasks`

## Request

- Base URL: `https://api.atlar.com`
- URL: `https://api.atlar.com/payments/v2beta/direct-debit-batches/{id}/approval-tasks`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/atlar/apis/atlar-api-v2/docs/payments/v2beta/direct-debit-batches/:id/approval-tasks/post.ts> (a function with typed inputs; its response is checked against the schema)

Initiates an asynchronous approval or rejection of every step the caller's role can act on in the batch.

Use `GET …/approval-tasks/{taskId}` to poll task progress.

## Path parameters

- `id` string, required

## Request body

- CreateApprovalTaskRequest: Request body for initiating a batch approval or rejection task.
  - `action` 'APPROVE' | 'REJECT', required: The action to perform on the approval step.
  - `reason` string: Rejection reason propagated to each payment's reject event. Required when `action` is `REJECT`.
  - `allowDateChange` boolean: If true, bump the execution date to today for payments that are approved by this task and whose date is before today at the time of processing. Payments not approved by this task are left untouched. Only applies when `action` is `APPROVE`.

## Response `201`

The created approval task.

- PaymentApprovalTask: Base schema for asynchronous tasks. Extend with `allOf` to add a typed `input` and any task-specific fields.
  - `id` string, required: Unique resource identifier.
  - `organizationId` string, required: Unique resource identifier.
  - `status` 'CREATED' | 'PROCESSING_STARTED' | 'COMPLETED' | 'CANCELLING' | 'CANCELLED', required: Lifecycle status of an asynchronous task.
  - `timeout` integer, required: The maximum runtime in seconds.
  - `runtimeMs` integer, required: Elapsed runtime in milliseconds.
  - `processed` integer, required: Number of items processed so far.
  - `starterUserId` string, required: Unique resource identifier.
  - `starterRoleId` string, required: Unique resource identifier.
  - `errors` ErrorDetails[]
    - `code` string: An error code for this error. Not always present.
    - `error` string: A description of this specific error.
    - `field` string: The field which has an error. This only set if the error has to do with a specific field, such as for validation errors. Nested fields are concatenated with `.`, as well as indexed fields in lists.
    - `metadata` object: Optional machine-readable data about the error. What it contains typically depends on `code`. At most 16 entries and 1 KiB in total (keys and values), keys up to 64 chars and values up to 256.
  - `created` string, date-time, required: Time at which the resource was created.
  - `updated` string, date-time, required: Time at which the resource was last updated.
  - `version` integer, required: Resource version. Starts at value `1` when the resource is created and increases by one for each successive update.
  - `input` PaymentApprovalTaskInput, required: Input captured when a payment approval task was created.
    - `batchId` string, required: Unique resource identifier.
    - `action` 'APPROVE' | 'REJECT', required: The action to perform on the approval step.
    - `approver` ApprovalTaskApprover, required: Snapshot of the approver captured when an approval task is created.
      - `userId` string, required: Unique resource identifier.
      - `roleId` string, required
      - `username` string, required
      - `name` string
    - `reason` string: Rejection reason propagated to each payment's reject event. Present when `action` is `REJECT`.
    - `allowDateChange` boolean: Whether payments may have their date adjusted to the next business day during approval processing.

## Other responses

- `400`: Bad request.
- `404`: Resource not found.
- `412`: Precondition failed.

## Changes

- **2026-11-03** `b49df1e4b3e9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/atlar/apis/atlar-api-v2/changes/payments/v2beta/direct-debit-batches/:id/approval-tasks/post.md)

---

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