Virtru policy.attributes.AttributesService API

/ / Attribute Service /

Operations 21

POST /policy.attributes.AttributesService/ListAttributes ListAttributes #
POST /policy.attributes.AttributesService/ListAttributeValues ListAttributeValues #
POST /policy.attributes.AttributesService/GetAttribute GetAttribute #
POST /policy.attributes.AttributesService/GetAttributeValuesByFqns GetAttributeValuesByFqns #
POST /policy.attributes.AttributesService/GetKeyMappingsByFqns GetKeyMappingsByFqns #
POST /policy.attributes.AttributesService/GetEntitleableAttributesByFqns GetEntitleableAttributesByFqns #
POST /policy.attributes.AttributesService/CreateAttribute CreateAttribute #
POST /policy.attributes.AttributesService/UpdateAttribute UpdateAttribute #
POST /policy.attributes.AttributesService/DeactivateAttribute DeactivateAttribute #
POST /policy.attributes.AttributesService/GetAttributeValue GetAttributeValue #
POST /policy.attributes.AttributesService/CreateAttributeValue CreateAttributeValue #
POST /policy.attributes.AttributesService/UpdateAttributeValue UpdateAttributeValue #
POST /policy.attributes.AttributesService/DeactivateAttributeValue DeactivateAttributeValue #
POST /policy.attributes.AttributesService/AssignKeyAccessServerToAttribute AssignKeyAccessServerToAttribute #
POST /policy.attributes.AttributesService/RemoveKeyAccessServerFromAttribute RemoveKeyAccessServerFromAttribute #
POST /policy.attributes.AttributesService/AssignKeyAccessServerToValue AssignKeyAccessServerToValue #
POST /policy.attributes.AttributesService/RemoveKeyAccessServerFromValue RemoveKeyAccessServerFromValue #
POST /policy.attributes.AttributesService/AssignPublicKeyToAttribute AssignPublicKeyToAttribute #
POST /policy.attributes.AttributesService/RemovePublicKeyFromAttribute RemovePublicKeyFromAttribute #
POST /policy.attributes.AttributesService/AssignPublicKeyToValue AssignPublicKeyToValue #
POST /policy.attributes.AttributesService/RemovePublicKeyFromValue RemovePublicKeyFromValue #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/virtru-policy-attributes-attributesservice-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

virtru-policy-attributes-attributesservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: authorization authorization.AuthorizationService Policy.attributes.Attributes Service API
  description: '/

    / Attribute Service

    /'
servers:
- url: https://api.virtru.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security: []
tags:
- name: policy.attributes.AttributesService
  description: '/

    / Attribute Service

    /'
