Airia Custom Roles API
The Custom Roles API from Airia — 7 operation(s) for custom roles.
The Custom Roles API from Airia — 7 operation(s) for custom roles.
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/airia:airia-custom-roles-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Airia Web Custom Roles API
version: 1.0.0
servers:
- url: https://api.airia.ai
tags:
- name: Custom Roles
paths:
/v1/custom-roles:
get:
tags:
- Custom Roles
operationId: CustomRoles_GetRoles
parameters:
- name: search
in: query
schema:
type:
- string
- 'null'
x-position: 1
- name: sortBy
in: query
schema:
type:
- string
- 'null'
x-position: 2
- name: sortDirection
in: query
schema:
type:
- string
- 'null'
x-position: 3
- name: pageNumber
in: query
schema:
type: integer
format: int32
default: 1
x-position: 4
- name: pageSize
in: query
schema:
type: integer
format: int32
default: -1
x-position: 5
- name: roleType
in: query
schema:
type:
- string
- 'null'
x-position: 6
- name: x-correlation-id
in: header
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResultOfCustomRoleSummary'
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles get roles
x-summary-source: derived
post:
tags:
- Custom Roles
operationId: CustomRoles_CreateRole
parameters:
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomRoleRequest'
required: true
x-position: 1
responses:
201:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomRoleDetail'
400:
description: ''
content:
application/json:
schema:
type: string
409:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
403:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles create role
x-summary-source: derived
/v1/custom-roles/by-ids:
post:
tags:
- Custom Roles
operationId: CustomRoles_GetRolesByIds
parameters:
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/GetRolesByIdsRequest'
required: true
x-position: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomRoleDetail'
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles get roles by ids
x-summary-source: derived
/v1/custom-roles/assignable-by-caller:
post:
tags:
- Custom Roles
operationId: CustomRoles_GetAssignableRoleIds
parameters:
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/GetAssignableRoleIdsRequest'
required: true
x-position: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: string
format: guid
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles get assignable role ids
x-summary-source: derived
/v1/custom-roles/{roleId}/duplicate:
post:
tags:
- Custom Roles
operationId: CustomRoles_DuplicateRole
parameters:
- name: roleId
in: path
required: true
schema:
type: string
format: guid
x-position: 1
- name: x-correlation-id
in: header
schema:
type: string
responses:
201:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomRoleDetail'
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
409:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
403:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles duplicate role
x-summary-source: derived
/v1/custom-roles/{roleId}:
get:
tags:
- Custom Roles
operationId: CustomRoles_GetRole
parameters:
- name: roleId
in: path
required: true
schema:
type: string
format: guid
x-position: 1
- name: x-correlation-id
in: header
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomRoleDetail'
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles get role
x-summary-source: derived
put:
tags:
- Custom Roles
operationId: CustomRoles_UpdateRole
parameters:
- name: roleId
in: path
required: true
schema:
type: string
format: guid
x-position: 1
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomRoleRequest'
required: true
x-position: 2
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CustomRoleDetail'
400:
description: ''
content:
application/json:
schema:
type: string
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
403:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles update role
x-summary-source: derived
delete:
tags:
- Custom Roles
operationId: CustomRoles_DeleteRole
parameters:
- name: roleId
in: path
required: true
schema:
type: string
format: guid
x-position: 1
- name: x-correlation-id
in: header
schema:
type: string
responses:
204:
description: ''
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
409:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
403:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles delete role
x-summary-source: derived
/v1/custom-roles/permissions:
get:
tags:
- Custom Roles
operationId: CustomRoles_GetAvailablePermissions
parameters:
- name: search
in: query
schema:
type:
- string
- 'null'
x-position: 1
- name: sortBy
in: query
schema:
type:
- string
- 'null'
x-position: 2
- name: sortDirection
in: query
schema:
type:
- string
- 'null'
x-position: 3
- name: pageNumber
in: query
schema:
type: integer
format: int32
default: 1
x-position: 4
- name: pageSize
in: query
schema:
type: integer
format: int32
default: -1
x-position: 5
- name: x-correlation-id
in: header
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResultOfString'
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles get available permissions
x-summary-source: derived
/v1/custom-roles/validate-permissions:
post:
tags:
- Custom Roles
operationId: CustomRoles_ValidatePermissions
parameters:
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidatePermissionsRequest'
required: true
x-position: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PermissionValidationIssue'
400:
description: ''
content:
application/json:
schema:
type: string
401:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Custom roles validate permissions
x-summary-source: derived
components:
schemas:
PagedResultOfCustomRoleSummary:
type: object
additionalProperties: false
properties:
items:
type: array
items:
$ref: '#/components/schemas/CustomRoleSummary'
totalCount:
type: integer
format: int32
PermissionValidationIssue:
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/PermissionValidationIssueType'
permission:
type: string
relatedPermission:
type:
- string
- 'null'
message:
type: string
PermissionValidationIssueType:
type: string
description: ''
x-enumNames:
- MissingPrerequisite
- MissingDependency
enum:
- missing_prerequisite
- missing_dependency
PagedResultOfString:
type: object
additionalProperties: false
properties:
items:
type: array
items:
type: string
totalCount:
type: integer
format: int32
GetAssignableRoleIdsRequest:
allOf:
- $ref: '#/components/schemas/GetRolesByIdsRequest'
- type: object
additionalProperties: false
properties:
targetUserId:
type:
- string
- 'null'
format: guid
CustomRoleDetail:
type: object
additionalProperties: false
properties:
roleId:
type: string
format: guid
roleName:
type: string
displayName:
type:
- string
- 'null'
description:
type:
- string
- 'null'
isSystemRole:
type: boolean
isProjectSpecific:
type: boolean
permissions:
type: array
items:
type: string
UpdateCustomRoleRequest:
type: object
additionalProperties: false
properties:
displayName:
type:
- string
- 'null'
description:
type:
- string
- 'null'
permissions:
type: array
items:
type: string
ValidatePermissionsRequest:
type: object
additionalProperties: false
properties:
permissions:
type: array
items:
type: string
CustomRoleSummary:
type: object
additionalProperties: false
properties:
roleId:
type: string
format: guid
roleName:
type: string
displayName:
type:
- string
- 'null'
description:
type:
- string
- 'null'
permissionCount:
type: integer
format: int32
userCount:
type: integer
format: int32
isSystemRole:
type: boolean
isProjectSpecific:
type: boolean
createdAt:
type: string
format: date-time
GetRolesByIdsRequest:
type: object
additionalProperties: false
properties:
roleIds:
type: array
items:
type: string
format: guid
ProblemDetails:
type: object
additionalProperties: {}
properties:
type:
type:
- string
- 'null'
title:
type:
- string
- 'null'
status:
type:
- integer
- 'null'
format: int32
detail:
type:
- string
- 'null'
instance:
type:
- string
- 'null'
CreateCustomRoleRequest:
type: object
additionalProperties: false
properties:
displayName:
type: string
description:
type:
- string
- 'null'
permissions:
type: array
items:
type: string
securitySchemes:
ApiKey:
type: apiKey
description: API Key Authentication
name: X-API-Key
in: header
Cookies:
type: apiKey
description: Cookie based Authentication
name: Cookie
in: header
x-generator: NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))