Pangolin (Fossorial) Role API
The Role API from Pangolin (Fossorial) — 15 operation(s) for role.
The Role API from Pangolin (Fossorial) — 15 operation(s) for role.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pangolin-net:pangolin-net-role-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Pangolin Net Role API
version: v1
description: 'Operations tagged Role across 2 of this provider''s published API definitions: pangolin-net-openapi-remote.json, pangolin-net-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /v1
tags:
- name: Role
paths:
/org/{orgId}/role:
put:
description: Create a role.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: orgId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
description:
type: string
requireDeviceApproval:
type: boolean
allowSsh:
type: boolean
sshSudoMode:
type: string
enum:
- none
- full
- commands
sshSudoCommands:
type: array
items:
type: string
sshCreateHomeDir:
type: boolean
sshUnixGroups:
type: array
items:
type: string
required:
- name
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Replace org by org id role
x-summary-source: derived
operationId: putOrgByOrgIdRole
x-operation-id-source: derived
servers:
- url: /v1
/user/{userId}/add-role/{roleId}:
post:
description: Add a role to a user.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: userId
in: path
- schema:
type:
- number
- 'null'
required: false
name: roleId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create user by user id add role by role id
x-summary-source: derived
operationId: postUserByUserIdAddRoleByRoleId
x-operation-id-source: derived
servers:
- url: /v1
/user/{userId}/remove-role/{roleId}:
delete:
description: Remove a role from a user. User must have at least one role left in the org.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: userId
in: path
- schema:
type:
- number
- 'null'
required: false
name: roleId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Delete user by user id remove role by role id
x-summary-source: derived
operationId: deleteUserByUserIdRemoveRoleByRoleId
x-operation-id-source: derived
servers:
- url: /v1
/client/{clientId}/add-role/{roleId}:
post:
description: Add a role to a machine client. The client is granted access to the private resources assigned to the role. Clients with a userId cannot be added to roles; they inherit the roles of their user.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: clientId
in: path
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: roleId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create client by client id add role by role id
x-summary-source: derived
operationId: postClientByClientIdAddRoleByRoleId
x-operation-id-source: derived
servers:
- url: /v1
/client/{clientId}/remove-role/{roleId}:
delete:
description: Remove a role from a machine client. Unlike users, machine clients are not required to keep at least one role.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: clientId
in: path
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: roleId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Delete client by client id remove role by role id
x-summary-source: derived
operationId: deleteClientByClientIdRemoveRoleByRoleId
x-operation-id-source: derived
servers:
- url: /v1
/client/{clientId}/roles:
post:
description: Set all roles for a machine client, replacing any existing roles. An empty list removes all roles. Clients with a userId cannot be assigned roles; they inherit the roles of their user.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: clientId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleIds:
type: array
items:
type: integer
exclusiveMinimum: 0
required:
- roleIds
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create client by client id roles
x-summary-source: derived
operationId: postClientByClientIdRoles
x-operation-id-source: derived
servers:
- url: /v1
/public-resource/{resourceId}/roles:
post:
description: Set roles for a resource. This will replace all existing roles. When the resource has an inline policy defined (no shared resource policy assigned), roles are set on the inline policy instead of directly on the resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: resourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleIds:
type: array
items:
type: integer
exclusiveMinimum: 0
required:
- roleIds
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create public resource by resource id roles
x-summary-source: derived
operationId: postPublicResourceByResourceIdRoles
x-operation-id-source: derived
get:
description: List all roles for a resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: resourceId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Get public resource by resource id roles
x-summary-source: derived
operationId: getPublicResourceByResourceIdRoles
x-operation-id-source: derived
servers:
- url: /v1
/role/{roleId}:
delete:
description: Delete a role.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: roleId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleId:
type: integer
exclusiveMinimum: 0
required:
- roleId
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Delete role by role id
x-summary-source: derived
operationId: deleteRoleByRoleId
x-operation-id-source: derived
get:
description: Get a role.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: roleId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Get role by role id
x-summary-source: derived
operationId: getRoleByRoleId
x-operation-id-source: derived
post:
description: Update a role.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: roleId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
description:
type: string
requireDeviceApproval:
type: boolean
allowSsh:
type: boolean
sshSudoMode:
type: string
enum:
- none
- full
- commands
sshSudoCommands:
type: array
items:
type: string
sshCreateHomeDir:
type: boolean
sshUnixGroups:
type: array
items:
type: string
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create role by role id
x-summary-source: derived
operationId: postRoleByRoleId
x-operation-id-source: derived
servers:
- url: /v1
/org/{orgId}/roles:
get:
description: List roles.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: orgId
in: path
- schema:
type: integer
default: 20
description: Number of items per page
required: false
description: Number of items per page
name: pageSize
in: query
- schema:
type: integer
default: 1
description: Page number to retrieve
required: false
description: Page number to retrieve
name: page
in: query
- schema:
type: string
required: false
name: query
in: query
- schema:
type: string
enum:
- name
description: Field to sort by
required: false
description: Field to sort by
name: sort_by
in: query
- schema:
type: string
enum:
- asc
- desc
default: asc
description: Sort order
required: false
description: Sort order
name: order
in: query
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Get org by org id roles
x-summary-source: derived
operationId: getOrgByOrgIdRoles
x-operation-id-source: derived
servers:
- url: /v1
/public-resource/{resourceId}/roles/add:
post:
description: Add a single role to a resource. When the resource has an inline policy defined (no shared resource policy assigned), the role is added to the inline policy instead of directly to the resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: resourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleId:
type: integer
exclusiveMinimum: 0
required:
- roleId
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create public resource by resource id roles add
x-summary-source: derived
operationId: postPublicResourceByResourceIdRolesAdd
x-operation-id-source: derived
servers:
- url: /v1
/public-resource/{resourceId}/roles/remove:
post:
description: Remove a single role from a resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: resourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleId:
type: integer
exclusiveMinimum: 0
required:
- roleId
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create public resource by resource id roles remove
x-summary-source: derived
operationId: postPublicResourceByResourceIdRolesRemove
x-operation-id-source: derived
servers:
- url: /v1
/role/{roleId}/add/{userId}:
post:
description: 'Legacy: set exactly one role for the user (replaces any other roles the user has in the org).'
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type:
- number
- 'null'
required: false
name: roleId
in: path
- schema:
type: string
required: true
name: userId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create role by role id add by user id
x-summary-source: derived
operationId: postRoleByRoleIdAddByUserId
x-operation-id-source: derived
servers:
- url: /v1
/private-resource/{resourceId}/roles:
get:
description: List all roles for a site resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: siteResourceId
in: path
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Get private resource by resource id roles
x-summary-source: derived
operationId: getPrivateResourceByResourceIdRoles
x-operation-id-source: derived
post:
description: Set roles for a site resource. This will replace all existing roles.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: siteResourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleIds:
type: array
items:
type: integer
exclusiveMinimum: 0
required:
- roleIds
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create private resource by resource id roles
x-summary-source: derived
operationId: postPrivateResourceByResourceIdRoles
x-operation-id-source: derived
servers:
- url: /v1
/private-resource/{resourceId}/roles/add:
post:
description: Add a single role to a site resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: siteResourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleId:
type: integer
exclusiveMinimum: 0
required:
- roleId
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create private resource by resource id roles add
x-summary-source: derived
operationId: postPrivateResourceByResourceIdRolesAdd
x-operation-id-source: derived
servers:
- url: /v1
/private-resource/{resourceId}/roles/remove:
post:
description: Remove a single role from a site resource.
tags:
- Role
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: siteResourceId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
roleId:
type: integer
exclusiveMinimum: 0
required:
- roleId
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Create private resource by resource id roles remove
x-summary-source: derived
operationId: postPrivateResourceByResourceIdRolesRemove
x-operation-id-source: derived
servers:
- url: /v1
components:
securitySchemes:
Bearer_Auth:
type: http
scheme: bearer
x-refined-from:
- pangolin-net-openapi-remote.json
- pangolin-net-openapi.json