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

# Create Access Workflow

`POST /approvalflows`

## Request

- Base URL: `https://console.jumpcloud.com/api/v2`
- URL: `https://console.jumpcloud.com/api/v2/approvalflows`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/docs/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-api-2.md) - [All operations](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/revisions/3f09fe63caaa?raw)
