---
title: "Create approval request"
method: POST
path: "/approvals"
tags: ["approvals"]
---

# Create approval request

`POST /approvals`

The new approval request will be created based on approval request with provided baseId. If base approval request is pending, it will be abandoned. The newly created request will contain new id, type, decision mode and steps, as well as PENDING statuses and decisions.

## Request body

- object
  - `baseId` string, required — Approval request id
  - `type` 'sequential' | 'parallel', required
  - `decisionMode` 'any' | 'all', required
  - `steps` StepInput[], required — Steps to complete approval
    - `approvers` ApproverInput[] — The order matters when type is `sequential`
      - `id` string — Approver id

## Response `201`

Approval request created

- ApprovalRequest
  - `approvalRequestId` string

## Other responses

- `400` — Unable to create approval request with codes * **BASE_ID_NOT_FOUND** when base approval request id doesn't exist * **APPROVER_ID_NOT_FOUND** when at least one of approver ids doesn't exist * **INVALID_DECISION_MODE** when decisionMode is `all` and type is `sequential`.
- `401` — Unable to create approval request with codes * **UNAUTHORIZED_ACCESS** when no permissions to create approval request

---

[API](https://skmtc.net/smartrecruiters/apis/apply-api.md) · [All operations](https://skmtc.net/smartrecruiters/apis/apply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartrecruiters/apply-api/versions/449bdc2516c9/schema)
