Airia Constraint API
The Constraint API from Airia — 3 operation(s) for constraint.
The Constraint API from Airia — 3 operation(s) for constraint.
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-constraint-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 Constraint API
version: 1.0.0
servers:
- url: https://api.airia.ai
tags:
- name: Constraint
paths:
/v1/Constraint:
get:
tags:
- Constraint
operationId: Constraint_GetConstraintRules
parameters:
- name: projectIds
in: query
style: form
explode: true
schema:
type:
- array
- 'null'
items:
type: string
format: guid
x-position: 1
- name: includeGlobal
in: query
schema:
type: boolean
default: true
x-position: 2
- name: isActive
in: query
schema:
type:
- boolean
- 'null'
x-position: 3
- name: scope
in: query
schema:
oneOf:
- oneOf:
- $ref: '#/components/schemas/ConstraintRuleScope'
x-position: 4
- name: offset
in: query
schema:
type: integer
format: int32
default: 0
x-position: 5
- name: limit
in: query
schema:
type: integer
format: int32
default: 50
x-position: 6
- name: name
in: query
schema:
type:
- string
- 'null'
x-position: 7
- name: x-correlation-id
in: header
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResultOfConstraintRuleResponseV1'
400:
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: Constraint get constraint rules
x-summary-source: derived
post:
tags:
- Constraint
operationId: Constraint_AddConstraintRule
parameters:
- name: x-correlation-id
in: header
schema:
type: string
requestBody:
x-name: request
content:
application/json:
schema:
$ref: '#/components/schemas/AddConstraintRuleRequest'
required: true
x-position: 1
responses:
201:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConstraintRuleResponseV1'
400:
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'
409:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Constraint add constraint rule
x-summary-source: derived
/v1/Constraint/{ruleId}:
get:
tags:
- Constraint
operationId: Constraint_GetConstraintRule
parameters:
- name: ruleId
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/ConstraintRuleResponseV1'
400:
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'
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Constraint get constraint rule
x-summary-source: derived
put:
tags:
- Constraint
operationId: Constraint_UpdateConstraintRule
parameters:
- name: ruleId
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/UpdateConstraintRuleRequest'
required: true
x-position: 2
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConstraintRuleResponseV1'
400:
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'
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
409:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Constraint update constraint rule
x-summary-source: derived
delete:
tags:
- Constraint
operationId: Constraint_DeleteConstraintRule
parameters:
- name: ruleId
in: path
required: true
schema:
type: string
format: guid
x-position: 1
- name: x-correlation-id
in: header
schema:
type: string
responses:
204:
description: ''
400:
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'
404:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
summary: Constraint delete constraint rule
x-summary-source: derived
/v1/Constraint/active:
get:
tags:
- Constraint
operationId: Constraint_GetActiveConstraintRules
parameters:
- name: projectIds
in: query
style: form
explode: true
schema:
type:
- array
- 'null'
items:
type: string
format: guid
x-position: 1
- name: includeGlobal
in: query
schema:
type: boolean
default: true
x-position: 2
- name: scope
in: query
schema:
oneOf:
- oneOf:
- $ref: '#/components/schemas/ConstraintRuleScope'
x-position: 3
- name: x-correlation-id
in: header
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConstraintRuleResponseV1'
400:
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: Constraint get active constraint rules
x-summary-source: derived
components:
schemas:
UpdateConstraintRuleCriteriaRequest:
type: object
additionalProperties: false
required:
- fieldPath
- operator
- value
properties:
id:
type: string
format: guid
fieldPath:
type: string
maxLength: 256
minLength: 1
operator:
$ref: '#/components/schemas/ConstraintCriteriaOperator'
value:
type: string
maxLength: 1024
minLength: 1
logicalOperator:
oneOf:
- $ref: '#/components/schemas/ConstraintLogicalOperator'
orderIndex:
type: integer
format: int32
maximum: 2147483647
minimum: 0
ConstraintLogicalOperator:
type: string
description: ''
x-enumNames:
- And
- Or
enum:
- And
- Or
ConstraintRuleType:
type: string
description: ''
x-enumNames:
- Constraint
- AlignmentCheck
enum:
- Constraint
- AlignmentCheck
PagedResultOfConstraintRuleResponseV1:
type: object
additionalProperties: false
properties:
totalCount:
type: integer
format: int32
items:
type: array
items:
$ref: '#/components/schemas/ConstraintRuleResponseV1'
ConstraintCriteriaOperator:
type: string
description: ''
x-enumNames:
- Equals
- NotEquals
- Contains
- NotContains
- StartsWith
- EndsWith
- Regex
- In
- NotIn
- GreaterThan
- LessThan
enum:
- Equals
- NotEquals
- Contains
- NotContains
- StartsWith
- EndsWith
- Regex
- In
- NotIn
- GreaterThan
- LessThan
AddConstraintRuleRequest:
type: object
additionalProperties: false
required:
- name
- action
properties:
name:
type: string
maxLength: 128
minLength: 1
description:
type: string
maxLength: 1024
minLength: 0
action:
$ref: '#/components/schemas/ConstraintRuleAction'
priority:
type: integer
format: int32
maximum: 1000
minimum: 0
isActive:
type: boolean
projectId:
type:
- string
- 'null'
format: guid
agentIds:
type: array
items:
type: string
format: guid
gatewayIds:
type: array
items:
type: string
format: guid
expressionJson:
type:
- string
- 'null'
expressionVersion:
type: integer
format: int32
scope:
$ref: '#/components/schemas/ConstraintRuleScope'
ruleType:
$ref: '#/components/schemas/ConstraintRuleType'
actionMessage:
type:
- string
- 'null'
maxLength: 1024
minLength: 0
criteria:
type: array
items:
$ref: '#/components/schemas/AddConstraintRuleCriteriaRequest'
runbookId:
type:
- string
- 'null'
format: guid
runbookTimeoutSeconds:
type:
- integer
- 'null'
format: int32
maximum: 60
minimum: 1
runbookOnFailure:
oneOf:
- $ref: '#/components/schemas/ConstraintRuleRunbookOnFailure'
UpdateConstraintRuleRequest:
type: object
additionalProperties: false
required:
- name
- action
properties:
name:
type: string
maxLength: 128
minLength: 1
description:
type: string
maxLength: 1024
minLength: 0
action:
$ref: '#/components/schemas/ConstraintRuleAction'
priority:
type: integer
format: int32
maximum: 1000
minimum: 0
isActive:
type: boolean
projectId:
type:
- string
- 'null'
format: guid
agentIds:
type: array
items:
type: string
format: guid
gatewayIds:
type: array
items:
type: string
format: guid
expressionJson:
type:
- string
- 'null'
expressionVersion:
type: integer
format: int32
scope:
$ref: '#/components/schemas/ConstraintRuleScope'
ruleType:
$ref: '#/components/schemas/ConstraintRuleType'
actionMessage:
type:
- string
- 'null'
maxLength: 1024
minLength: 0
criteria:
type: array
items:
$ref: '#/components/schemas/UpdateConstraintRuleCriteriaRequest'
runbookId:
type:
- string
- 'null'
format: guid
clearRunbook:
type:
- boolean
- 'null'
runbookTimeoutSeconds:
type:
- integer
- 'null'
format: int32
maximum: 60
minimum: 1
runbookOnFailure:
oneOf:
- $ref: '#/components/schemas/ConstraintRuleRunbookOnFailure'
AddConstraintRuleCriteriaRequest:
type: object
additionalProperties: false
required:
- fieldPath
- operator
- value
properties:
fieldPath:
type: string
maxLength: 256
minLength: 1
operator:
$ref: '#/components/schemas/ConstraintCriteriaOperator'
value:
type: string
maxLength: 1024
minLength: 1
logicalOperator:
oneOf:
- $ref: '#/components/schemas/ConstraintLogicalOperator'
orderIndex:
type: integer
format: int32
maximum: 2147483647
minimum: 0
ConstraintRuleRunbookOnFailure:
type: string
description: ''
x-enumNames:
- Block
- Proceed
enum:
- Block
- Proceed
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'
ConstraintRuleAction:
type: string
description: ''
x-enumNames:
- Block
- Audit
- Warn
- StepUp
- Defer
enum:
- Block
- Audit
- Warn
- StepUp
- Defer
ConstraintRuleCriteriaResponseV1:
type: object
additionalProperties: false
properties:
id:
type: string
format: guid
fieldPath:
type: string
operator:
$ref: '#/components/schemas/ConstraintCriteriaOperator'
value:
type: string
logicalOperator:
oneOf:
- $ref: '#/components/schemas/ConstraintLogicalOperator'
orderIndex:
type: integer
format: int32
ConstraintRuleScope:
type: string
description: ''
x-enumNames:
- Gateway
- Agents
- Projects
- ExternalAgents
enum:
- Gateway
- Agents
- Projects
- ExternalAgents
ConstraintRuleResponseV1:
type: object
additionalProperties: false
properties:
id:
type: string
format: guid
name:
type: string
description:
type: string
action:
$ref: '#/components/schemas/ConstraintRuleAction'
priority:
type: integer
format: int32
isActive:
type: boolean
tenantId:
type: string
format: guid
projectId:
type:
- string
- 'null'
format: guid
agentIds:
type: array
items:
type: string
format: guid
gatewayIds:
type: array
items:
type: string
format: guid
expressionJson:
type:
- string
- 'null'
expressionVersion:
type: integer
format: int32
scope:
$ref: '#/components/schemas/ConstraintRuleScope'
ruleType:
$ref: '#/components/schemas/ConstraintRuleType'
actionMessage:
type:
- string
- 'null'
runbookId:
type:
- string
- 'null'
format: guid
runbookTimeoutSeconds:
type:
- integer
- 'null'
format: int32
runbookOnFailure:
oneOf:
- $ref: '#/components/schemas/ConstraintRuleRunbookOnFailure'
criteria:
type: array
items:
$ref: '#/components/schemas/ConstraintRuleCriteriaResponseV1'
created:
type: string
format: date-time
updated:
type: string
format: date-time
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))