---
title: "Create an approval request"
method: POST
path: "/client/approval_request/requests"
---

# Create an approval request

`POST /client/approval_request/requests`

## Request

- Base URL: `https://api.border0.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.border0.com/client/approval_request/requests`
- Auth: API key in header `Authorization`

## Request body

- V1ApprovalRequestPayload
  - `approval_workflow_ids` string[]
  - `comment` string
  - `duration_in_seconds` integer
  - `socket_ids` string[]

## Response `201`

Created

- SerializerApprovalRequest
  - `approval_request_id` string
  - `approval_workflows` SerializerSlimApprovalWorkflow[]
    - `allow_self_approval` boolean
    - `approval_workflow_id` string
    - `name` string
  - `approved_by` SerializerApprover
    - `approver_id` string
    - `display_name` string
    - `email` string
    - `image_url` string
  - `approvers` SerializerApprover[]
    - `approver_id` string
    - `display_name` string
    - `email` string
    - `image_url` string
  - `can_approver_approve` boolean
  - `can_approver_revoke` boolean
  - `comment` string
  - `created_at` string
  - `decision_workflow` SerializerSlimApprovalWorkflow
    - `allow_self_approval` boolean
    - `approval_workflow_id` string
    - `name` string
  - `duration_in_seconds` integer
  - `expired_at` string
  - `expires_in_seconds` integer
  - `is_approved` boolean
  - `is_declined` boolean
  - `is_expired` boolean
  - `is_pending` boolean
  - `is_revoked` boolean
  - `metadata` ModelsApprovalRequestMetadata
    - `from_microsoft_teams` boolean
    - `from_slack` boolean
    - `ip_address` string
    - `ip_metadata` MetadataIPMetadata
      - `city_name` string
      - `country_code` string
      - `country_name` string
      - `isp` string
      - `latitude` number
      - `longitude` number
      - `region_code` string
      - `region_name` string
    - `microsoft_teams_metadata` MetadataMicrosoftTeamsMetadata
      - `tenant_id` string
      - `tenant_name` string
    - `slack_metadata` MetadataSlackMetadata
      - `team_id` string
      - `team_name` string
  - `policy` SerializerSlimPolicy
    - `policy_data` DatatypesJSONMap
    - `policy_id` string
    - `version` string
  - `policy_id` string
  - `requester` SerializerRequester
    - `display_name` string
    - `email` string
    - `image_url` string
    - `requester_id` string
  - `seconds_since_created` integer
  - `seconds_since_expired` integer
  - `seconds_since_updated` integer
  - `socket_ids` string[]
  - `sockets` SerializerMinimalSocket[]
    - `alive` boolean
    - `dns_name` string
    - `name` string
    - `socket_id` string
    - `socket_type` string
    - `tags` object
  - `status` string
  - `to_be_decided_workflows` SerializerSlimApprovalWorkflow[]
    - `allow_self_approval` boolean
    - `approval_workflow_id` string
    - `name` string
  - `updated_at` string

## Other responses

- `401`: Unauthorized
- `500`: Internal Server Error

---

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