Virtru policy.subjectmapping.SubjectMappingService API

The policy.subjectmapping.SubjectMappingService API from Virtru — 12 operation(s) for policy.subjectmapping.subjectmappingservice.

Operations 12

POST /policy.subjectmapping.SubjectMappingService/MatchSubjectMappings MatchSubjectMappings #
POST /policy.subjectmapping.SubjectMappingService/ListSubjectMappings ListSubjectMappings #
POST /policy.subjectmapping.SubjectMappingService/GetSubjectMapping GetSubjectMapping #
POST /policy.subjectmapping.SubjectMappingService/CreateSubjectMapping CreateSubjectMapping #
POST /policy.subjectmapping.SubjectMappingService/UpdateSubjectMapping UpdateSubjectMapping #
POST /policy.subjectmapping.SubjectMappingService/DeleteSubjectMapping DeleteSubjectMapping #
POST /policy.subjectmapping.SubjectMappingService/ListSubjectConditionSets ListSubjectConditionSets #
POST /policy.subjectmapping.SubjectMappingService/GetSubjectConditionSet GetSubjectConditionSet #
POST /policy.subjectmapping.SubjectMappingService/CreateSubjectConditionSet CreateSubjectConditionSet #
POST /policy.subjectmapping.SubjectMappingService/UpdateSubjectConditionSet UpdateSubjectConditionSet #
POST /policy.subjectmapping.SubjectMappingService/DeleteSubjectConditionSet DeleteSubjectConditionSet #
POST /policy.subjectmapping.SubjectMappingService/DeleteAllUnmappedSubjectConditionSets DeleteAllUnmappedSubjectConditionSets #

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-subjectmapping-subjectmappingservice-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-subjectmapping-subjectmappingservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: authorization authorization.AuthorizationService Policy.subjectmapping.Subject Mapping Service API
servers:
- url: https://api.virtru.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security: []
tags:
- name: policy.subjectmapping.SubjectMappingService
paths:
  /policy.subjectmapping.SubjectMappingService/MatchSubjectMappings:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: MatchSubjectMappings
      description: Find matching Subject Mappings for a given Subject
      operationId: policy.subjectmapping.SubjectMappingService.MatchSubjectMappings
      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.subjectmapping.MatchSubjectMappingsRequest'
        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.subjectmapping.MatchSubjectMappingsResponse'
  /policy.subjectmapping.SubjectMappingService/ListSubjectMappings:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: ListSubjectMappings
      operationId: policy.subjectmapping.SubjectMappingService.ListSubjectMappings
      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.subjectmapping.ListSubjectMappingsRequest'
        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.subjectmapping.ListSubjectMappingsResponse'
  /policy.subjectmapping.SubjectMappingService/GetSubjectMapping:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: GetSubjectMapping
      operationId: policy.subjectmapping.SubjectMappingService.GetSubjectMapping
      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.subjectmapping.GetSubjectMappingRequest'
        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.subjectmapping.GetSubjectMappingResponse'
  /policy.subjectmapping.SubjectMappingService/CreateSubjectMapping:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: CreateSubjectMapping
      operationId: policy.subjectmapping.SubjectMappingService.CreateSubjectMapping
      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.subjectmapping.CreateSubjectMappingRequest'
        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.subjectmapping.CreateSubjectMappingResponse'
  /policy.subjectmapping.SubjectMappingService/UpdateSubjectMapping:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: UpdateSubjectMapping
      operationId: policy.subjectmapping.SubjectMappingService.UpdateSubjectMapping
      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.subjectmapping.UpdateSubjectMappingRequest'
        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.subjectmapping.UpdateSubjectMappingResponse'
  /policy.subjectmapping.SubjectMappingService/DeleteSubjectMapping:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: DeleteSubjectMapping
      operationId: policy.subjectmapping.SubjectMappingService.DeleteSubjectMapping
      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.subjectmapping.DeleteSubjectMappingRequest'
        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.subjectmapping.DeleteSubjectMappingResponse'
  /policy.subjectmapping.SubjectMappingService/ListSubjectConditionSets:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: ListSubjectConditionSets
      operationId: policy.subjectmapping.SubjectMappingService.ListSubjectConditionSets
      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.subjectmapping.ListSubjectConditionSetsRequest'
        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.subjectmapping.ListSubjectConditionSetsResponse'
  /policy.subjectmapping.SubjectMappingService/GetSubjectConditionSet:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: GetSubjectConditionSet
      operationId: policy.subjectmapping.SubjectMappingService.GetSubjectConditionSet
      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.subjectmapping.GetSubjectConditionSetRequest'
        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.subjectmapping.GetSubjectConditionSetResponse'
  /policy.subjectmapping.SubjectMappingService/CreateSubjectConditionSet:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: CreateSubjectConditionSet
      operationId: policy.subjectmapping.SubjectMappingService.CreateSubjectConditionSet
      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.subjectmapping.CreateSubjectConditionSetRequest'
        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.subjectmapping.CreateSubjectConditionSetResponse'
  /policy.subjectmapping.SubjectMappingService/UpdateSubjectConditionSet:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: UpdateSubjectConditionSet
      operationId: policy.subjectmapping.SubjectMappingService.UpdateSubjectConditionSet
      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.subjectmapping.UpdateSubjectConditionSetRequest'
        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.subjectmapping.UpdateSubjectConditionSetResponse'
  /policy.subjectmapping.SubjectMappingService/DeleteSubjectConditionSet:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: DeleteSubjectConditionSet
      operationId: policy.subjectmapping.SubjectMappingService.DeleteSubjectConditionSet
      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.subjectmapping.DeleteSubjectConditionSetRequest'
        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.subjectmapping.DeleteSubjectConditionSetResponse'
  /policy.subjectmapping.SubjectMappingService/DeleteAllUnmappedSubjectConditionSets:
    post:
      tags:
      - policy.subjectmapping.SubjectMappingService
      summary: DeleteAllUnmappedSubjectConditionSets
      operationId: policy.subjectmapping.SubjectMappingService.DeleteAllUnmappedSubjectConditionSets
      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.subjectmapping.DeleteAllUnmappedSubjectConditionSetsRequest'
        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.subjectmapping.DeleteAllUnmappedSubjectConditionSetsResponse'
