permitio-api — quality + safety report

In the Skillier index (lap__permit-io-permit) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

✓ Clean — no heuristic safety flags surfaced.

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~10675 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

Permit.io API skill. Use when working with Permit.io for members, api-key, orgs. Covers 258 endpoints.

📄 Read the SKILL.md
---
name: permitio-api
description: "Permit.io API skill. Use when working with Permit.io for members, api-key, orgs. Covers 258 endpoints."
version: 1.0.0
generator: lapsh
---

# Permit.io API
API version: 2.0.0

## Auth
Bearer bearer

## Base URL
Not specified.

## Setup
1. Set Authorization header with your Bearer token
2. GET /v2/members/me -- verify access
3. POST /v2/members -- create first members

## Endpoints

258 endpoints across 14 groups. See references/api-spec.lap for full details.

### members
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/members/me | Get the authenticated account member |
| GET | /v2/members | List Organization Members |
| POST | /v2/members | Invite new members |
| DELETE | /v2/members | Remove permission |
| GET | /v2/members/{member_id} | Get Organization Member |
| DELETE | /v2/members/{member_id} | Remove member |
| PATCH | /v2/members/{member_id} | Edit members |

### api-key
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/api-key/{proj_id}/{env_id} | Get Environment Api Key |
| GET | /v2/api-key/scope | Get Api Key Scope |
| GET | /v2/api-key | List Api Keys |
| POST | /v2/api-key | Create Api Key |
| GET | /v2/api-key/{api_key_id} | Get Api Key |
| DELETE | /v2/api-key/{api_key_id} | Delete Api Key |
| POST | /v2/api-key/{api_key_id}/rotate-secret | Rotate API Key |

### orgs
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/orgs | List Organizations |
| POST | /v2/orgs | Create Organization |
| GET | /v2/orgs/{org_id} | Get Organization |
| DELETE | /v2/orgs/{org_id} | Delete Organization |
| PATCH | /v2/orgs/{org_id} | Update Organization |
| GET | /v2/orgs/active/org | Get Active Organization |
| GET | /v2/orgs/{org_id}/stats | Stats Organization |
| GET | /v2/orgs/{org_id}/invites | List Organization Invites |
| POST | /v2/orgs/{org_id}/invites | Invite Members To Organization |
| DELETE | /v2/orgs/{org_id}/invites/{invite_id} | Cancel Invite |

### projects
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/projects | List Projects |
| POST | /v2/projects | Create Project |
| GET | /v2/projects/{proj_id} | Get Project |
| DELETE | /v2/projects/{proj_id} | Delete Project |
| PATCH | /v2/projects/{proj_id} | Update Project |
| GET | /v2/projects/{proj_id}/envs/{env_id}/stats | Stats Environments |
| GET | /v2/projects/{proj_id}/envs | List Environments |
| POST | /v2/projects/{proj_id}/envs | Create Environment |
| GET | /v2/projects/{proj_id}/envs/{env_id} | Get Environment |
| DELETE | /v2/projects/{proj_id}/envs/{env_id} | Delete Environment |
| PATCH | /v2/projects/{proj_id}/envs/{env_id} | Update Environment |
| POST | /v2/projects/{proj_id}/envs/{env_id}/copy | Copy Environment |
| POST | /v2/projects/{proj_id}/envs/{env_id}/copy/async | Copy Environment Async |
| GET | /v2/projects/{proj_id}/envs/{env_id}/copy/async/{task_id}/result | Get Copy Environment Task Result |
| POST | /v2/projects/{proj_id}/envs/{env_id}/test_jwks | Test Jwks By Url |
| GET | /v2/projects/{proj_id}/repos | List Policy Repos |
| POST | /v2/projects/{proj_id}/repos | Create Policy Repo |
| GET | /v2/projects/{proj_id}/repos/active | Get Active Policy Repo |
| PUT | /v2/projects/{proj_id}/repos/disable | Disable Active Policy Repo |
| PUT | /v2/projects/{proj_id}/repos/{repo_id}/activate | Activate Policy Repo |
| GET | /v2/projects/{proj_id}/repos/{repo_id} | Get Policy Repo |
| DELETE | /v2/projects/{proj_id}/repos/{repo_id} | Delete Policy Repo |
| GET | /v2/projects/{proj_id}/{env_id}/opal_scope | Get Scope Config |
| PUT | /v2/projects/{proj_id}/{env_id}/opal_scope | Set Scope Config |
| DELETE | /v2/projects/{proj_id}/{env_id}/opal_scope | Reset Scope Config |

