naftiko: 1.0.0-alpha2 info: label: Permit.io API — Access Requests (EAP) description: 'Permit.io API — Access Requests (EAP). 14 operations. Lead operation: List Access Requests. Self-contained Naftiko capability covering one Permit Io business surface.' tags: - Permit Io - Access Requests (EAP) created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PERMIT_IO_API_KEY: PERMIT_IO_API_KEY capability: consumes: - type: http namespace: permit-io-access-requests-eap baseUri: '' description: Permit.io API — Access Requests (EAP) business capability. Self-contained, no shared references. resources: - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests operations: - name: listaccessrequestsv2elementsprojidenvidconfigelementsconfigidaccessrequestsget method: GET description: List Access Requests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: status in: query type: string description: Optional status filter, will only return access requests with this status. - name: tenant in: query type: string description: Optional tenant filter, will only return access request granted in that tenant. - name: role in: query type: string description: Optional role filter, will only return access request granted with that role. - name: resource in: query type: string description: Optional resource filter, will only return access request granted in that resource. - name: page in: query type: integer description: Page number of the results to fetch, starting at 1. - name: per_page in: query type: integer description: The number of results per page (max 100). - name: resource_instance_id in: query type: string description: For ReBAC Elements, the resource instance ID or key to work on - name: createaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestspost method: POST description: Create Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id} operations: - name: getaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidget method: GET description: Get Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: page in: query type: integer description: Page number of the results to fetch, starting at 1. - name: per_page in: query type: integer description: The number of results per page (max 100). - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/approve operations: - name: approveaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidapproveput method: PUT description: Approve Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/cancel operations: - name: cancelaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidcancelput method: PUT description: Cancel Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/deny operations: - name: denyaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestiddenyput method: PUT description: Deny Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/reviewer operations: - name: updateaccessrequestreviewerv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidreviewerpatch method: PATCH description: Update Access Request Reviewer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id} operations: - name: listaccessrequests method: GET description: List Access Requests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: status in: query type: string description: Optional status filter, will only return access requests with this status. - name: role in: query type: string description: Optional role filter, will only return access request granted with that role. - name: resource in: query type: string description: Optional resource filter, will only return access request granted in that resource. - name: page in: query type: integer description: Page number of the results to fetch, starting at 1. - name: per_page in: query type: integer description: The number of results per page (max 100). - name: resource_instance_id in: query type: string description: For ReBAC Elements, the resource instance ID or key to work on - name: createaccessrequest method: POST description: Create Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id} operations: - name: getaccessrequest method: GET description: Get Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/approve operations: - name: approveaccessrequest method: PUT description: Approve Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/cancel operations: - name: cancelaccessrequest method: PUT description: Cancel Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/deny operations: - name: denyaccessrequest method: PUT description: Deny Access Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t path: /v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/reviewer operations: - name: updateaccessrequestreviewer method: PATCH description: Update Access Request Reviewer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: access_request_id in: path type: string description: 'Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the "slug").' required: true - name: tenant_id in: path type: string description: 'Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the "slug").' required: true - name: user_id in: path type: string description: 'Either the unique id of the user, or the URL-friendly key of the user (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.PERMIT_IO_API_KEY}}' exposes: - type: rest namespace: permit-io-access-requests-eap-rest port: 8080 description: REST adapter for Permit.io API — Access Requests (EAP). One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests. operations: - method: GET name: listaccessrequestsv2elementsprojidenvidconfigelementsconfigidaccessrequestsget description: List Access Requests call: permit-io-access-requests-eap.listaccessrequestsv2elementsprojidenvidconfigelementsconfigidaccessrequestsget with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id status: rest.status tenant: rest.tenant role: rest.role resource: rest.resource page: rest.page per_page: rest.per_page resource_instance_id: rest.resource_instance_id outputParameters: - type: object mapping: $. - method: POST name: createaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestspost description: Create Access Request call: permit-io-access-requests-eap.createaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestspost with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests/{access-request-id} name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests-access-requ description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ. operations: - method: GET name: getaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidget description: Get Access Request call: permit-io-access-requests-eap.getaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidget with: elements_config_id: rest.elements_config_id access_request_id: rest.access_request_id proj_id: rest.proj_id env_id: rest.env_id page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests/{access-request-id}/approve name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests-access-requ description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ. operations: - method: PUT name: approveaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidapproveput description: Approve Access Request call: permit-io-access-requests-eap.approveaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidapproveput with: access_request_id: rest.access_request_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests/{access-request-id}/cancel name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests-access-requ description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ. operations: - method: PUT name: cancelaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidcancelput description: Cancel Access Request call: permit-io-access-requests-eap.cancelaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidcancelput with: access_request_id: rest.access_request_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests/{access-request-id}/deny name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests-access-requ description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ. operations: - method: PUT name: denyaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestiddenyput description: Deny Access Request call: permit-io-access-requests-eap.denyaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestiddenyput with: access_request_id: rest.access_request_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/access-requests/{access-request-id}/reviewer name: v2-elements-proj-id-env-id-config-elements-config-id-access-requests-access-requ description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-access_requests-access_requ. operations: - method: PATCH name: updateaccessrequestreviewerv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidreviewerpatch description: Update Access Request Reviewer call: permit-io-access-requests-eap.updateaccessrequestreviewerv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidreviewerpatch with: access_request_id: rest.access_request_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id} name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: GET name: listaccessrequests description: List Access Requests call: permit-io-access-requests-eap.listaccessrequests with: tenant_id: rest.tenant_id user_id: rest.user_id elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id status: rest.status role: rest.role resource: rest.resource page: rest.page per_page: rest.per_page resource_instance_id: rest.resource_instance_id outputParameters: - type: object mapping: $. - method: POST name: createaccessrequest description: Create Access Request call: permit-io-access-requests-eap.createaccessrequest with: tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id}/{access-request-id} name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: GET name: getaccessrequest description: Get Access Request call: permit-io-access-requests-eap.getaccessrequest with: access_request_id: rest.access_request_id tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id}/{access-request-id}/approve name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: PUT name: approveaccessrequest description: Approve Access Request call: permit-io-access-requests-eap.approveaccessrequest with: access_request_id: rest.access_request_id tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id}/{access-request-id}/cancel name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: PUT name: cancelaccessrequest description: Cancel Access Request call: permit-io-access-requests-eap.cancelaccessrequest with: access_request_id: rest.access_request_id tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id}/{access-request-id}/deny name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: PUT name: denyaccessrequest description: Deny Access Request call: permit-io-access-requests-eap.denyaccessrequest with: access_request_id: rest.access_request_id tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/facts/{proj-id}/{env-id}/access-requests/{elements-config-id}/user/{user-id}/tenant/{tenant-id}/{access-request-id}/reviewer name: v2-facts-proj-id-env-id-access-requests-elements-config-id-user-user-id-tenant-t description: REST surface for v2-facts-proj_id-env_id-access_requests-elements_config_id-user-user_id-tenant-t. operations: - method: PATCH name: updateaccessrequestreviewer description: Update Access Request Reviewer call: permit-io-access-requests-eap.updateaccessrequestreviewer with: access_request_id: rest.access_request_id tenant_id: rest.tenant_id user_id: rest.user_id proj_id: rest.proj_id env_id: rest.env_id elements_config_id: rest.elements_config_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: permit-io-access-requests-eap-mcp port: 9090 transport: http description: MCP adapter for Permit.io API — Access Requests (EAP). One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-access-requests description: List Access Requests hints: readOnly: true destructive: false idempotent: true call: permit-io-access-requests-eap.listaccessrequestsv2elementsprojidenvidconfigelementsconfigidaccessrequestsget with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id status: tools.status tenant: tools.tenant role: tools.role resource: tools.resource page: tools.page per_page: tools.per_page resource_instance_id: tools.resource_instance_id outputParameters: - type: object mapping: $. - name: create-access-request description: Create Access Request hints: readOnly: false destructive: false idempotent: false call: permit-io-access-requests-eap.createaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestspost with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id body: tools.body outputParameters: - type: object mapping: $. - name: get-access-request description: Get Access Request hints: readOnly: true destructive: false idempotent: true call: permit-io-access-requests-eap.getaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidget with: elements_config_id: tools.elements_config_id access_request_id: tools.access_request_id proj_id: tools.proj_id env_id: tools.env_id page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: approve-access-request description: Approve Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.approveaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidapproveput with: access_request_id: tools.access_request_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: cancel-access-request description: Cancel Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.cancelaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidcancelput with: access_request_id: tools.access_request_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id outputParameters: - type: object mapping: $. - name: deny-access-request description: Deny Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.denyaccessrequestv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestiddenyput with: access_request_id: tools.access_request_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: update-access-request-reviewer description: Update Access Request Reviewer hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.updateaccessrequestreviewerv2elementsprojidenvidconfigelementsconfigidaccessrequestsaccessrequestidreviewerpatch with: access_request_id: tools.access_request_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: list-access-requests-2 description: List Access Requests hints: readOnly: true destructive: false idempotent: true call: permit-io-access-requests-eap.listaccessrequests with: tenant_id: tools.tenant_id user_id: tools.user_id elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id status: tools.status role: tools.role resource: tools.resource page: tools.page per_page: tools.per_page resource_instance_id: tools.resource_instance_id outputParameters: - type: object mapping: $. - name: create-access-request-2 description: Create Access Request hints: readOnly: false destructive: false idempotent: false call: permit-io-access-requests-eap.createaccessrequest with: tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: get-access-request-2 description: Get Access Request hints: readOnly: true destructive: false idempotent: true call: permit-io-access-requests-eap.getaccessrequest with: access_request_id: tools.access_request_id tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id outputParameters: - type: object mapping: $. - name: approve-access-request-2 description: Approve Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.approveaccessrequest with: access_request_id: tools.access_request_id tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: cancel-access-request-2 description: Cancel Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.cancelaccessrequest with: access_request_id: tools.access_request_id tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id outputParameters: - type: object mapping: $. - name: deny-access-request-2 description: Deny Access Request hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.denyaccessrequest with: access_request_id: tools.access_request_id tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $. - name: update-access-request-reviewer-2 description: Update Access Request Reviewer hints: readOnly: false destructive: false idempotent: true call: permit-io-access-requests-eap.updateaccessrequestreviewer with: access_request_id: tools.access_request_id tenant_id: tools.tenant_id user_id: tools.user_id proj_id: tools.proj_id env_id: tools.env_id elements_config_id: tools.elements_config_id body: tools.body outputParameters: - type: object mapping: $.