Permit.io · Capability
Permit.io API — Condition Sets
Permit.io API — Condition Sets. 7 operations. Lead operation: List Condition Sets. Self-contained Naftiko capability covering one Permit Io business surface.
What You Can Do
GET
Listconditionsets
— List Condition Sets
/v1/v2/schema/{proj-id}/{env-id}/condition-sets
POST
Createconditionset
— Create Condition Set
/v1/v2/schema/{proj-id}/{env-id}/condition-sets
GET
Getconditionset
— Get Condition Set
/v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}
DELETE
Deleteconditionset
— Delete Condition Set
/v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}
PATCH
Updateconditionset
— Update Condition Set
/v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}
GET
Getconditionsetancestors
— Get Condition Set Ancestors
/v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}/ancestors
GET
Getconditionsetdescendants
— Get Condition Set Descendants
/v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}/descendants
MCP Tools
list-condition-sets
List Condition Sets
read-only
idempotent
create-condition-set
Create Condition Set
get-condition-set
Get Condition Set
read-only
idempotent
delete-condition-set
Delete Condition Set
idempotent
update-condition-set
Update Condition Set
idempotent
get-condition-set-ancestors
Get Condition Set Ancestors
read-only
idempotent
get-condition-set-descendants
Get Condition Set Descendants
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Permit.io API — Condition Sets
description: 'Permit.io API — Condition Sets. 7 operations. Lead operation: List Condition Sets. Self-contained Naftiko
capability covering one Permit Io business surface.'
tags:
- Permit Io
- Condition Sets
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-condition-sets
baseUri: ''
description: Permit.io API — Condition Sets business capability. Self-contained, no shared references.
resources:
- name: v2-schema-proj_id-env_id-condition_sets
path: /v2/schema/{proj_id}/{env_id}/condition_sets
operations:
- name: listconditionsets
method: GET
description: List Condition Sets
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: search
in: query
type: string
description: Text search for the condition sets name or key
- name: type
in: query
type: string
description: 'if provided, will return only the condition sets of the specified type. e.g: only user sets.'
- name: include_total_count
in: query
type: boolean
description: Include total count in response
- 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: createconditionset
method: POST
description: Create Condition Set
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: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v2-schema-proj_id-env_id-condition_sets-condition_set_id
path: /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}
operations:
- name: getconditionset
method: GET
description: Get Condition Set
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: condition_set_id
in: path
type: string
description: 'Either the unique id of the condition set, or the URL-friendly key of the condition set (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: deleteconditionset
method: DELETE
description: Delete Condition Set
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: condition_set_id
in: path
type: string
description: 'Either the unique id of the condition set, or the URL-friendly key of the condition set (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: updateconditionset
method: PATCH
description: Update Condition Set
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: condition_set_id
in: path
type: string
description: 'Either the unique id of the condition set, or the URL-friendly key of the condition set (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-schema-proj_id-env_id-condition_sets-condition_set_id-ancestors
path: /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/ancestors
operations:
- name: getconditionsetancestors
method: GET
description: Get Condition Set Ancestors
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: condition_set_id
in: path
type: string
description: 'Either the unique id of the condition set, or the URL-friendly key of the condition set (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-schema-proj_id-env_id-condition_sets-condition_set_id-descendants
path: /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/descendants
operations:
- name: getconditionsetdescendants
method: GET
description: Get Condition Set Descendants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: condition_set_id
in: path
type: string
description: 'Either the unique id of the condition set, or the URL-friendly key of the condition set (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).
authentication:
type: bearer
token: '{{env.PERMIT_IO_API_KEY}}'
exposes:
- type: rest
namespace: permit-io-condition-sets-rest
port: 8080
description: REST adapter for Permit.io API — Condition Sets. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v2/schema/{proj-id}/{env-id}/condition-sets
name: v2-schema-proj-id-env-id-condition-sets
description: REST surface for v2-schema-proj_id-env_id-condition_sets.
operations:
- method: GET
name: listconditionsets
description: List Condition Sets
call: permit-io-condition-sets.listconditionsets
with:
proj_id: rest.proj_id
env_id: rest.env_id
search: rest.search
type: rest.type
include_total_count: rest.include_total_count
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- method: POST
name: createconditionset
description: Create Condition Set
call: permit-io-condition-sets.createconditionset
with:
proj_id: rest.proj_id
env_id: rest.env_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}
name: v2-schema-proj-id-env-id-condition-sets-condition-set-id
description: REST surface for v2-schema-proj_id-env_id-condition_sets-condition_set_id.
operations:
- method: GET
name: getconditionset
description: Get Condition Set
call: permit-io-condition-sets.getconditionset
with:
condition_set_id: rest.condition_set_id
proj_id: rest.proj_id
env_id: rest.env_id
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteconditionset
description: Delete Condition Set
call: permit-io-condition-sets.deleteconditionset
with:
condition_set_id: rest.condition_set_id
proj_id: rest.proj_id
env_id: rest.env_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateconditionset
description: Update Condition Set
call: permit-io-condition-sets.updateconditionset
with:
condition_set_id: rest.condition_set_id
proj_id: rest.proj_id
env_id: rest.env_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}/ancestors
name: v2-schema-proj-id-env-id-condition-sets-condition-set-id-ancestors
description: REST surface for v2-schema-proj_id-env_id-condition_sets-condition_set_id-ancestors.
operations:
- method: GET
name: getconditionsetancestors
description: Get Condition Set Ancestors
call: permit-io-condition-sets.getconditionsetancestors
with:
condition_set_id: rest.condition_set_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/schema/{proj-id}/{env-id}/condition-sets/{condition-set-id}/descendants
name: v2-schema-proj-id-env-id-condition-sets-condition-set-id-descendants
description: REST surface for v2-schema-proj_id-env_id-condition_sets-condition_set_id-descendants.
operations:
- method: GET
name: getconditionsetdescendants
description: Get Condition Set Descendants
call: permit-io-condition-sets.getconditionsetdescendants
with:
condition_set_id: rest.condition_set_id
proj_id: rest.proj_id
env_id: rest.env_id
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: permit-io-condition-sets-mcp
port: 9090
transport: http
description: MCP adapter for Permit.io API — Condition Sets. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-condition-sets
description: List Condition Sets
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-condition-sets.listconditionsets
with:
proj_id: tools.proj_id
env_id: tools.env_id
search: tools.search
type: tools.type
include_total_count: tools.include_total_count
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: create-condition-set
description: Create Condition Set
hints:
readOnly: false
destructive: false
idempotent: false
call: permit-io-condition-sets.createconditionset
with:
proj_id: tools.proj_id
env_id: tools.env_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-condition-set
description: Get Condition Set
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-condition-sets.getconditionset
with:
condition_set_id: tools.condition_set_id
proj_id: tools.proj_id
env_id: tools.env_id
outputParameters:
- type: object
mapping: $.
- name: delete-condition-set
description: Delete Condition Set
hints:
readOnly: false
destructive: true
idempotent: true
call: permit-io-condition-sets.deleteconditionset
with:
condition_set_id: tools.condition_set_id
proj_id: tools.proj_id
env_id: tools.env_id
outputParameters:
- type: object
mapping: $.
- name: update-condition-set
description: Update Condition Set
hints:
readOnly: false
destructive: false
idempotent: true
call: permit-io-condition-sets.updateconditionset
with:
condition_set_id: tools.condition_set_id
proj_id: tools.proj_id
env_id: tools.env_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-condition-set-ancestors
description: Get Condition Set Ancestors
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-condition-sets.getconditionsetancestors
with:
condition_set_id: tools.condition_set_id
proj_id: tools.proj_id
env_id: tools.env_id
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: get-condition-set-descendants
description: Get Condition Set Descendants
hints:
readOnly: true
destructive: false
idempotent: true
call: permit-io-condition-sets.getconditionsetdescendants
with:
condition_set_id: tools.condition_set_id
proj_id: tools.proj_id
env_id: tools.env_id
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.