### schema
| Method | Path | Description |
|--------|------|-------------|
| PUT | /v2/schema/{proj_id}/{env_id}/bulk/roles | Bulk Create Or Replace Roles |
| GET | /v2/schema/{proj_id}/{env_id}/condition_sets | List Condition Sets |
| POST | /v2/schema/{proj_id}/{env_id}/condition_sets | Create Condition Set |
| GET | /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} | Get Condition Set |
| DELETE | /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} | Delete Condition Set |
| PATCH | /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} | Update Condition Set |
| GET | /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/ancestors | Get Condition Set Ancestors |
| GET | /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/descendants | Get Condition Set Descendants |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/implicit_grants | Create Implicit Grant |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/implicit_grants | Delete Implicit Grant |
| PUT | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/implicit_grants/conditions | Update Implicit Grants Conditions |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups | List Resource Action Groups |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups | Create Resource Action Group |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups/{action_group_id} | Get Resource Action Group |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups/{action_group_id} | Delete Resource Action Group |
| PATCH | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups/{action_group_id} | Update Resource Action Group |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions | List Resource Actions |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions | Create Resource Action |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} | Get Resource Action |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} | Delete Resource Action |
| PATCH | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} | Update Resource Action |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes | List Resource Attributes |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes | Create Resource Attribute |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} | Get Resource Attribute |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} | Delete Resource Attribute |
| PATCH | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} | Update Resource Attribute |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations | List Resource Relations |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations | Create Resource Relation |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations/{relation_id} | Get Resource Relation |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations/{relation_id} | Delete Resource Relation |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles | List Resource Roles |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles | Create Resource Role |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} | Get Resource Role |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} | Delete Resource Role |
| PATCH | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} | Update Resource Role |
| POST | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/permissions | Assign Permissions to Role |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/permissions | Remove Permissions from Role |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/ancestors | Get Resource Role Ancestors |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/descendants | Get Resource Role Descendants |
| GET | /v2/schema/{proj_id}/{env_id}/resources | List Resources |
| POST | /v2/schema/{proj_id}/{env_id}/resources | Create Resource |
| GET | /v2/schema/{proj_id}/{env_id}/resources/{resource_id} | Get Resource |
| PUT | /v2/schema/{proj_id}/{env_id}/resources/{resource_id} | Replace Resource |
| DELETE | /v2/schema/{proj_id}/{env_id}/resources/{resource_id} | Delete Resource |
| PATCH | /v2/schema/{proj_id}/{env_id}/resources/{resource_id} | Update Resource |
| GET | /v2/schema/{proj_id}/{env_id}/roles | List Roles |
| POST | /v2/schema/{proj_id}/{env_id}/roles | Create Role |
| GET | /v2/schema/{proj_id}/{env_id}/roles/{role_id} | Get Role |
| DELETE | /v2/schema/{proj_id}/{env_id}/roles/{role_id} | Delete Role |
| PATCH | /v2/schema/{proj_id}/{env_id}/roles/{role_id} | Update Role |
| POST | /v2/schema/{proj_id}/{env_id}/roles/{role_id}/permissions | Assign Permissions To Role |
| DELETE | /v2/schema/{proj_id}/{env_id}/roles/{role_id}/permissions | Remove Permissions From Role |
| GET | /v2/schema/{proj_id}/{env_id}/roles/{role_id}/ancestors | Get Role Ancestors |
| GET | /v2/schema/{proj_id}/{env_id}/roles/{role_id}/descendants | Get Role Descendants |
| GET | /v2/schema/{proj_id}/{env_id}/users/attributes | List User Attributes |
| POST | /v2/schema/{proj_id}/{env_id}/users/attributes | Create User Attribute |
| GET | /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} | Get User Attribute |
| DELETE | /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} | Delete User Attribute |
| PATCH | /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} | Update User Attribute |
| GET | /v2/schema/{proj_id}/{env_id}/groups/direct | List Direct Group |
| GET | /v2/schema/{proj_id}/{env_id}/groups/direct/{group_instance_key} | Get Direct Group |
| GET | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/children | List group children (EAP) |
| GET | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/parents | List group parents (EAP) |
| GET | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/users | List group users (EAP) |
| GET | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/roles | List group roles (EAP) |
| POST | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/roles | Assign Role To Group |
| DELETE | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/roles | Remove Role From Group |
| GET | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key} | Get Group |
| DELETE | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key} | Delete Group |
| GET | /v2/schema/{proj_id}/{env_id}/groups | List Group |
| POST | /v2/schema/{proj_id}/{env_id}/groups | Create Group |
| PUT | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/users/{user_id} | Assign User To Group |
| DELETE | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/users/{user_id} | Remove User From Group |
| PUT | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/assign_group | Assign Group To Group |
| DELETE | /v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/assign_group | Remove Group From Group |

### facts
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/facts/{proj_id}/{env_id}/users | List Users |
| POST | /v2/facts/{proj_id}/{env_id}/users | Create User |
| GET | /v2/facts/{proj_id}/{env_id}/users/{user_id} | Get User |
| PUT | /v2/facts/{proj_id}/{env_id}/users/{user_id} | Replace User |
| DELETE | /v2/facts/{proj_id}/{env_id}/users/{user_id} | Delete User |
| PATCH | /v2/facts/{proj_id}/{env_id}/users/{user_id} | Update User |
| POST | /v2/facts/{proj_id}/{env_id}/users/{user_id}/roles | Assign Role To User |
| DELETE | /v2/facts/{proj_id}/{env_id}/users/{user_id}/roles | Unassign Role From User |
| GET | /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}/users | List Tenant Users |
| POST | /v2/facts/{proj_id}/{env_id}/tenant

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.