paths:
  /policy.attributes.AttributesService/ListAttributes:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: ListAttributes
      description: "--------------------------------------*\n Attribute RPCs\n---------------------------------------"
      operationId: policy.attributes.AttributesService.ListAttributes
      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.attributes.ListAttributesRequest'
        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.attributes.ListAttributesResponse'
  /policy.attributes.AttributesService/ListAttributeValues:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: ListAttributeValues
      description: "Deprecated\n Use GetAttribute"
      operationId: policy.attributes.AttributesService.ListAttributeValues
      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.attributes.ListAttributeValuesRequest'
        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.attributes.ListAttributeValuesResponse'
      deprecated: true
  /policy.attributes.AttributesService/GetAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: GetAttribute
      operationId: policy.attributes.AttributesService.GetAttribute
      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.attributes.GetAttributeRequest'
        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.attributes.GetAttributeResponse'
  /policy.attributes.AttributesService/GetAttributeValuesByFqns:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: GetAttributeValuesByFqns
      description: "Deprecated: Use GetKeyMappingsByFqns for client-side key splits and\n GetEntitleableAttributesByFqns for server-side entitlement resolution."
      operationId: policy.attributes.AttributesService.GetAttributeValuesByFqns
      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.attributes.GetAttributeValuesByFqnsRequest'
        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.attributes.GetAttributeValuesByFqnsResponse'
      deprecated: true
  /policy.attributes.AttributesService/GetKeyMappingsByFqns:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: GetKeyMappingsByFqns
      description: "Returns only key-mapping information (rule and effective KAS keys) for the\n requested attribute value FQNs, for client-side key split construction."
      operationId: policy.attributes.AttributesService.GetKeyMappingsByFqns
      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.attributes.GetKeyMappingsByFqnsRequest'
        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.attributes.GetKeyMappingsByFqnsResponse'
  /policy.attributes.AttributesService/GetEntitleableAttributesByFqns:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: GetEntitleableAttributesByFqns
      description: "Returns only entitlement-relevant information (rule, value identity, ordered\n definition values, and subject mappings) for the requested attribute value\n FQNs, for server-side decisioning / entitlement resolution."
      operationId: policy.attributes.AttributesService.GetEntitleableAttributesByFqns
      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.attributes.GetEntitleableAttributesByFqnsRequest'
        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.attributes.GetEntitleableAttributesByFqnsResponse'
  /policy.attributes.AttributesService/CreateAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: CreateAttribute
      operationId: policy.attributes.AttributesService.CreateAttribute
      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.attributes.CreateAttributeRequest'
        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.attributes.CreateAttributeResponse'
  /policy.attributes.AttributesService/UpdateAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: UpdateAttribute
      operationId: policy.attributes.AttributesService.UpdateAttribute
      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.attributes.UpdateAttributeRequest'
        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.attributes.UpdateAttributeResponse'
  /policy.attributes.AttributesService/DeactivateAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: DeactivateAttribute
      operationId: policy.attributes.AttributesService.DeactivateAttribute
      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.attributes.DeactivateAttributeRequest'
        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.attributes.DeactivateAttributeResponse'
  /policy.attributes.AttributesService/GetAttributeValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: GetAttributeValue
      description: "--------------------------------------*\n Value RPCs\n---------------------------------------"
      operationId: policy.attributes.AttributesService.GetAttributeValue
      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.attributes.GetAttributeValueRequest'
        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.attributes.GetAttributeValueResponse'
  /policy.attributes.AttributesService/CreateAttributeValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: CreateAttributeValue
      operationId: policy.attributes.AttributesService.CreateAttributeValue
      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.attributes.CreateAttributeValueRequest'
        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.attributes.CreateAttributeValueResponse'
  /policy.attributes.AttributesService/UpdateAttributeValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: UpdateAttributeValue
      operationId: policy.attributes.AttributesService.UpdateAttributeValue
      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.attributes.UpdateAttributeValueRequest'
        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.attributes.UpdateAttributeValueResponse'
  /policy.attributes.AttributesService/DeactivateAttributeValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: DeactivateAttributeValue
      operationId: policy.attributes.AttributesService.DeactivateAttributeValue
      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.attributes.DeactivateAttributeValueRequest'
        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.attributes.DeactivateAttributeValueResponse'
  /policy.attributes.AttributesService/AssignKeyAccessServerToAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: AssignKeyAccessServerToAttribute
      description: 'Deprecated: utilize AssignPublicKeyToAttribute'
      operationId: policy.attributes.AttributesService.AssignKeyAccessServerToAttribute
      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.attributes.AssignKeyAccessServerToAttributeRequest'
        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.attributes.AssignKeyAccessServerToAttributeResponse'
      deprecated: true
  /policy.attributes.AttributesService/RemoveKeyAccessServerFromAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: RemoveKeyAccessServerFromAttribute
      description: 'Deprecated: utilize RemovePublicKeyFromAttribute'
      operationId: policy.attributes.AttributesService.RemoveKeyAccessServerFromAttribute
      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.attributes.RemoveKeyAccessServerFromAttributeRequest'
        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.attributes.RemoveKeyAccessServerFromAttributeResponse'
      deprecated: true
  /policy.attributes.AttributesService/AssignKeyAccessServerToValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: AssignKeyAccessServerToValue
      description: 'Deprecated: utilize AssignPublicKeyToValue'
      operationId: policy.attributes.AttributesService.AssignKeyAccessServerToValue
      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.attributes.AssignKeyAccessServerToValueRequest'
        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.attributes.AssignKeyAccessServerToValueResponse'
      deprecated: true
  /policy.attributes.AttributesService/RemoveKeyAccessServerFromValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: RemoveKeyAccessServerFromValue
      description: 'Deprecated: utilize RemovePublicKeyFromValue'
      operationId: policy.attributes.AttributesService.RemoveKeyAccessServerFromValue
      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.attributes.RemoveKeyAccessServerFromValueRequest'
        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.attributes.RemoveKeyAccessServerFromValueResponse'
      deprecated: true
  /policy.attributes.AttributesService/AssignPublicKeyToAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: AssignPublicKeyToAttribute
      operationId: policy.attributes.AttributesService.AssignPublicKeyToAttribute
      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.attributes.AssignPublicKeyToAttributeRequest'
        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.attributes.AssignPublicKeyToAttributeResponse'
  /policy.attributes.AttributesService/RemovePublicKeyFromAttribute:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: RemovePublicKeyFromAttribute
      operationId: policy.attributes.AttributesService.RemovePublicKeyFromAttribute
      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.attributes.RemovePublicKeyFromAttributeRequest'
        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.attributes.RemovePublicKeyFromAttributeResponse'
  /policy.attributes.AttributesService/AssignPublicKeyToValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: AssignPublicKeyToValue
      operationId: policy.attributes.AttributesService.AssignPublicKeyToValue
      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.attributes.AssignPublicKeyToValueRequest'
        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.attributes.AssignPublicKeyToValueResponse'
  /policy.attributes.AttributesService/RemovePublicKeyFromValue:
    post:
      tags:
      - policy.attributes.AttributesService
      summary: RemovePublicKeyFromValue
      operationId: policy.attributes.AttributesService.RemovePublicKeyFromValue
      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.attributes.RemovePublicKeyFromValueRequest'
        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.attributes.RemovePublicKeyFromValueResponse'
components:
  schemas:
    policy.attributes.AssignKeyAccessServerToValueRequest:
      type: object
      properties:
        valueKeyAccessServer:
          title: value_key_access_server
          description: Required
          $ref: '#/components/schemas/policy.attributes.ValueKeyAccessServer'
      title: AssignKeyAccessServerToValueRequest
      additionalProperties: false
      description: 'Deprecated: utilize AssignPublicKeyToValueRequest'
    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.attributes.DeactivateAttributeRequest:
      type: object
      properties:
        id:
          type: string
          title: id
          format: uuid
          description: Required
      title: DeactivateAttributeRequest
      additionalProperties: false
    policy.attributes.RemovePublicKeyFromValueRequest:
      type: object
      properties:
        valueKey:
          title: value_key
          description: Required
          $ref: '#/components/schemas/policy.attributes.ValueKey'
      title: RemovePublicKeyFromValueRequest
      required:
      - valueKey
      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.attributes.GetAttributeValuesByFqnsResponse:
      type: object
      properties:
        fqnAttributeValues:
          type: object
          title: fqn_attribute_values
          additionalProperties:
            title: value
            $ref: '#/components/schemas/policy.attributes.GetAttributeValuesByFqnsResponse.AttributeAndValue'
          description: map of FQNs to complete attributes and the one selected value
      title: GetAttributeValuesByFqnsResponse
      additionalProperties: false
    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

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virtru/refs/heads/main/openapi/virtru-policy-attributes-attributesservice-api-openapi.yml