components:
  schemas:
    policy.subjectmapping.CreateSubjectMappingResponse:
      type: object
      properties:
        subjectMapping:
          title: subject_mapping
          $ref: '#/components/schemas/policy.SubjectMapping'
      title: CreateSubjectMappingResponse
      additionalProperties: false
    policy.Value:
      type: object
      properties:
        id:
          type: string
          title: id
          description: generated uuid in database
        attribute:
          title: attribute
          $ref: '#/components/schemas/policy.Attribute'
        value:
          type: string
          title: value
        grants:
          type: array
          items:
            $ref: '#/components/schemas/policy.KeyAccessServer'
          title: grants
          description: Deprecated KAS grants for the value. Use kas_keys instead.
        fqn:
          type: string
          title: fqn
        active:
          title: active
          description: active by default until explicitly deactivated
          $ref: '#/components/schemas/google.protobuf.BoolValue'
        subjectMappings:
          type: array
          items:
            $ref: '#/components/schemas/policy.SubjectMapping'
          title: subject_mappings
          description: subject mapping
        kasKeys:
          type: array
          items:
            $ref: '#/components/schemas/policy.SimpleKasKey'
          title: kas_keys
        resourceMappings:
          type: array
          items:
            $ref: '#/components/schemas/policy.ResourceMapping'
          title: resource_mappings
        obligations:
          type: array
          items:
            $ref: '#/components/schemas/policy.Obligation'
          title: obligations
        metadata:
          title: metadata
          description: Common metadata
          $ref: '#/components/schemas/common.Metadata'
      title: Value
      additionalProperties: false
    policy.subjectmapping.MatchSubjectMappingsResponse:
      type: object
      properties:
        subjectMappings:
          type: array
          items:
            $ref: '#/components/schemas/policy.SubjectMapping'
          title: subject_mappings
      title: MatchSubjectMappingsResponse
      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.subjectmapping.DeleteSubjectConditionSetResponse:
      type: object
      properties:
        subjectConditionSet:
          title: subject_condition_set
          description: Only ID of deleted Subject Condition Set provided
          $ref: '#/components/schemas/policy.SubjectConditionSet'
      title: DeleteSubjectConditionSetResponse
      additionalProperties: false
    policy.SimpleKasKey:
      type: object
      properties:
        kasUri:
          type: string
          title: kas_uri
          description: The URL of the Key Access Server
        publicKey:
          title: public_key
          description: The public key of the Key that belongs to the KAS
          $ref: '#/components/schemas/policy.SimpleKasPublicKey'
        kasId:
          type: string
          title: kas_id
          description: The ID of the Key Access Server
      title: SimpleKasKey
      additionalProperties: false
    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.SourceType:
      type: string
      title: SourceType
      enum:
      - SOURCE_TYPE_UNSPECIFIED
      - SOURCE_TYPE_INTERNAL
      - SOURCE_TYPE_EXTERNAL
      description: "Describes whether this kas is managed by the organization or if they imported\n the kas information from an external party. These two modes are necessary in order\n to encrypt a tdf dek with an external parties kas public key."
    policy.ConditionGroup:
      type: object
      properties:
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/policy.Condition'
          title: conditions
          minItems: 1
        booleanOperator:
          title: boolean_operator
          description: the boolean evaluation type across the conditions
          $ref: '#/components/schemas/policy.ConditionBooleanTypeEnum'
      title: ConditionGroup
      required:
      - booleanOperator
      additionalProperties: false
      description: A collection of Conditions evaluated by the boolean_operator provided
    google.protobuf.Any:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
          format: binary
        debug:
          type: object
          additionalProperties: true
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
    policy.Search:
      type: object
      properties:
        term:
          type: string
          title: term
          maxLength: 253
          minLength: 1
      title: Search
      additionalProperties: false
    policy.subjectmapping.UpdateSubjectConditionSetResponse:
      type: object
      properties:
        subjectConditionSet:
          title: subject_condition_set
          description: Only ID of updated Subject Condition Set provided
          $ref: '#/components/schemas/policy.SubjectConditionSet'
      title: UpdateSubjectConditionSetResponse
      additionalProperties: false
    policy.subjectmapping.SubjectConditionSetCreate:
      type: object
      properties:
        subjectSets:
          type: array
          items:
            $ref: '#/components/schemas/policy.SubjectSet'
          title: subject_sets
          minItems: 1
          description: Required
        metadata:
          title: metadata
          description: "Optional\n Common metadata"
          $ref: '#/components/schemas/common.MetadataMutable'
      title: SubjectConditionSetCreate
      additionalProperties: false
    policy.AttributeRuleTypeEnum:
      type: string
      title: AttributeRuleTypeEnum
      enum:
      - ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED
      - ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF
      - ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF
      - ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY
    policy.SubjectProperty:
      type: object
      properties:
        externalSelectorValue:
          type: string
          title: external_selector_value
          minLength: 1
        externalValue:
          type: string
          title: external_value
      title: SubjectProperty
      required:
      - externalSelectorValue
      additionalProperties: false
      description: 'A property of a Subject/Entity as its selector expression -> value result

        pair. This would mirror external user attributes retrieved from an

        authoritative source such as an IDP (Identity Provider) or User Store.

        Examples include such ADFS/LDAP, OKTA, etc. For now, a valid property must

        contain both a selector expression & a resulting value.


        The external_selector_value is a specifier to select a value from a flattened

        external representation of an Entity (such as from idP/LDAP), and the

        external_value is the value selected by the external_selector_value on that

        Entity Representation (Subject Context). These mirror the Condition.'
    policy.subjectmapping.SortSubjectConditionSetsType:
      type: string
      title: SortSubjectConditionSetsType
      enum:
      - SORT_SUBJECT_CONDITION_SETS_TYPE_UNSPECIFIED
      - SORT_SUBJECT_CONDITION_SETS_TYPE_CREATED_AT
      - SORT_SUBJECT_CONDITION_SETS_TYPE_UPDATED_AT
    policy.subjectmapping.ListSubjectMappingsResponse:
      type: object
      properties:
        subjectMappings:
          type: array
          items:
            $ref: '#/components/schemas/policy.SubjectMapping'
          title: subject_mappings
        pagination:
          title: pagination
          $ref: '#/components/schemas/policy.PageResponse'
      title: ListSubjectMappingsResponse
      additionalProperties: false
    policy.Attribute:
      type: object
      properties:
        id:
          type: string
          title: id
        namespace:
          title: namespace
          description: namespace of the attribute
          $ref: '#/components/schemas/policy.Namespace'
        name:
          type: string
          title: name
          description: attribute name
        rule:
          title: rule
          description: attribute rule enum
          $ref: '#/components/schemas/policy.AttributeRuleTypeEnum'
        values:
          type: array
          items:
            $ref: '#/components/schemas/policy.Value'
          title: values
        grants:
          type: array
          items:
            $ref: '#/components/schemas/policy.KeyAccessServer'
          title: grants
          description: Deprecated KAS grants for the attribute. Use kas_keys instead.
        fqn:
          type: string
          title: fqn
        active:
          title: active
          description: active by default until explicitly deactivated
          $ref: '#/components/schemas/google.protobuf.BoolValue'
        kasKeys:
          type: array
          items:
            $ref: '#/components/schemas/policy.SimpleKasKey'
          title: kas_keys
          description: Keys associated with the attribute
        allowTraversal:
          title: allow_traversal
          description: "Whether or not we will use the attribute definition during encryption\n if the attribute value is missing."
          $ref: '#/components/schemas/google.protobuf.BoolValue'
        metadata:
          title: metadata
          description: Common metadata
          $ref: '#/components/schemas/common.Metadata'
      title: Attribute
      required:
      - rule
      additionalProperties: false
    policy.subjectmapping.GetSubjectMappingRequest:
      type: object
      properties:
        id:
          type: string
          title: id
          format: uuid
          description: Required
      title: GetSubjectMappingRequest
      additionalProperties: false
    policy.subjectmapping.UpdateSubjectMappingRequest:
      type: object
      properties:
        id:
          type: string
          title: id
          format: uuid
          description: Required
        subjectConditionSetId:
          type: string
          title: subject_condition_set_id
          description: "Optional\n Replaces the existing SubjectConditionSet id with a new one\nOptional field must be a valid UUID:\n```\nsize(this) == 0 || this.matches('[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}')\n```\n\n"
        actions:
          type: array
          items:
            $ref: '#/components/schemas/policy.Action'
          title: actions
          description: "Optional\n Replaces entire list of actions permitted by subjects\nAction name or ID must not be empty if provided:\n```\nthis.size() == 0 || this.all(item, item.name != '' || item.id != '')\n```\n\n"
        metadata:
          title: metadata
          description: Common metadata
          $ref: '#/components/schemas/common.MetadataMutable'
        metadataUpdateBehavior:
          title: metadata_update_behavior
          $ref: '#/components/schemas/common.MetadataUpdateEnum'
      title: UpdateSubjectMappingRequest
      additionalProperties: false
    policy.subjectmapping.GetSubjectConditionSetRequest:
      type: object
      properties:
        id:
          type: string
          title: id
          format: uuid
          description: Required
      title: GetSubjectConditionSetRequest
      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
    policy.KeyAccessServer:
      type: object
      properties:
        id:
          type: string
          title: id
        uri:
          type: string
          title: uri
          description: 'Address of a KAS instance

            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])?)*(:[0-9]+)?(/.*)?$'')

            ```


            '
        publicKey:
          title: public_key
          description: 'Deprecated: KAS can have multiple key pairs'
          $ref: '#/components/schemas/policy.PublicKey'
        sourceType:
          title: source_type
          description: 'The source of the KAS: (INTERNAL, EXTERNAL)'
          $ref: '#/components/schemas/policy.SourceType'
        kasKeys:
          type: array
          items:
            $ref: '#/components/schemas/policy.SimpleKasKey'
          title: kas_keys
          description: Kas keys associated with this KAS
        name:
          type: string
          title: name
          description: "Optional\n Unique name of the KAS instance"
        metadata:
          title: metadata
          description: Common metadata
          $ref: '#/components/schemas/common.Metadata'
      title: KeyAccessServer
      additionalProperties: false
      description: Key Access Server Registry
    policy.subjectmapping.DeleteSubjectMappingResponse:
      type: object
      properties:
        subjectMapping:
          title: subject_mapping
          description: Only ID of the updated Subject Mapping provided
          $ref: '#/components/schemas/policy.SubjectMapping'
      title: DeleteSubjectMappingResponse
      additionalProperties: false
    policy.subjectmapping.CreateSubjectConditionSetResponse:
      type: object
      properties:
        subjectConditionSet:
          title: subject_condition_set
          $ref: '#/components/schemas/policy.SubjectConditionSet'
      title: CreateSubjectConditionSetResponse
      additionalProperties: false
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    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.Action.StandardAction:
      type: string
      title: StandardAction
      enum:
      - STANDARD_ACTION_UNSPECIFIED
      - STANDARD_ACTION_DECRYPT
      - STANDARD_ACTION_TRANSMIT
    policy.SortDirection:
      type: string
      title: SortDirection
      enum:
      - SORT_DIRECTION_UNSPECIFIED
      - SORT_DIRECTION_ASC
      - SORT_DIRECTION_DESC
      description: "Sorting direction shared across list APIs.\n When the 'sort' field is omitted or the chosen sort 'field' is UNSPECIFIED,\n the endpoint's request message defines the default ordering; see the\n specific List* request docs."
    policy.subjectmapping.ListSubjectMappingsRequest:
      type: object
      properties:
        namespaceId:
          type: string
          title: namespace_id
          format: uuid
        namespaceFqn:
          type: string
          title: namespace_fqn
          minLength: 1
          format: uri
        pagination:
          title: pagination
          description: Optional
          $ref: '#/components/schemas/policy.PageRequest'
        sort:
          type: array
          items:
            $ref: '#/components/schemas/policy.subjectmapping.SubjectMappingsSort'
          title: sort
          maxItems: 1
          description: "Optional - CONSTRAINT: max 1 item\n Sort defaults:\n   - direction UNSPECIFIED defaults to DESC for the specified field\n   - field UNSPECIFIED defaults to created_at with the specified direction\n   - both UNSPECIFIED or sort omitted defaults to created_at DESC"
        search:
          title: search
          description: Optional
          $ref: '#/components/schemas/policy.Search'
      title: ListSubjectMappingsRequest
      additionalProperties: false
    policy.subjectmapping.ListSubjectConditionSetsRequest:
      type: object
      properties:
        namespaceId:
          type: string
          title: namespace_id
          format: uuid
        namespaceFqn:
          type: string
          title: namespace_fqn
          minLength: 1
          format: uri
        pagination:
          title: pagination
          description: Optional
          $ref: '#/components/schemas/policy.PageRequest'
        sort:
          type: array
          items:
            $ref: '#/components/schemas/policy.subjectmapping.SubjectConditionSetsSort'
          title: sort
  

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