> ## 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 revocation

> Creates a revocation for the access identified by `access_state_id`. For a resource-scoped access state, produces one revocation against that resource.For an app-wide access state (no resource), produces the equivalent app-wide revocation.



## OpenAPI

````yaml POST /api/v1/access_revocations
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_revocations:
    post:
      tags:
        - access_revocations
      summary: Create an access revocation
      description: >-
        Creates a revocation for the access identified by `access_state_id`. For
        a resource-scoped access state, produces one revocation against that
        resource.For an app-wide access state (no resource), produces the
        equivalent app-wide revocation.
      operationId: AccessOwlApi.AccessRevocationController.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/CreateAccessRevocation'
        description: Access revocation parameters
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRevocation'
          description: Access revocation 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: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Validation error
      callbacks: {}
components:
  schemas:
    CreateAccessRevocation:
      description: Request body for creating an access revocation from an access state
      example:
        access_state_id: 7488a646-e31f-11e4-aace-600308960663
        reason: Role no longer requires this access
      properties:
        access_state_id:
          description: Access state ID identifying the access to revoke
          format: uuid
          type: string
        reason:
          description: Reason for the revocation
          maxLength: 255
          type: string
      required:
        - access_state_id
        - reason
      title: CreateAccessRevocation
      type: object
    AccessRevocation:
      description: An access revocation
      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 revocation ID
          format: uuid
          type: string
        inserted_at:
          description: Creation timestamp
          format: date-time
          type: string
        permission_ids:
          description: Permission IDs being revoked
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        provisioning_type:
          description: Provisioning type
          enum:
            - application_admin
            - automatic
          nullable: true
          type: string
        reason:
          description: Revocation reason
          type: string
        requestor_user_id:
          description: User ID of the requestor
          format: uuid
          type: string
        resource_id:
          description: Resource ID (null for app-wide revocations)
          format: uuid
          nullable: true
          type: string
        status:
          description: Current status of the revocation
          enum:
            - processing_access
            - rejected
            - revoked
          type: string
      required:
        - id
        - application_id
        - reason
        - status
      title: AccessRevocation
      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

````