---
title: "Create Access Workflow"
method: POST
path: "/api/v2/approvalflows"
tags: ["Access Requests"]
---

# Create Access Workflow

`POST /api/v2/approvalflows`

## Request

- Base URL: `https://console.jumpcloud.com`
- URL: `https://console.jumpcloud.com/api/v2/approvalflows`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-console-api/docs/api/v2/approvalflows/post.ts> (a function with typed inputs; its response is checked against the schema)

Endpoint for adding a new access workflow

## Request body

- JumpcloudIngressoCreateAccessWorkflowRequest
  - `approvalType` string
  - `approverRequirement` string
  - `approverResources` JumpcloudIngressoApproverResource[]
    - `requireAll` boolean
    - `resourceId` string
    - `resourceName` string
    - `resourceOrder` integer
    - `resourceType` string
  - `category` string
  - `description` string
  - `deviceLevelPermission` string[]
  - `fixedDuration` string
  - `iconColor` string
  - `iconUrl` string
  - `multiSelectDuration` string[]
  - `name` string
  - `nonAdminApproval` boolean
  - `organizationObjectId` string, byte
  - `resourceId` string
  - `resourceType` string
  - `slackConfig` JumpcloudIngressoSlackConfig[]
    - `slackResourceId` string
  - `slackDmEnabled` boolean
  - `slackEnabled` boolean
  - `status` string
  - `timeBasedAccess` boolean
  - `ttlConfig` 'TTL_CONFIG_UNSPECIFIED' | 'TTL_CONFIG_MULTI_SELECT_DURATIONS' | 'TTL_CONFIG_FIXED_DURATION'
  - `visibleTo` string[]

## Response `200`

A successful response.

- JumpcloudIngressoCreateAccessWorkflowResponse
  - `id` string

---

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