> ## 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 an access request

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



## OpenAPI

````yaml POST /api/v1/access_requests
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:
    post:
      tags:
        - access_requests
      summary: Create an access request
      description: >-
        Request access to an application resource. When authenticating with an
        API token, user_id is required to specify the grantee.
      operationId: AccessOwlApi.AccessRequestController.create
      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/CreateAccessRequest'
        description: Access request parameters
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequest'
          description: Access request 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:
    CreateAccessRequest:
      description: Request body for creating an access request
      example:
        permission_ids:
          - 7488a646-e31f-11e4-aace-600308960664
        request_reason: Need access to complete Q4 reporting
        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
        request_reason:
          description: Reason for requesting access
          maxLength: 255
          type: string
        resource_id:
          description: Resource ID to request access to
          format: uuid
          type: string
        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:
        - resource_id
        - permission_ids
        - request_reason
      title: CreateAccessRequest
      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
    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
  securitySchemes:
    bearer:
      description: >-
        Bearer token authentication. Pass your AccessOwl API token in the
        `Authorization` header as `Bearer <token>`.
      scheme: bearer
      type: http

````