Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/virtru-policy-obligations-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API 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 Specification
openapi: 3.2.0
info:
title: authorization authorization.AuthorizationService Policy.obligations.Service API
description: '/
/ Obligation Service
/'
servers:
- url: https://api.virtru.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
security: []
tags:
- name: policy.obligations.Service
description: '/
/ Obligation Service
/'
paths:
/policy.obligations.Service/ListObligations:
post:
tags:
- policy.obligations.Service
summary: ListObligations
operationId: policy.obligations.Service.ListObligations
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.ListObligationsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.ListObligationsResponse'
/policy.obligations.Service/GetObligation:
post:
tags:
- policy.obligations.Service
summary: GetObligation
operationId: policy.obligations.Service.GetObligation
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationResponse'
/policy.obligations.Service/GetObligationsByFQNs:
post:
tags:
- policy.obligations.Service
summary: GetObligationsByFQNs
operationId: policy.obligations.Service.GetObligationsByFQNs
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationsByFQNsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationsByFQNsResponse'
/policy.obligations.Service/CreateObligation:
post:
tags:
- policy.obligations.Service
summary: CreateObligation
operationId: policy.obligations.Service.CreateObligation
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.CreateObligationRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.CreateObligationResponse'
/policy.obligations.Service/UpdateObligation:
post:
tags:
- policy.obligations.Service
summary: UpdateObligation
operationId: policy.obligations.Service.UpdateObligation
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.UpdateObligationRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.UpdateObligationResponse'
/policy.obligations.Service/DeleteObligation:
post:
tags:
- policy.obligations.Service
summary: DeleteObligation
operationId: policy.obligations.Service.DeleteObligation
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.DeleteObligationRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.DeleteObligationResponse'
/policy.obligations.Service/GetObligationValue:
post:
tags:
- policy.obligations.Service
summary: GetObligationValue
operationId: policy.obligations.Service.GetObligationValue
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationValueRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationValueResponse'
/policy.obligations.Service/GetObligationValuesByFQNs:
post:
tags:
- policy.obligations.Service
summary: GetObligationValuesByFQNs
operationId: policy.obligations.Service.GetObligationValuesByFQNs
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationValuesByFQNsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationValuesByFQNsResponse'
/policy.obligations.Service/CreateObligationValue:
post:
tags:
- policy.obligations.Service
summary: CreateObligationValue
operationId: policy.obligations.Service.CreateObligationValue
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.CreateObligationValueRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.CreateObligationValueResponse'
/policy.obligations.Service/UpdateObligationValue:
post:
tags:
- policy.obligations.Service
summary: UpdateObligationValue
operationId: policy.obligations.Service.UpdateObligationValue
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.UpdateObligationValueRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.UpdateObligationValueResponse'
/policy.obligations.Service/DeleteObligationValue:
post:
tags:
- policy.obligations.Service
summary: DeleteObligationValue
operationId: policy.obligations.Service.DeleteObligationValue
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.DeleteObligationValueRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.DeleteObligationValueResponse'
/policy.obligations.Service/GetObligationTrigger:
post:
tags:
- policy.obligations.Service
summary: GetObligationTrigger
operationId: policy.obligations.Service.GetObligationTrigger
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationTriggerRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.GetObligationTriggerResponse'
/policy.obligations.Service/AddObligationTrigger:
post:
tags:
- policy.obligations.Service
summary: AddObligationTrigger
operationId: policy.obligations.Service.AddObligationTrigger
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.AddObligationTriggerRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.AddObligationTriggerResponse'
/policy.obligations.Service/RemoveObligationTrigger:
post:
tags:
- policy.obligations.Service
summary: RemoveObligationTrigger
operationId: policy.obligations.Service.RemoveObligationTrigger
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.RemoveObligationTriggerRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.RemoveObligationTriggerResponse'
/policy.obligations.Service/ListObligationTriggers:
post:
tags:
- policy.obligations.Service
summary: ListObligationTriggers
operationId: policy.obligations.Service.ListObligationTriggers
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.ListObligationTriggersRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/policy.obligations.ListObligationTriggersResponse'
components:
schemas:
policy.RequestContext:
type: object
properties:
pep:
title: pep
$ref: '#/components/schemas/policy.PolicyEnforcementPoint'
title: RequestContext
required:
- pep
additionalProperties: false
description: Holds the context needed for obligation fulfillment
policy.obligations.ListObligationTriggersResponse:
type: object
properties:
triggers:
type: array
items:
$ref: '#/components/schemas/policy.ObligationTrigger'
title: triggers
pagination:
title: pagination
$ref: '#/components/schemas/policy.PageResponse'
title: ListObligationTriggersResponse
additionalProperties: false
policy.ObligationValue:
type: object
properties:
id:
type: string
title: id
obligation:
title: obligation
$ref: '#/components/schemas/policy.Obligation'
value:
type: string
title: value
triggers:
type: array
items:
$ref: '#/components/schemas/policy.ObligationTrigger'
title: triggers
fqn:
type: string
title: fqn
metadata:
title: metadata
$ref: '#/components/schemas/common.Metadata'
title: ObligationValue
additionalProperties: false
common.IdFqnIdentifier:
type: object
properties:
id:
type: string
title: id
format: uuid
fqn:
type: string
title: fqn
minLength: 1
format: uri
title: IdFqnIdentifier
additionalProperties: false
google.protobuf.BoolValue:
type: boolean
description: "Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed."
policy.SubjectMappingOperatorEnum:
type: string
title: SubjectMappingOperatorEnum
enum:
- SUBJECT_MAPPING_OPERATOR_ENUM_UNSPECIFIED
- SUBJECT_MAPPING_OPERATOR_ENUM_IN
- SUBJECT_MAPPING_OPERATOR_ENUM_NOT_IN
- SUBJECT_MAPPING_OPERATOR_ENUM_IN_CONTAINS
policy.Obligation:
type: object
properties:
id:
type: string
title: id
namespace:
title: namespace
$ref: '#/components/schemas/policy.Namespace'
name:
type: string
title: name
values:
type: array
items:
$ref: '#/components/schemas/policy.ObligationValue'
title: values
fqn:
type: string
title: fqn
metadata:
title: metadata
$ref: '#/components/schemas/common.Metadata'
title: Obligation
additionalProperties: false
policy.Namespace:
type: object
properties:
id:
type: string
title: id
description: generated uuid in database
name:
type: string
title: name
description: "used to partition Attribute Definitions, support by namespace AuthN and\n enable federation"
fqn:
type: string
title: fqn
active:
title: active
description: active by default until explicitly deactivated
$ref: '#/components/schemas/google.protobuf.BoolValue'
metadata:
title: metadata
$ref: '#/components/schemas/common.Metadata'
grants:
type: array
items:
$ref: '#/components/schemas/policy.KeyAccessServer'
title: grants
description: Deprecated KAS grants for the namespace. Use kas_keys instead.
kasKeys:
type: array
items:
$ref: '#/components/schemas/policy.SimpleKasKey'
title: kas_keys
description: Keys for the namespace
title: Namespace
additionalProperties: false
google.protobuf.Timestamp:
type: string
examples:
- 1s
- 1.000340012s
format: date-time
description: "A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format."
policy.obligations.GetObligationRequest:
type: object
properties:
id:
type: string
title: id
format: uuid
fqn:
type: string
title: fqn
minLength: 1
format: uri
title: GetObligationRequest
additionalProperties: false
policy.obligations.DeleteObligationValueResponse:
type: object
properties:
value:
title: value
$ref: '#/components/schemas/policy.ObligationValue'
title: DeleteObligationValueResponse
additionalProperties: false
policy.PageRequest:
type: object
properties:
limit:
type: integer
title: limit
format: int32
description: "Optional\n Set to configured default limit if not provided\n Maximum limit set in platform config and enforced by services"
offset:
type: integer
title: offset
format: int32
description: "Optional\n Defaulted if not provided"
title: PageRequest
additionalProperties: false
common.MetadataUpdateEnum:
type: string
title: MetadataUpdateEnum
enum:
- METADATA_UPDATE_ENUM_UNSPECIFIED
- METADATA_UPDATE_ENUM_EXTEND
- METADATA_UPDATE_ENUM_REPLACE
policy.PublicKey:
type: object
oneOf:
- properties:
cached:
title: cached
description: public key with additional information. Current preferred version
$ref: '#/components/schemas/policy.KasPublicKeySet'
title: cached
required:
- cached
- properties:
remote:
type: string
title: remote
description: 'kas public key url - optional since can also be retrieved via public key
URI must be a valid URL (e.g., ''https://demo.com/'') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.:
```
this.matches(''^https://[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*(/.*)?$'')
```
'
title: remote
required:
- remote
title: PublicKey
additionalProperties: false
description: Deprecated
policy.obligations.AddObligationTriggerRequest:
type: object
properties:
obligationValue:
title: obligation_value
description: Required
$ref: '#/components/schemas/common.IdFqnIdentifier'
action:
title: action
description: Required
$ref: '#/components/schemas/common.IdNameIdentifier'
attributeValue:
title: attribute_value
description: Required
$ref: '#/components/schemas/common.IdFqnIdentifier'
context:
title: context
description: "Optional\n The request context for this obligation value policy decisioning."
$ref: '#/components/schemas/policy.RequestContext'
metadata:
title: metadata
description: "Optional\n Common metadata"
$ref: '#/components/schemas/common.MetadataMutable'
title: AddObligationTriggerRequest
required:
- obligationValue
- action
- attributeValue
additionalProperties: false
description: "Obligation Triggers are owned by the namespace that owns the action and attribute value, which must\n be the same. In this way, a trigger can intentionally cross namespace boundaries: associating\n obligation values of a different namespace than the one that owns the action being taken or the attribute value."
policy.KasPublicKeyAlgEnum:
type: string
title: KasPublicKeyAlgEnum
enum:
- KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED
- KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048
- KAS_PUBLIC_KEY_ALG_ENUM_RSA_4096
- KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1
- KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP384R1
- KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP521R1
- KAS_PUBLIC_KEY_ALG_ENUM_HPQT_XWING
- KAS_PUBLIC_KEY_ALG_ENUM_HPQT_SECP256R1_MLKEM768
- KAS_PUBLIC_KEY_ALG_ENUM_HPQT_SECP384R1_MLKEM1024
- KAS_PUBLIC_KEY_ALG_ENUM_MLKEM_768
- KAS_PUBLIC_KEY_ALG_ENUM_MLKEM_1024
policy.obligations.GetObligationTriggerRequest:
type: object
properties:
id:
type: string
title: id
format: uuid
description: Required
title: GetObligationTriggerRequest
additionalProperties: false
description: Triggers
policy.obligations.DeleteObligationRequest:
type: object
properties:
id:
type: string
title: id
format: uuid
fqn:
type: string
title: fqn
minLength: 1
format: uri
title: DeleteObligationRequest
additionalProperties: false
policy.obligations.CreateObligationValueRequest:
type: object
properties:
obligationId:
type: string
title: obligation_id
format: uuid
obligationFqn:
type: string
title: obligation_fqn
minLength: 1
format: uri
value:
type: string
title: value
maxLength: 253
description: 'Obligation value must be an alphanumeric string, allowing hyphens and underscores but not as the first or last character. The stored value will be normalized to lower case.:
```
this.matches(''^[a-zA-Z0-9](?:[a-zA-Z0-9_-]*[a-zA-Z0-9])?$'')
```
'
triggers:
type: array
items:
$ref: '#/components/schemas/policy.obligations.ValueTriggerRequest'
title: triggers
description: "Optional\n Combination of action and attribute_value that will trigger this obligation value policy decisioning."
metadata:
title: metadata
description: "Optional\n Common metadata"
$ref: '#/components/schemas/common.MetadataMutable'
title: CreateObligationValueRequest
required:
- value
additionalProperties: false
policy.obligations.GetObligationValuesByFQNsRequest:
type: object
properties:
fqns:
type: array
items:
type: string
minLength: 1
format: uri
maxItems: 250
minItems: 1
uniqueItems: true
title: fqns
maxItems: 250
minItems: 1
uniqueItems: true
title: GetObligationValuesByFQNsRequest
additionalProperties: false
policy.PageResponse:
type: object
properties:
currentOffset:
type: integer
title: current_offset
format: int32
description: Requested pagination offset
nextOffset:
type: integer
title: next_offset
format: int32
description: "Calculated with request limit + offset or defaults\n Empty when none remain after current page"
total:
type: integer
title: total
format: int32
description: Total count of entire list
title: PageResponse
additionalProperties: false
policy.Value:
type: object
properties:
id:
type: string
tit
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virtru/refs/heads/main/openapi/virtru-policy-obligations-service-api-openapi.yml