Permit.io · Capability
Permit.io API — Operation Approval (EAP)
Permit.io API — Operation Approval (EAP). 7 operations. Lead operation: List Operation Approvals. Self-contained Naftiko capability covering one Permit Io business surface.
What You Can Do
GET
Listoperationapprovals
— List Operation Approvals
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval
POST
Createoperationapproval
— Create Operation Approval
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval
GET
Getoperationapproval
— Get Operation Approval
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval/{operation-approval-id}
PUT
Approveoperationapproval
— Approve Operation Approval
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval/{operation-approval-id}/approve
PUT
Canceloperationapproval
— Cancel Operation Approval
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval/{operation-approval-id}/cancel
PUT
Denyoperationapproval
— Deny Operation Approval
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval/{operation-approval-id}/deny
PATCH
Updateoperationapprovalreviewer
— Update Operation Approval Reviewer
/v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval/{operation-approval-id}/reviewer
MCP Tools
list-operation-approvals
List Operation Approvals
read-only
idempotent
create-operation-approval
Create Operation Approval
get-operation-approval
Get Operation Approval
read-only
idempotent
approve-operation-approval
Approve Operation Approval
idempotent
cancel-operation-approval
Cancel Operation Approval
idempotent
deny-operation-approval
Deny Operation Approval
idempotent
update-operation-approval-reviewer
Update Operation Approval Reviewer
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Permit.io API — Operation Approval (EAP)
description: 'Permit.io API — Operation Approval (EAP). 7 operations. Lead operation: List Operation Approvals. Self-contained
Naftiko capability covering one Permit Io business surface.'
tags:
- Permit Io
- Operation Approval (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-operation-approval-eap
baseUri: ''
description: Permit.io API — Operation Approval (EAP) business capability. Self-contained, no shared references.
resources:
- name: v2-elements-proj_id-env_id-config-elements_config_id-operation_approval
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval
operations:
- name: listoperationapprovals
method: GET
description: List Operation Approvals
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- 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: status
in: query
type: string
description: Optional status filter, will only return access requests with this status.
- name: resource
in: query
type: string
description: Optional resource filter, will only return access request granted in that resource.
- name: resource_instance
in: query
type: string
description: Optional resource instance filter, will only return access request granted in that resource instance.
- 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: createoperationapproval
method: POST
description: Create Operation Approval
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- 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-operation_approval-operatio
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}
operations:
- name: getoperationapproval
method: GET
description: Get Operation Approval
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: operation_approval_id
in: path
type: string
description: 'Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval
(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: 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-operation_approval-operatio
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/approve
operations:
- name: approveoperationapproval
method: PUT
description: Approve Operation Approval
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: operation_approval_id
in: path
type: string
description: 'Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval
(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-operation_approval-operatio
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/cancel
operations:
- name: canceloperationapproval
method: PUT
description: Cancel Operation Approval
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: operation_approval_id
in: path
type: string
description: 'Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval
(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-operation_approval-operatio
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/deny
operations:
- name: denyoperationapproval
method: PUT
description: Deny Operation Approval
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: operation_approval_id
in: path
type: string
description: 'Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval
(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-operation_approval-operatio
path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/reviewer
operations:
- name: updateoperationapprovalreviewer
method: PATCH
description: Update Operation Approval Reviewer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: operation_approval_id
in: path
type: string
description: 'Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval
(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-operation-approval-eap-rest
port: 8080
description: REST adapter for Permit.io API — Operation Approval (EAP). One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/operation-approval
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval.
operations:
- method: GET
name: listoperationapprovals
description: List Operation Approvals
call: permit-io-operation-approval-eap.listoperationapprovals
with:
proj_id: rest.proj_id
env_id: rest.env_id
elements_config_id: rest.elements_config_id
status: rest.status
resource: rest.resource
resource_instance: rest.resource_instance
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- method: POST
name: createoperationapproval
description: Create Operation Approval
call: permit-io-operation-approval-eap.createoperationapproval
with:
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}/operation-approval/{operation-approval-id}
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval-operatio
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval-operatio.
operations:
- method: GET
name: getoperationapproval
description: Get Operation Approval
call: permit-io-operation-approval-eap.getoperationapproval
with:
operation_approval_id: rest.operation_approval_id
proj_id: rest.proj_id
env_id: rest.env_id
elements_config_id: rest.elements_config_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}/operation-approval/{operation-approval-id}/approve
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval-operatio
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval-operatio.
operations:
- method: PUT
name: approveoperationapproval
description: Approve Operation Approval
call: permit-io-operation-approval-eap.approveoperationapproval
with:
operation_approval_id: rest.operation_approval_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}/operation-approval/{operation-approval-id}/cancel
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval-operatio
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval-operatio.
operations:
- method: PUT
name: canceloperationapproval
description: Cancel Operation Approval
call: permit-io-operation-approval-eap.canceloperationapproval
with:
operation_approval_id: rest.operation_approval_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}/operation-approval/{operation-approval-id}/deny
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval-operatio
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval-operatio.
operations:
- method: PUT
name: denyoperationapproval
description: Deny Operation Approval
call: permit-io-operation-approval-eap.denyoperationapproval
with:
operation_approval_id: rest.operation_approval_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}/operation-approval/{operation-approval-id}/reviewer
name: v2-elements-proj-id-env-id-config-elements-config-id-operation-approval-operatio
description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-operation_approval-operatio.
operations:
- method: PATCH
name: updateoperationapprovalreviewer
description: Update Operation Approval Reviewer
call: permit-io-operation-approval-eap.updateoperationapprovalreviewer
with:
operation_approval_id: rest.operation_approval_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-operation-approval-eap-mcp
port: 9090
transport: http
description: MCP adapter for Permit.io API — Operation Approval (EAP). One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: list-operation-approvals
description: List Operation Approvals
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.listoperationapprovals
with:
proj_id: tools.proj_id
env_id: tools.env_id
elements_config_id: tools.elements_config_id
status: tools.status
resource: tools.resource
resource_instance: tools.resource_instance
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: create-operation-approval
description: Create Operation Approval
hints:
readOnly: false
destructive: false
idempotent: false
call: permit-io-operation-approval-eap.createoperationapproval
with:
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-operation-approval
description: Get Operation Approval
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.getoperationapproval
with:
operation_approval_id: tools.operation_approval_id
proj_id: tools.proj_id
env_id: tools.env_id
elements_config_id: tools.elements_config_id
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: approve-operation-approval
description: Approve Operation Approval
hints:
readOnly: false
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.approveoperationapproval
with:
operation_approval_id: tools.operation_approval_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-operation-approval
description: Cancel Operation Approval
hints:
readOnly: false
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.canceloperationapproval
with:
operation_approval_id: tools.operation_approval_id
proj_id: tools.proj_id
env_id: tools.env_id
elements_config_id: tools.elements_config_id
outputParameters:
- type: object
mapping: $.
- name: deny-operation-approval
description: Deny Operation Approval
hints:
readOnly: false
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.denyoperationapproval
with:
operation_approval_id: tools.operation_approval_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-operation-approval-reviewer
description: Update Operation Approval Reviewer
hints:
readOnly: false
destructive: false
idempotent: true
call: permit-io-operation-approval-eap.updateoperationapprovalreviewer
with:
operation_approval_id: tools.operation_approval_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: $.