> ## Documentation Index
> Fetch the complete documentation index at: https://docs.accessowl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create multiple access requests

> Request access to multiple application resources. When authenticating with an API token, user_id is required to specify the grantee.



## OpenAPI

````yaml POST /api/v1/access_requests/bulk
openapi: 3.0.0
info:
  description: REST API for AccessOwl third-party integrations
  title: AccessOwl API
  version: 1.0.0
servers:
  - url: https://api.accessowl.com
    variables: {}
security:
  - bearer: []
tags: []
paths:
  /api/v1/access_requests/bulk:
    post:
      tags:
        - access_requests
      summary: Create multiple access requests
      description: >-
        Request access to multiple application resources. When authenticating
        with an API token, user_id is required to specify the grantee.
      operationId: AccessOwlApi.AccessRequestController.create_bulk
      parameters:
        - description: >-
            Optional key (1–255 chars) for safely retrying a request. Reusing
            the same key for the same request returns `409 Conflict` and is not
            processed again — this confirms the request was already received.
            Keys are retained for 14 days.
          in: header
          name: Idempotency-Key
          required: false
          schema:
            maxLength: 255
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkAccessRequest'
        description: Bulk access request parameters
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkAccessRequestResponse'
          description: Access requests created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Resource not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Validation error
      callbacks: {}
components:
  schemas:
    CreateBulkAccessRequest:
      description: Request body for creating multiple access requests
      example:
        request_reason: Need access to complete Q4 reporting
        requests:
          - permission_ids:
              - 7488a646-e31f-11e4-aace-600308960664
            resource_id: 7488a646-e31f-11e4-aace-600308960663
          - permission_ids:
              - 7488a646-e31f-11e4-aace-600308960666
            resource_id: 7488a646-e31f-11e4-aace-600308960665
      properties:
        request_reason:
          description: Shared reason for all access requests
          maxLength: 255
          type: string
        requests:
          description: List of access requests to create (max 10)
          items:
            $ref: '#/components/schemas/BulkAccessRequestItem'
          maxItems: 10
          minItems: 1
          type: array
        user_id:
          description: >-
            User to request access for. Required when authenticating with an API
            token. With a user login, defaults to the authenticated user if
            omitted.
          format: uuid
          type: string
      required:
        - requests
        - request_reason
      title: CreateBulkAccessRequest
      type: object
    BulkAccessRequestResponse:
      description: Response containing created access requests
      properties:
        data:
          description: List of created access requests
          items:
            $ref: '#/components/schemas/AccessRequest'
          type: array
      required:
        - data
      title: BulkAccessRequestResponse
      type: object
    Error:
      description: Standard error response
      example:
        error: not_found
        message: Resource not found
      properties:
        error:
          description: Error code
          example: not_found
          type: string
        errors:
          additionalProperties:
            items:
              type: string
            type: array
          description: Field-specific validation errors (only for 422 responses)
          example:
            email:
              - has invalid format
            first_name:
              - can't be blank
          type: object
        message:
          description: Human-readable error message
          example: Resource not found
          type: string
      required:
        - error
        - message
      title: Error
      type: object
    BulkAccessRequestItem:
      description: A single item in a bulk access request
      example:
        permission_ids:
          - 7488a646-e31f-11e4-aace-600308960664
        resource_id: 7488a646-e31f-11e4-aace-600308960663
      properties:
        permission_ids:
          description: List of permission IDs to request
          items:
            format: uuid
            type: string
          minItems: 1
          type: array
        resource_id:
          description: Resource ID to request access to
          format: uuid
          type: string
      required:
        - resource_id
        - permission_ids
      title: BulkAccessRequestItem
      type: object
    AccessRequest:
      description: An access request
      example:
        application_id: 7488a646-e31f-11e4-aace-600308960662
        grantee_user_id: 9488a646-e31f-11e4-aace-600308960666
        id: 8488a646-e31f-11e4-aace-600308960665
        inserted_at: '2023-01-15T10:30:00Z'
        permission_ids:
          - 7488a646-e31f-11e4-aace-600308960664
        provisioning_type: automatic
        request_reason: Need access to complete Q4 reporting
        requestor_user_id: 9488a646-e31f-11e4-aace-600308960666
        resource_id: 7488a646-e31f-11e4-aace-600308960663
        status: pending_approval
      properties:
        application_id:
          description: Application ID
          format: uuid
          type: string
        grantee_user_id:
          description: User ID of the grantee
          format: uuid
          type: string
        id:
          description: Access request ID
          format: uuid
          type: string
        inserted_at:
          description: Creation timestamp
          format: date-time
          type: string
        permission_ids:
          description: Requested permission IDs
          items:
            format: uuid
            type: string
          type: array
        provisioning_type:
          description: Provisioning type
          enum:
            - application_admin
            - automatic
          nullable: true
          type: string
        request_reason:
          description: Request reason
          type: string
        requestor_user_id:
          description: User ID of the requestor
          format: uuid
          type: string
        resource_id:
          description: Resource ID
          format: uuid
          type: string
        status:
          description: Current status of the access request
          enum:
            - pending_approval
            - pending_permissions_assignment
            - access_granted
            - denied
            - rejected
            - processing_access
            - scheduled
            - pending_dependency
          type: string
      required:
        - id
        - resource_id
        - application_id
        - permission_ids
        - request_reason
        - status
      title: AccessRequest
      type: object
  securitySchemes:
    bearer:
      description: >-
        Bearer token authentication. Pass your AccessOwl API token in the
        `Authorization` header as `Bearer <token>`.
      scheme: bearer
      type: http

````