Virtru entityresolution.v2.EntityResolutionService API

The entityresolution.v2.EntityResolutionService API from Virtru — 2 operation(s) for entityresolution.v2.entityresolutionservice.

OpenAPI Specification

virtru-entityresolution-v2-entityresolutionservice-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: authorization authorization.AuthorizationService entityresolution.v2.EntityResolutionService API
security: []
tags:
- name: entityresolution.v2.EntityResolutionService
paths:
  /entityresolution.v2.EntityResolutionService/ResolveEntities:
    post:
      tags:
      - entityresolution.v2.EntityResolutionService
      summary: ResolveEntities
      operationId: entityresolution.v2.EntityResolutionService.ResolveEntities
      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/entityresolution.v2.ResolveEntitiesRequest'
        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/entityresolution.v2.ResolveEntitiesResponse'
  /entityresolution.v2.EntityResolutionService/CreateEntityChainsFromTokens:
    post:
      tags:
      - entityresolution.v2.EntityResolutionService
      summary: CreateEntityChainsFromTokens
      operationId: entityresolution.v2.EntityResolutionService.CreateEntityChainsFromTokens
      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/entityresolution.v2.CreateEntityChainsFromTokensRequest'
        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/entityresolution.v2.CreateEntityChainsFromTokensResponse'
components:
  schemas:
    authorization.v2.Resource:
      type: object
      oneOf:
      - properties:
          attributeValues:
            title: attribute_values
            description: 'a set of attribute value FQNs, such as those on a TDF, containing at least 1 value

              if provided, resource.attribute_values must contain at least 1 valid FQN:

              ```

              this.fqns.size() > 0 && this.fqns.all(item, item.isUri())

              ```


              '
            $ref: '#/components/schemas/authorization.v2.Resource.AttributeValues'
        title: attribute_values
        required:
        - attributeValues
      - properties:
          registeredResourceValueFqn:
            type: string
            title: registered_resource_value_fqn
            minLength: 1
            format: uri
            description: fully qualified name of the registered resource value stored in platform policy
        title: registered_resource_value_fqn
        required:
        - registeredResourceValueFqn
      properties:
        ephemeralId:
          type: string
          title: ephemeral_id
          description: ephemeral id for tracking between request and response
      title: Resource
      additionalProperties: false
      description: Either a set of attribute values (such as those on a TDF) or a registered resource value
    entityresolution.v2.ResolveEntitiesRequest:
      type: object
      properties:
        entities:
          type: array
          items:
            $ref: '#/components/schemas/entity.Entity'
          title: entities
          minItems: 1
      title: ResolveEntitiesRequest
      required:
      - entities
      additionalProperties: false
      description: Resolve a set of entities to their representations.
    entityresolution.v2.EntityRepresentation:
      type: object
      properties:
        originalId:
          type: string
          title: original_id
          description: ephemeral entity id from the request
        additionalProps:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Struct'
          title: additional_props
        directEntitlements:
          type: array
          items:
            $ref: '#/components/schemas/entityresolution.v2.DirectEntitlement'
          title: direct_entitlements
          description: direct entitlements applied to Entity (experimental)
      title: EntityRepresentation
      additionalProperties: false
    google.protobuf.Struct:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/google.protobuf.Value'
      description: "`Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object."
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    entityresolution.v2.CreateEntityChainsFromTokensRequest:
      type: object
      properties:
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/entity.Token'
          title: tokens
        resources:
          type: array
          items:
            $ref: '#/components/schemas/authorization.v2.Resource'
          title: resources
          description: resources to consider for direct entitlements (experimental)
      title: CreateEntityChainsFromTokensRequest
      additionalProperties: false
      description: Create an entity chain for each token (JWT) in the request.
    entityresolution.v2.CreateEntityChainsFromTokensResponse:
      type: object
      properties:
        entityChains:
          type: array
          items:
            $ref: '#/components/schemas/entity.EntityChain'
          title: entity_chains
      title: CreateEntityChainsFromTokensResponse
      additionalProperties: false
    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.
    entity.Entity:
      type: object
      oneOf:
      - properties:
          claims:
            title: claims
            description: used by ERS claims mode
            $ref: '#/components/schemas/google.protobuf.Any'
        title: claims
        required:
        - claims
      - properties:
          clientId:
            type: string
            title: client_id
        title: client_id
        required:
        - clientId
      - properties:
          emailAddress:
            type: string
            title: email_address
        title: email_address
        required:
        - emailAddress
      - properties:
          userName:
            type: string
            title: user_name
        title: user_name
        required:
        - userName
      properties:
        ephemeralId:
          type: string
          title: ephemeral_id
          description: ephemeral id for tracking between request and response
        category:
          title: category
          $ref: '#/components/schemas/entity.Entity.Category'
      title: Entity
      additionalProperties: false
      description: PE (Person Entity) or NPE (Non-Person Entity)
    entity.Entity.Category:
      type: string
      title: Category
      enum:
      - CATEGORY_UNSPECIFIED
      - CATEGORY_SUBJECT
      - CATEGORY_ENVIRONMENT
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
          - not_found
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
        detail:
          $ref: '#/components/schemas/google.protobuf.Any'
      title: Connect Error
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
    entityresolution.v2.DirectEntitlement:
      type: object
      properties:
        attributeValueFqn:
          type: string
          title: attribute_value_fqn
        actions:
          type: array
          items:
            type: string
          title: actions
      title: DirectEntitlement
      additionalProperties: false
      description: Entity Entitlements that do not require subject mappings (experimental)
    connect-protocol-version:
      type: number
      title: Connect-Protocol-Version
      enum:
      - 1
      description: Define the version of the Connect protocol
      const: 1
    entity.Token:
      type: object
      properties:
        ephemeralId:
          type: string
          title: ephemeral_id
          description: ephemeral id for tracking between request and response
        jwt:
          type: string
          title: jwt
          description: the token
      title: Token
      required:
      - jwt
      additionalProperties: false
    authorization.v2.Resource.AttributeValues:
      type: object
      properties:
        fqns:
          type: array
          items:
            type: string
          title: fqns
      title: AttributeValues
      additionalProperties: false
    entity.EntityChain:
      type: object
      properties:
        ephemeralId:
          type: string
          title: ephemeral_id
          description: ephemeral id for tracking between request and response
        entities:
          type: array
          items:
            $ref: '#/components/schemas/entity.Entity'
          title: entities
      title: EntityChain
      additionalProperties: false
      description: A set of related PE and NPE
    entityresolution.v2.ResolveEntitiesResponse:
      type: object
      properties:
        entityRepresentations:
          type: array
          items:
            $ref: '#/components/schemas/entityresolution.v2.EntityRepresentation'
          title: entity_representations
      title: ResolveEntitiesResponse
      additionalProperties: false
    google.protobuf.Value:
      oneOf:
      - type: 'null'
      - type: number
      - type: string
      - type: boolean
      - type: array
      - type: object
        additionalProperties: true
      description: "`Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value."