openapi: 3.0.3
info:
  version: "10"
  title: Search And Discovery
  description: The SAS Visual Investigator Search and Discovery API provides access to real-time exploration and visualization of the data in SAS Visual Investigator.
  contact:
    name: SAS Developers
    url: https://developer.sas.com
    email: devex@sas.com
  license:
    name: Terms of Use
    url: https://www.sas.com/en_us/legal/copyright.html
tags:
  - name: Root
    description: Contains the operations for the root resource of this API.
  - name: Search
    description: Contains search related endpoints.
  - name: Network
    description: Contains network visualization related endpoints.
  - name: Text Analytics
    description: Contains text Analytics visualization related endpoints.
  - name: Administration
    description: Contains administration-related endpoints.
  - name: Configuration
    description: Contains configuration-related endpoints.
  - name: Data
    description: Contains indexed data-related endpoints.
  - name: Index
    description: Contains index related endpoints.
paths:
  /:
    get:
      tags:
        - Root
      summary: Get a list of top-level links
      description: Returns the links to the top-level resources for the API.
      operationId: root
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.api+json:
              schema:
                $ref: "#/components/schemas/api"
              examples:
                api:
                  $ref: "#/components/examples/api"
            application/json:
              schema:
                $ref: "#/components/schemas/api"
              examples:
                api:
                  $ref: "#/components/examples/api"
    head:
      tags:
        - Root
      summary: Get the headers for the API
      description: Returns the headers for the API. Also used to determine whether the service provided by the API is available.
      operationId: headersForRoot
      responses:
        "200":
          description: The request succeeded.
  /assistedSearches:
    post:
      tags:
        - Search
      summary: Generate a search request based on a natural language query
      description: Generates a new request body for /searches or /paths from the given natural language query. Call /searches or /paths with the generated request to perform the search.
      operationId: assistedSearch
      requestBody:
        content:
          application/vnd.sas.sand.assisted.search.request+json:
            schema:
              $ref: "#/components/schemas/assistedSearchRequest"
            examples:
              assistedObjectSearchRequest:
                $ref: "#/components/examples/assistedObjectSearchRequest"
              assistedRelationshipSearchRequest:
                $ref: "#/components/examples/assistedRelationshipSearchRequest"
          application/json:
            schema:
              $ref: "#/components/schemas/assistedSearchRequest"
            examples:
              assistedObjectSearchRequest:
                $ref: "#/components/examples/assistedObjectSearchRequest"
              assistedRelationshipSearchRequest:
                $ref: "#/components/examples/assistedRelationshipSearchRequest"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.assisted.search.response+json:
              schema:
                $ref: "#/components/schemas/assistedSearchResponse"
              examples:
                assistedObjectSearchResponse:
                  $ref: "#/components/examples/assistedObjectSearchResponse"
                assistedRelationshipSearchResponse:
                  $ref: "#/components/examples/assistedRelationshipSearchResponse"
            application/json:
              schema:
                $ref: "#/components/schemas/assistedSearchResponse"
              examples:
                assistedObjectSearchResponse:
                  $ref: "#/components/examples/assistedObjectSearchResponse"
                assistedRelationshipSearchResponse:
                  $ref: "#/components/examples/assistedRelationshipSearchResponse"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /assistedSearches/visualizationType:
    post:
      tags:
        - Search
      summary: Determine the appropriate type of visualization for a natural language query
      description: Determines the most appropriate way to visualize the results for a given natural language query. The response can be included in the request to /assistedSearches.
      operationId: assistedSearchVisualizationType
      requestBody:
        content:
          application/vnd.sas.sand.assisted.search.visualization.type.request+json:
            schema:
              $ref: "#/components/schemas/assistedSearchVisualizationTypeRequest"
            examples:
              assistedSearchVisualizationTypeRequest:
                $ref: "#/components/examples/assistedSearchVisualizationTypeRequest"
          application/json:
            schema:
              $ref: "#/components/schemas/assistedSearchVisualizationTypeRequest"
            examples:
              assistedSearchVisualizationTypeRequest:
                $ref: "#/components/examples/assistedSearchVisualizationTypeRequest"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.assisted.search.visualization.type.response+json:
              schema:
                $ref: "#/components/schemas/assistedSearchVisualizationTypeResponse"
              examples:
                assistedSearchVisualizationTypeResponse:
                  $ref: "#/components/examples/assistedSearchVisualizationTypeResponse"
            application/json:
              schema:
                $ref: "#/components/schemas/assistedSearchVisualizationTypeResponse"
              examples:
                assistedSearchVisualizationTypeResponse:
                  $ref: "#/components/examples/assistedSearchVisualizationTypeResponse"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /searches:
    post:
      tags:
        - Search
      summary: Perform a search
      description: Performs a new search, refines a previous search, or requests different visualizations of the results of a previous search.
      operationId: search
      requestBody:
        content:
          application/vnd.sas.sand.search.request+json:
            schema:
              $ref: "#/components/schemas/searchRequest"
            examples:
              searchRequest:
                $ref: "#/components/examples/searchRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
              selection:
                $ref: "#/components/examples/selection"
              visualizationRequestTypeFacetsFilterMode:
                $ref: "#/components/examples/visualizationRequestTypeFacetsFilterMode"
              visualizationRequestTypeFacetsSelectionMode:
                $ref: "#/components/examples/visualizationRequestTypeFacetsSelectionMode"
              visualizationRequestTypeHits:
                $ref: "#/components/examples/visualizationRequestTypeHits"
              visualizationRequestTypeMap:
                $ref: "#/components/examples/visualizationRequestTypeMap"
              visualizationRequestTypeMapFeature:
                $ref: "#/components/examples/visualizationRequestTypeMapFeature"
              visualizationRequestTypeSummary:
                $ref: "#/components/examples/visualizationRequestTypeSummary"
              visualizationRequestTypeTable:
                $ref: "#/components/examples/visualizationRequestTypeTable"
              visualizationRequestTypeTimeline:
                $ref: "#/components/examples/visualizationRequestTypeTimeline"
              visualizationRequestTypeTimebar:
                $ref: "#/components/examples/visualizationRequestTypeTimebar"
          application/json:
            schema:
              $ref: "#/components/schemas/searchRequest"
            examples:
              searchRequest:
                $ref: "#/components/examples/searchRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
              selection:
                $ref: "#/components/examples/selection"
              visualizationRequestTypeFacetsFilterMode:
                $ref: "#/components/examples/visualizationRequestTypeFacetsFilterMode"
              visualizationRequestTypeFacetsSelectionMode:
                $ref: "#/components/examples/visualizationRequestTypeFacetsSelectionMode"
              visualizationRequestTypeHits:
                $ref: "#/components/examples/visualizationRequestTypeHits"
              visualizationRequestTypeMap:
                $ref: "#/components/examples/visualizationRequestTypeMap"
              visualizationRequestTypeMapFeature:
                $ref: "#/components/examples/visualizationRequestTypeMapFeature"
              visualizationRequestTypeSummary:
                $ref: "#/components/examples/visualizationRequestTypeSummary"
              visualizationRequestTypeTable:
                $ref: "#/components/examples/visualizationRequestTypeTable"
              visualizationRequestTypeTimeline:
                $ref: "#/components/examples/visualizationRequestTypeTimeline"
              visualizationRequestTypeTimebar:
                $ref: "#/components/examples/visualizationRequestTypeTimebar"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.search.response+json:
              schema:
                $ref: "#/components/schemas/searchResponse"
              examples:
                searchResponse:
                  $ref: "#/components/examples/searchResponse"
                visualizationResponseTypeFacetsFilter:
                  $ref: "#/components/examples/visualizationResponseTypeFacetsFilter"
                visualizationResponseTypeHits:
                  $ref: "#/components/examples/visualizationResponseTypeHits"
                visualizationResponseTypeMapCluster:
                  $ref: "#/components/examples/visualizationResponseTypeMapCluster"
                visualizationResponseTypeMapFeature:
                  $ref: "#/components/examples/visualizationResponseTypeMapFeature"
                visualizationResponseTypeMapFeatureCollection:
                  $ref: "#/components/examples/visualizationResponseTypeMapFeatureCollection"
                visualizationResponseTypeSummary:
                  $ref: "#/components/examples/visualizationResponseTypeSummary"
                visualizationResponseTypeTable:
                  $ref: "#/components/examples/visualizationResponseTypeTable"
                visualizationResponseTypeTimeline:
                  $ref: "#/components/examples/visualizationResponseTypeTimeline"
                visualizationResponseTypeTimebar:
                  $ref: "#/components/examples/visualizationResponseTypeTimebar"
                eventMap:
                  $ref: "#/components/examples/eventMap"
                eventTimeline:
                  $ref: "#/components/examples/eventTimeline"
            application/json:
              schema:
                $ref: "#/components/schemas/searchResponse"
              examples:
                searchResponse:
                  $ref: "#/components/examples/searchResponse"
                visualizationResponseTypeFacetsFilter:
                  $ref: "#/components/examples/visualizationResponseTypeFacetsFilter"
                visualizationResponseTypeHits:
                  $ref: "#/components/examples/visualizationResponseTypeHits"
                visualizationResponseTypeMapCluster:
                  $ref: "#/components/examples/visualizationResponseTypeMapCluster"
                visualizationResponseTypeMapFeature:
                  $ref: "#/components/examples/visualizationResponseTypeMapFeature"
                visualizationResponseTypeMapFeatureCollection:
                  $ref: "#/components/examples/visualizationResponseTypeMapFeatureCollection"
                visualizationResponseTypeSummary:
                  $ref: "#/components/examples/visualizationResponseTypeSummary"
                visualizationResponseTypeTable:
                  $ref: "#/components/examples/visualizationResponseTypeTable"
                visualizationResponseTypeTimeline:
                  $ref: "#/components/examples/visualizationResponseTypeTimeline"
                visualizationResponseTypeTimebar:
                  $ref: "#/components/examples/visualizationResponseTypeTimebar"
                eventMap:
                  $ref: "#/components/examples/eventMap"
                eventTimeline:
                  $ref: "#/components/examples/eventTimeline"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /highlighting:
    post:
      tags:
        - Search
      summary: Create highlighting for a single object
      description: Produces highlighting snippets for a single object based on a given query.
      operationId: highlight
      requestBody:
        content:
          application/vnd.sas.sand.highlighting.request+json:
            schema:
              $ref: "#/components/schemas/highlightingRequest"
            examples:
              highlightingRequest:
                $ref: "#/components/examples/highlightingRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
          application/json:
            schema:
              $ref: "#/components/schemas/highlightingRequest"
            examples:
              highlightingRequest:
                $ref: "#/components/examples/highlightingRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.highlighting+json:
              schema:
                $ref: "#/components/schemas/highlighting"
              examples:
                highlighting:
                  $ref: "#/components/examples/highlighting"
            application/json:
              schema:
                $ref: "#/components/schemas/highlighting"
              examples:
                highlighting:
                  $ref: "#/components/examples/highlighting"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /graphs:
    post:
      tags:
        - Network
      summary: Generate a network
      description: Provides access to the Network visualization. Returns a graph showing the objects that matched the search request as vertices and the relationships between them as edges.
      operationId: graphSearch
      parameters:
        - name: calculateMetrics
          description: Whether to calculate the degree and adjacent counts for all the vertices. As this calculation is expensive, it can take some time particularly for highly connected vertices. Skipping the calculation is recommended when the counts are not needed or when generating the counts leads to a poor user experience.
          in: query
          required: false
          schema:
            type: boolean
            default: true
        - name: expansionLimit
          description: The maximum number of adjacent vertices per vertex in the graph. If a value greater than zero is specified and any vertices exceed the limit, then those vertices are excluded from the edge search and the metrics calculation.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
        - name: metricsLimit
          description: "The maximum number of new vertices to be found by the search when calculating the metrics. If the specified limit is greater than zero and the search discovers more new vertices than allowed, the search is cancelled and a message is returned. "
          in: query
          required: false
          schema:
            type: integer
            default: 5000
        - name: metricsAggregationLimit
          description: The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.
          in: query
          required: false
          schema:
            type: integer
            default: -1
      requestBody:
        content:
          application/vnd.sas.sand.graph.request+json:
            schema:
              $ref: "#/components/schemas/graphRequest"
            examples:
              graphRequest:
                $ref: "#/components/examples/graphRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
              selection:
                $ref: "#/components/examples/selection"
          application/json:
            schema:
              $ref: "#/components/schemas/graphRequest"
            examples:
              graphRequest:
                $ref: "#/components/examples/graphRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
              selection:
                $ref: "#/components/examples/selection"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.graph+json:
              schema:
                $ref: "#/components/schemas/graph"
              examples:
                graph:
                  $ref: "#/components/examples/graph"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
                vertex:
                  $ref: "#/components/examples/vertex"
            application/json:
              schema:
                $ref: "#/components/schemas/graph"
              examples:
                graph:
                  $ref: "#/components/examples/graph"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
                vertex:
                  $ref: "#/components/examples/vertex"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /graphs/edges:
    post:
      tags:
        - Network
      summary: Find edges with additional summary information
      description: Performs a new search and returns edges with additional summary information. The response item media type is application/vnd.sas.sand.edge.
      operationId: getEdges
      parameters:
        - name: start
          description: The index of the first edge to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of edges to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 100
      requestBody:
        content:
          application/vnd.sas.sand.query.request+json:
            schema:
              $ref: "#/components/schemas/queryRequest"
            examples:
              queryRequest:
                $ref: "#/components/examples/queryRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
          application/json:
            schema:
              $ref: "#/components/schemas/queryRequest"
            examples:
              queryRequest:
                $ref: "#/components/examples/queryRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/edgeCollection"
              examples:
                edgeCollection:
                  $ref: "#/components/examples/edgeCollection"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
            application/json:
              schema:
                $ref: "#/components/schemas/edgeCollection"
              examples:
                edgeCollection:
                  $ref: "#/components/examples/edgeCollection"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  "/vertices/{type}/{identifier}":
    get:
      tags:
        - Network
      summary: Get the details for a vertex
      description: Returns additional information about a single vertex on the Network visualization. This is intended to be used to enhance the Network visualization after retrieving it from /graphs or /traversals; the response from which includes the values for this resource's parameters. The additional information includes the label, adjacent (number of vertices one edge away from this vertex), degree (number of edges entering and leaving the vertex), the adjacent count broken down by object type, and the degree broken down by relationship type.
      operationId: getVertex
      parameters:
        - name: type
          description: The name of the object type for the vertex.
          in: path
          required: true
          schema:
            type: string
        - name: identifier
          description: The unique identifier for the vertex.
          in: path
          required: true
          schema:
            type: string
        - name: expansionLimit
          description: The maximum number of adjacent vertices. If a value greater than zero is specified and the vertex exceeds the limit, the metrics calculation is skipped and no degree and adjacent information is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
        - name: metricsLimit
          description: The maximum number of new vertices to be found by the search when calculating the metrics. If a value greater than zero is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and no degree and adjacent information is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 5000
        - name: metricsAggregationLimit
          description: The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.
          in: query
          required: false
          schema:
            type: integer
            default: -1
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.vertex+json:
              schema:
                $ref: "#/components/schemas/vertex"
              examples:
                vertex:
                  $ref: "#/components/examples/vertex"
            application/json:
              schema:
                $ref: "#/components/schemas/vertex"
              examples:
                vertex:
                  $ref: "#/components/examples/vertex"
        "404":
          description: The type does not exist or the vertex does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Network
      summary: Check the existence of a vertex
      description: Checks the existence of an object. 200 OK is returned if the vertex exists and 404 Not Found if it does not exist.
      operationId: headersForVertex
      parameters:
        - name: type
          description: The name of the object type for the vertex.
          in: path
          required: true
          schema:
            type: string
        - name: identifier
          description: The unique identifier for the vertex.
          in: path
          required: true
          schema:
            type: string
        - name: expansionLimit
          description: The maximum number of adjacent vertices. If a value greater than zero is specified and the vertex exceeds the limit, the metrics calculation is skipped and no degree and adjacent information is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
        - name: metricsLimit
          description: The maximum number of new vertices to be found by the search when calculating the metrics. If a value greater than zero is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and no degree and adjacent information is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 5000
        - name: metricsAggregationLimit
          description: The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.
          in: query
          required: false
          schema:
            type: integer
            default: -1
      responses:
        "200":
          description: The request succeeded.
        "404":
          description: The type does not exist or the vertex does not exist.
  /centrality:
    post:
      tags:
        - Network
      operationId: centrality
      summary: Calculate the centrality metrics for a network
      description: Calculates the centrality metrics of each object on a network.
      requestBody:
        content:
          application/vnd.sas.network.analytics.network+json:
            schema:
              $ref: "#/components/schemas/centralityNetwork"
            example:
              $ref: "#/components/examples/centralityNetwork"
          application/json:
            schema:
              $ref: "#/components/schemas/centralityNetwork"
            example:
              $ref: "#/components/examples/centralityNetwork"
        required: true
      responses:
        "200":
          description: OK.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/centralityMetricsCollection"
              example:
                $ref: "#/components/examples/centralityMetricsCollection"
            application/json:
              schema:
                $ref: "#/components/schemas/centralityMetricsCollection"
              example:
                $ref: "#/components/examples/centralityMetricsCollection"
        "400":
          description: The request is malformed or contains invalid values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /traversals:
    post:
      tags:
        - Network
      summary: Expand the relationships of one or more vertices
      description: Performs a breadth first graph search following all the relationships (edges) extending outwards from one or more objects (vertices) in the Network visualization. The initial objects whose relationships are to be traversed are found by executing the given query.
      operationId: graphTraversal
      parameters:
        - name: calculateMetrics
          description: Whether to calculate the degree and adjacent counts for all the vertices. As this calculation is expensive, it can take some time particularly for highly connected vertices. Skipping the calculation is recommended when the counts are not needed or when generating the counts leads to a poor user experience.
          in: query
          required: false
          schema:
            type: boolean
            default: true
        - name: edgeExpansionLimit
          description: The maximum number of new vertices to be found when traversing edges. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 10000
        - name: expansionLimit
          description: The maximum number of new vertices to be found when searching vertices. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
        - name: metricsLimit
          description: The maximum number of new vertices to be found by the search when calculating the metrics. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 5000
        - name: metricsAggregationLimit
          description: The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.
          in: query
          required: false
          schema:
            type: integer
            default: -1
      requestBody:
        content:
          application/vnd.sas.sand.traversal.request+json:
            schema:
              $ref: "#/components/schemas/traversalRequest"
            examples:
              traversalRequest:
                $ref: "#/components/examples/traversalRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
          application/json:
            schema:
              $ref: "#/components/schemas/traversalRequest"
            examples:
              traversalRequest:
                $ref: "#/components/examples/traversalRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.graph+json:
              schema:
                $ref: "#/components/schemas/graph"
              examples:
                graph:
                  $ref: "#/components/examples/graph"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
                vertex:
                  $ref: "#/components/examples/vertex"
            application/json:
              schema:
                $ref: "#/components/schemas/graph"
              examples:
                graph:
                  $ref: "#/components/examples/graph"
                edgeRelationship:
                  $ref: "#/components/examples/edgeRelationship"
                edgeResolvedRelationship:
                  $ref: "#/components/examples/edgeResolvedRelationship"
                vertex:
                  $ref: "#/components/examples/vertex"
        "400":
          description: The request is malformed or contains invalid parameter values; or the search had to be cancelled because the number of new vertices exceeded the expansion limit.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /paths:
    post:
      tags:
        - Network
      summary: Find matching paths from one or more start objects
      description: Performs a path search from one or more start objects. The desired path is described by a sequence of vertex and edge filters. Matching paths are returned as a list of endpoints ordered from leaf vertex to root vertex. The leaf vertex typically represents the primary object of interest, while the remaining vertices provide contextual information. The response item media type is application/vnd.sas.sand.path.
      operationId: pathsSearch
      parameters:
        - name: start
          description: The index of the first path to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of paths to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
        - name: calculateMetrics
          description: Whether to calculate the degree and adjacent counts for all the vertices. As this calculation is expensive, it can take some time particularly for highly connected vertices. Skipping the calculation is recommended when the counts are not needed or when generating the counts leads to a poor user experience.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: edgeExpansionLimit
          description: The maximum number of new vertices to be found when traversing edges. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 10000
        - name: expansionLimit
          description: The maximum number of new vertices to be found when searching vertices. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
        - name: metricsLimit
          description: The maximum number of new vertices to be found by the search when calculating the metrics. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 5000
        - name: metricsAggregationLimit
          description: The aggregation used to exclude highly connected vertices from the metrics calculation is skipped when the number of leaf vertices exceeds this limit. The default value of -1 means the aggregation always runs; a value of 0 means the aggregation never runs.
          in: query
          required: false
          schema:
            type: integer
            default: -1
      requestBody:
        content:
          application/vnd.sas.sand.paths.request+json:
            schema:
              $ref: "#/components/schemas/pathsRequest"
            examples:
              singleObjectPathsRequest:
                $ref: "#/components/examples/singleObjectPathsRequest"
              multiBranchPathsRequest:
                $ref: "#/components/examples/multiBranchPathsRequest"
              queryPathsRequest:
                $ref: "#/components/examples/queryPathsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
          application/json:
            schema:
              $ref: "#/components/schemas/pathsRequest"
            examples:
              singleObjectPathsRequest:
                $ref: "#/components/examples/singleObjectPathsRequest"
              multiBranchPathsRequest:
                $ref: "#/components/examples/multiBranchPathsRequest"
              queryPathsRequest:
                $ref: "#/components/examples/queryPathsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/pathCollection"
              examples:
                pathCollection:
                  $ref: "#/components/examples/pathCollection"
                path:
                  $ref: "#/components/examples/path"
            application/json:
              schema:
                $ref: "#/components/schemas/pathCollection"
              examples:
                pathCollection:
                  $ref: "#/components/examples/pathCollection"
                path:
                  $ref: "#/components/examples/path"
        "400":
          description: The request is malformed or contains invalid parameter values; or the search had to be cancelled because the number of new vertices exceeded the expansion limit.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /relatedObjects:
    post:
      tags:
        - Network
      summary: Find paths between the start and end objects up to a specified number of hops in length
      description: Performs a path search between the start and end objects. Matching paths are returned as a list of endpoints ordered from leaf vertex to root vertex. The leaf vertex typically represents the primary object of interest, while the remaining vertices provide contextual information. The response item media type is application/vnd.sas.sand.path.
      operationId: relatedObjectsSearch
      parameters:
        - name: start
          description: The index of the first path to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of paths to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
        - name: edgeExpansionLimit
          description: The maximum number of new vertices to be found when traversing edges. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 10000
        - name: expansionLimit
          description: The maximum number of new vertices to be found when searching vertices. If a value greater than 0 is specified and the number of new vertices found by the search exceeds the limit, then the search is cancelled and a message is returned.
          in: query
          required: false
          schema:
            type: integer
            default: 2000
      requestBody:
        content:
          application/vnd.sas.sand.related.objects.request+json:
            schema:
              $ref: "#/components/schemas/relatedObjectsRequest"
            examples:
              relatedObjectsRequest:
                $ref: "#/components/examples/relatedObjectsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
          application/json:
            schema:
              $ref: "#/components/schemas/relatedObjectsRequest"
            examples:
              relatedObjectsRequest:
                $ref: "#/components/examples/relatedObjectsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
              filterTypeAnd:
                $ref: "#/components/examples/filterTypeAnd"
              filterTypeBox:
                $ref: "#/components/examples/filterTypeBox"
              filterTypeDateRange:
                $ref: "#/components/examples/filterTypeDateRange"
              filterTypeNot:
                $ref: "#/components/examples/filterTypeNot"
              filterTypeOr:
                $ref: "#/components/examples/filterTypeOr"
              filterTypePolygon:
                $ref: "#/components/examples/filterTypePolygon"
              filterTypeQuery:
                $ref: "#/components/examples/filterTypeQuery"
              filterTypeRadius:
                $ref: "#/components/examples/filterTypeRadius"
              filterTypeRange:
                $ref: "#/components/examples/filterTypeRange"
              filterTypeShape:
                $ref: "#/components/examples/filterTypeShape"
              filterTypeShapePreconfigured:
                $ref: "#/components/examples/filterTypeShapePreconfigured"
              filterTypeTerms:
                $ref: "#/components/examples/filterTypeTerms"
              filterTypeType:
                $ref: "#/components/examples/filterTypeType"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/pathCollection"
              examples:
                pathCollection:
                  $ref: "#/components/examples/pathCollection"
                path:
                  $ref: "#/components/examples/path"
            application/json:
              schema:
                $ref: "#/components/schemas/pathCollection"
              examples:
                pathCollection:
                  $ref: "#/components/examples/pathCollection"
                path:
                  $ref: "#/components/examples/path"
        "400":
          description: The request is malformed or contains invalid parameter values; or the search had to be cancelled because the number of new vertices exceeded the expansion limit.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /analytics:
    post:
      tags:
        - Text Analytics
      summary: Start a new text analytics job
      description: Starts a new background job that performs text analytics on the unstructured text in the objects found by the search. The job extracts significant terms, phrases, and topics as well as resolving named person, location, and organization entities. The response includes the unique identifier to be used with the related API endpoints to navigate the results.
      operationId: startTextAnalytics
      requestBody:
        content:
          application/vnd.sas.sand.analytics.request+json:
            schema:
              $ref: "#/components/schemas/analyticsRequest"
            examples:
              analyticsRequest:
                $ref: "#/components/examples/analyticsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
          application/json:
            schema:
              $ref: "#/components/schemas/analyticsRequest"
            examples:
              analyticsRequest:
                $ref: "#/components/examples/analyticsRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
      responses:
        "202":
          description: The job was started.
          headers:
            Location:
              description: The URI of the new text analytics job.
              schema:
                type: string
          content:
            application/vnd.sas.sand.analytics.job+json:
              schema:
                $ref: "#/components/schemas/analyticsJob"
              examples:
                analyticsJob:
                  $ref: "#/components/examples/analyticsJob"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsJob"
              examples:
                analyticsJob:
                  $ref: "#/components/examples/analyticsJob"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /analytics/locales:
    get:
      tags:
        - Text Analytics
      summary: Get the locales supported by text analytics
      description: Returns the name and BCP-47 language tag for each locale supported by text analytics.
      operationId: getAnalyticsLocales
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/analyticsLocaleCollection"
              examples:
                analyticsLocaleCollection:
                  $ref: "#/components/examples/analyticsLocaleCollection"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsLocaleCollection"
              examples:
                analyticsLocaleCollection:
                  $ref: "#/components/examples/analyticsLocaleCollection"
    head:
      tags:
        - Text Analytics
      summary: Get the headers for the locales supported by text analytics
      description: Returns the headers for the locales supported by text analytics.
      operationId: headersForAnalyticsLocales
      responses:
        "200":
          description: The request succeeded.
  "/analytics/{jobId}":
    get:
      tags:
        - Text Analytics
      summary: Get the details of a text analytics job
      description: Returns the state and parameters of a given text analytics job.
      operationId: getAnalyticsJob
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.analytics.job+json:
              schema:
                $ref: "#/components/schemas/analyticsJob"
              examples:
                analyticsJob:
                  $ref: "#/components/examples/analyticsJob"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsJob"
              examples:
                analyticsJob:
                  $ref: "#/components/examples/analyticsJob"
        "404":
          description: There is no job for the given identifier.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Text Analytics
      summary: Get the headers for a text analytics job
      description: Returns the headers for a given text analytics job.
      operationId: headersForAnalyticsJob
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
        "404":
          description: There is no job for the given identifier.
    delete:
      tags:
        - Text Analytics
      summary: Delete a text analytics job
      description: Deletes a text analytics job before the user's session ends. Although jobs are automatically deleted when the session ends, this endpoint allows early deletion and canceling the job before deletion is not required.
      operationId: deleteAnalyticsJob
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The request succeeded.
  "/analytics/{jobId}/state":
    get:
      tags:
        - Text Analytics
      summary: Get the state of a text analytics job
      description: "Returns the current state of a given text analytics job. The valid states are: `pending`, `running`, `completed`, `completedWithErrors`, `cancelled`, `failed`."
      operationId: getAnalyticsJobState
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            text/plain:
              schema:
                type: string
              example: running
        "404":
          description: There is no job for the given identifier.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Text Analytics
      summary: Get the headers for the get state operation
      description: Returns the headers for the get state operation.
      operationId: headersForAnalyticsJobState
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
        "404":
          description: There is no job for the given identifier.
    put:
      tags:
        - Text Analytics
      summary: Cancel a text analytics job
      description: Cancels the specified text analytics job and returns the new job state.
      operationId: updateAnalyticsJobState
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
        - name: value
          description: The new job state. The expected value is `cancelled`.
          in: query
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            text/plain:
              schema:
                type: string
              example: cancelled
        "400":
          description: The request was invalid when attempting to update the state to a value other than `cancelled`.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: There is no job for the given identifier.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
        "409":
          description: The job has already finished and cannot be cancelled.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
  "/analytics/{jobId}/identities":
    get:
      tags:
        - Text Analytics
      summary: Get the identities found by a text analytics job
      description: Returns the identity information for the person, organization, and location entities that were resolved by the text analytics job. Identities consist of an entity name, frequency count, and any known aliases.
      operationId: getAnalyticsIdentities
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.analytics.identities+json:
              schema:
                $ref: "#/components/schemas/analyticsIdentities"
              examples:
                analyticsIdentities:
                  $ref: "#/components/examples/analyticsIdentities"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsIdentities"
              examples:
                analyticsIdentities:
                  $ref: "#/components/examples/analyticsIdentities"
        "202":
          description: The text analytics results are not available yet. For example, the job is still running.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
        "206":
          description: The job did not complete successfully but there are some text analytics results.
          content:
            application/vnd.sas.sand.analytics.identities+json:
              schema:
                $ref: "#/components/schemas/analyticsIdentities"
              examples:
                analyticsIdentities:
                  $ref: "#/components/examples/analyticsIdentities"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsIdentities"
              examples:
                analyticsIdentities:
                  $ref: "#/components/examples/analyticsIdentities"
        "404":
          description: There is no job for the given identifier.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Text Analytics
      summary: Get the headers for the get identities operation
      description: Returns the headers for the get identities operation.
      operationId: headersForAnalyticsIdentities
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
        "202":
          description: The text analytics results are not available yet. For example, the job is still running.
        "206":
          description: The job did not complete successfully but there are some text analytics results.
        "404":
          description: There is no job for the given identifier.
  "/analytics/{jobId}/categories":
    post:
      tags:
        - Text Analytics
      summary: Get the categories of text analytics results
      description: Returns the categories of text analytics results that are available at the specified exploration level.
      operationId: getAnalyticsCategories
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.sand.analytics.explore+json:
            schema:
              $ref: "#/components/schemas/analyticsExplore"
            examples:
              analyticsExploreTopLevelCategories:
                $ref: "#/components/examples/analyticsExploreTopLevelCategories"
              analyticsExploreNestedCategories:
                $ref: "#/components/examples/analyticsExploreNestedCategories"
              analyticsExploreNextLevelCategories:
                $ref: "#/components/examples/analyticsExploreNextLevelCategories"
          application/json:
            schema:
              $ref: "#/components/schemas/analyticsExplore"
            examples:
              analyticsExploreTopLevelCategories:
                $ref: "#/components/examples/analyticsExploreTopLevelCategories"
              analyticsExploreNestedCategories:
                $ref: "#/components/examples/analyticsExploreNestedCategories"
              analyticsExploreNextLevelCategories:
                $ref: "#/components/examples/analyticsExploreNextLevelCategories"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.analytics.categories+json:
              schema:
                $ref: "#/components/schemas/analyticsCategories"
              examples:
                analyticsCategoriesTopLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesTopLevelCategories"
                analyticsCategoriesNestedCategories:
                  $ref: "#/components/examples/analyticsCategoriesNestedCategories"
                analyticsCategoriesNextLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesNextLevelCategories"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsCategories"
              examples:
                analyticsCategoriesTopLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesTopLevelCategories"
                analyticsCategoriesNestedCategories:
                  $ref: "#/components/examples/analyticsCategoriesNestedCategories"
                analyticsCategoriesNextLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesNextLevelCategories"
        "202":
          description: The text analytics results are not available yet. For example, the job is still running.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
        "206":
          description: The job did not complete successfully but there are some text analytics results.
          content:
            application/vnd.sas.sand.analytics.categories+json:
              schema:
                $ref: "#/components/schemas/analyticsCategories"
              examples:
                analyticsCategoriesTopLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesTopLevelCategories"
                analyticsCategoriesNestedCategories:
                  $ref: "#/components/examples/analyticsCategoriesNestedCategories"
                analyticsCategoriesNextLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesNextLevelCategories"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsCategories"
              examples:
                analyticsCategoriesTopLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesTopLevelCategories"
                analyticsCategoriesNestedCategories:
                  $ref: "#/components/examples/analyticsCategoriesNestedCategories"
                analyticsCategoriesNextLevelCategories:
                  $ref: "#/components/examples/analyticsCategoriesNextLevelCategories"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: There is no job for the given identifier or there are no results at the specified exploration level.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  "/analytics/{jobId}/results":
    post:
      tags:
        - Text Analytics
      summary: Get the text analytics results
      description: Returns the text analytics results that are available at the specified exploration level.
      operationId: getAnalyticsResults
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.sand.analytics.explore+json:
            schema:
              $ref: "#/components/schemas/analyticsExplore"
            examples:
              analyticsExploreTopLevelResults:
                $ref: "#/components/examples/analyticsExploreTopLevelResults"
              analyticsExploreNestedResults:
                $ref: "#/components/examples/analyticsExploreNestedResults"
              analyticsExploreNextLevelResults:
                $ref: "#/components/examples/analyticsExploreNextLevelResults"
          application/json:
            schema:
              $ref: "#/components/schemas/analyticsExplore"
            examples:
              analyticsExploreTopLevelResults:
                $ref: "#/components/examples/analyticsExploreTopLevelResults"
              analyticsExploreNestedResults:
                $ref: "#/components/examples/analyticsExploreNestedResults"
              analyticsExploreNextLevelResults:
                $ref: "#/components/examples/analyticsExploreNextLevelResults"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.analytics.results+json:
              schema:
                $ref: "#/components/schemas/analyticsResults"
              examples:
                analyticsResultsTopLevelResults:
                  $ref: "#/components/examples/analyticsResultsTopLevelResults"
                analyticsResultsNestedResults:
                  $ref: "#/components/examples/analyticsResultsNestedResults"
                analyticsResultsNextLevelResults:
                  $ref: "#/components/examples/analyticsResultsNextLevelResults"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsResults"
              examples:
                analyticsResultsTopLevelResults:
                  $ref: "#/components/examples/analyticsResultsTopLevelResults"
                analyticsResultsNestedResults:
                  $ref: "#/components/examples/analyticsResultsNestedResults"
                analyticsResultsNextLevelResults:
                  $ref: "#/components/examples/analyticsResultsNextLevelResults"
        "202":
          description: The text analytics results are not available yet. For example, the job is still running.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: There is no job for the given identifier or there are no results at the specified exploration level.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  "/analytics/{jobId}/sankeyDiagrams":
    post:
      tags:
        - Text Analytics
      summary: Generate text analytics Sankey diagram
      description: "Retrieves related text analytics results as a Sankey diagram. There are two types of Sankey diagram: 1) based on the pairs of values extracted from the `from` and `to` fields where nodes represent field values and links represent the objects containing the field values. 2) based on two categories of results where nodes represent the results of each category and links represent the objects containing results of both categories."
      operationId: createAnalyticsSankeyDiagram
      parameters:
        - name: jobId
          description: The unique identifier of the text analytics job.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.sand.analytics.sankey.diagram.request+json:
            schema:
              $ref: "#/components/schemas/analyticsSankeyDiagramRequest"
            examples:
              analyticsSankeyDiagramRequest1:
                $ref: "#/components/examples/analyticsSankeyDiagramRequest1"
              analyticsSankeyDiagramRequest2:
                $ref: "#/components/examples/analyticsSankeyDiagramRequest2"
          application/json:
            schema:
              $ref: "#/components/schemas/analyticsSankeyDiagramRequest"
            examples:
              analyticsSankeyDiagramRequest1:
                $ref: "#/components/examples/analyticsSankeyDiagramRequest1"
              analyticsSankeyDiagramRequest2:
                $ref: "#/components/examples/analyticsSankeyDiagramRequest2"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.analytics.sankey.diagram+json:
              schema:
                $ref: "#/components/schemas/analyticsSankeyDiagram"
              examples:
                analyticsSankeyDiagram1:
                  $ref: "#/components/examples/analyticsSankeyDiagram1"
                analyticsSankeyDiagram2:
                  $ref: "#/components/examples/analyticsSankeyDiagram2"
            application/json:
              schema:
                $ref: "#/components/schemas/analyticsSankeyDiagram"
              examples:
                analyticsSankeyDiagram1:
                  $ref: "#/components/examples/analyticsSankeyDiagram1"
                analyticsSankeyDiagram2:
                  $ref: "#/components/examples/analyticsSankeyDiagram2"
        "202":
          description: The text analytics results are not available yet. For example, the job is still running.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response202"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: There is no job for the given identifier or there are no results at the specified exploration level.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  /admin/config:
    get:
      tags:
        - Configuration
      summary: Export configuration
      description: Returns the configuration for all of the types. This is intended to be used for moving the configuration between systems and as such, there are no version numbers in the response.
      operationId: exportConfiguration
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.config+json:
              schema:
                $ref: "#/components/schemas/configuration"
              examples:
                configuration:
                  $ref: "#/components/examples/configuration"
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
            application/json:
              schema:
                $ref: "#/components/schemas/configuration"
              examples:
                configuration:
                  $ref: "#/components/examples/configuration"
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
    head:
      tags:
        - Configuration
      summary: Get the headers for the export configuration operation
      description: Returns the headers for the export configuration operation.
      operationId: headersForConfiguration
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Configuration
      summary: Import configuration
      description: Imports the configuration for multiple types. This is designed for transferring configurations between systems; therefore, the request does not include version numbers, and any existing configuration are overwritten. If the new configuration contains breaking changes, such as the field type or events configuration has changed, the changes are saved but also require the data to be re-indexed to take effect. A localized message is included in the response if this is the case. The /admin/indices resource can be used to re-index the data.
      operationId: importConfiguration
      parameters:
        - name: validateOnly
          description: Whether to validate the configuration and check for breaking changes without importing it.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: waitForRefresh
          description: Whether to wait for any index-related operations to be applied prior to the response being returned.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          application/vnd.sas.sand.config+json:
            schema:
              $ref: "#/components/schemas/configuration"
            examples:
              configuration:
                $ref: "#/components/examples/configuration"
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
          application/json:
            schema:
              $ref: "#/components/schemas/configuration"
            examples:
              configuration:
                $ref: "#/components/examples/configuration"
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
      responses:
        "200":
          description: The request succeeded.
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
    delete:
      tags:
        - Configuration
      summary: Delete configuration
      description: Deletes the configuration and indexed data for all types. This operation cannot be undone without first exporting the configuration and making a backup of the indexed data directly from the underlying search engine.
      operationId: deleteConfiguration
      parameters:
        - name: recreateSystemTypes
          description: Whether to recreate the system types after deleting all the configuration and indexed data. Set this parameter to false to permanently delete the configuration and indexed data. For example, use false when destroying a tenant rather than off-boarding one
          in: query
          required: false
          schema:
            type: boolean
            default: true
      responses:
        "204":
          description: The request succeeded.
  /admin/config/analyzers:
    get:
      tags:
        - Configuration
      summary: Get all of the supported analyzers
      description: Returns the details of all of the custom and system analyzers.
      operationId: getAnalyzers
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/analyzerCollection"
              examples:
                analyzerCollection:
                  $ref: "#/components/examples/analyzerCollection"
                analyzer:
                  $ref: "#/components/examples/analyzer"
            application/json:
              schema:
                $ref: "#/components/schemas/analyzerCollection"
              examples:
                analyzerCollection:
                  $ref: "#/components/examples/analyzerCollection"
                analyzer:
                  $ref: "#/components/examples/analyzer"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get analyzers operation
      description: Returns the headers for the get analyzers operation.
      operationId: headersForAnalyzers
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Configuration
      summary: Register a new custom analyzer
      description: Registers the name and display name of a custom analyzer. The request is rejected if an analyzer already exists with the same name.
      operationId: createAnalyzer
      requestBody:
        content:
          application/vnd.sas.sand.analyzer+json:
            schema:
              $ref: "#/components/schemas/analyzer"
            examples:
              analyzerRequest:
                $ref: "#/components/examples/analyzerRequest"
          application/json:
            schema:
              $ref: "#/components/schemas/analyzer"
            examples:
              analyzerRequest:
                $ref: "#/components/examples/analyzerRequest"
      responses:
        "201":
          description: The request succeeded.
          headers:
            Location:
              description: The URI of the new analyzer.
              schema:
                type: string
            ETag:
              description: The version number of the new analyzer.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.analyzer+json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
            application/json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "409":
          description: An analyzer already exists with the given name.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
    delete:
      tags:
        - Configuration
      summary: Unregister all of the custom analyzers
      description: Unregisters all of the custom analyzers. System analyzers cannot be unregistered.
      operationId: deleteAnalyzers
      responses:
        "204":
          description: The request succeeded.
  "/admin/config/analyzers/{analyzer}":
    get:
      tags:
        - Configuration
      summary: Get a supported analyzer
      description: Returns the details of a custom or system analyzer.
      operationId: getAnalyzer
      parameters:
        - name: analyzer
          description: The name of the analyzer.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The version number of the analyzer.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.analyzer+json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
            application/json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
        "404":
          description: The analyzer does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get analyzer operation
      description: Returns the headers for the get analyzer operation.
      operationId: headersForAnalyzer
      parameters:
        - name: analyzer
          description: The name of the analyzer.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The version number of the analyzer.
              schema:
                type: integer
        "404":
          description: The analyzer does not exist.
    put:
      tags:
        - Configuration
      summary: Update the display name of a custom analyzer
      description: Updates the display name of a custom analyzer. System analyzers cannot be updated.
      operationId: updateAnalyzer
      parameters:
        - name: analyzer
          description: The name of the analyzer.
          in: path
          required: true
          schema:
            type: string
        - name: If-Match
          description: Specifies the version number of the analyzer that is to be edited.
          in: header
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/vnd.sas.sand.analyzer+json:
            schema:
              $ref: "#/components/schemas/analyzer"
            examples:
              analyzerRequest:
                $ref: "#/components/examples/analyzerRequest"
          application/json:
            schema:
              $ref: "#/components/schemas/analyzer"
            examples:
              analyzerRequest:
                $ref: "#/components/examples/analyzerRequest"
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The up-to-date version number of the analyzer.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.analyzer+json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
            application/json:
              schema:
                $ref: "#/components/schemas/analyzer"
              examples:
                analyzer:
                  $ref: "#/components/examples/analyzer"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: The analyzer does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
        "412":
          description: The request refers to an out-of-date version of the analyzer.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
        "428":
          description: The request is missing the If-Match header.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
    delete:
      tags:
        - Configuration
      summary: Unregister a custom analyzer
      description: Unregisters the name and display name of a custom analyzer. System analyzers cannot be unregistered.
      operationId: deleteAnalyzer
      parameters:
        - name: analyzer
          description: The name of the analyzer.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The request succeeded.
  /admin/config/shapes:
    get:
      tags:
        - Configuration
      summary: Get all of the GeoJSON shapes
      description: Returns the details of all of the reusable GeoJSON shapes.
      operationId: getShapes
      parameters:
        - name: start
          description: The index of the first GeoJSON shape to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of GeoJSON shapes to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 10
        - name: sortBy
          description: The criteria by which to sort the GeoJSON shapes.
          in: query
          required: false
          schema:
            type: string
        - name: filter
          description: The criteria by which to filter the GeoJSON shapes. The filter supports only the `contains` and `and` operators on the name and group properties.
          in: query
          required: false
          schema:
            type: string
        - name: fields
          description: A comma-separated list of the GeoJSON shape properties to include in the response.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/geoJsonShapeCollection"
              examples:
                geoJsonShapeCollection:
                  $ref: "#/components/examples/geoJsonShapeCollection"
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
            application/json:
              schema:
                $ref: "#/components/schemas/geoJsonShapeCollection"
              examples:
                geoJsonShapeCollection:
                  $ref: "#/components/examples/geoJsonShapeCollection"
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get shapes operation
      description: Returns the headers for the get shapes operation.
      operationId: headersForShapes
      parameters:
        - name: start
          description: The index of the first GeoJSON shape to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of GeoJSON shapes to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 10
        - name: sortBy
          description: The criteria by which to sort the GeoJSON shapes.
          in: query
          required: false
          schema:
            type: string
        - name: filter
          description: The criteria by which to filter the GeoJSON shapes. The filter supports only the `contains` and `and` operators on the name and group properties.
          in: query
          required: false
          schema:
            type: string
        - name: fields
          description: A comma-separated list of the GeoJSON shape properties to include in the response.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Configuration
      summary: Create a new GeoJSON shape
      description: Creates a new reusable GeoJSON shape. The request is rejected if a GeoJSON shape already exists with the same identifier.
      operationId: createShape
      requestBody:
        content:
          application/vnd.sas.sand.geo.shape+json:
            schema:
              $ref: "#/components/schemas/geoJsonShape"
            examples:
              geoJsonShape:
                $ref: "#/components/examples/geoJsonShape"
          application/json:
            schema:
              $ref: "#/components/schemas/geoJsonShape"
            examples:
              geoJsonShape:
                $ref: "#/components/examples/geoJsonShape"
      responses:
        "201":
          description: The request succeeded.
          headers:
            Location:
              description: The URI of the new GeoJSON shape.
              schema:
                type: string
            ETag:
              description: The version number of the new GeoJSON shape.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.geo.shape+json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
            application/json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "409":
          description: A GeoJSON shape already exists with the given identifier.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
    delete:
      tags:
        - Configuration
      summary: Delete all GeoJSON shapes
      description: Deletes all of the reusable GeoJSON shapes.
      operationId: deleteShapes
      responses:
        "204":
          description: The request succeeded.
  "/admin/config/shapes/{shapeId}":
    get:
      tags:
        - Configuration
      summary: Get a GeoJSON shape
      description: Returns the details of a GeoJSON shape.
      operationId: getShape
      parameters:
        - name: shapeId
          description: The identifier of the GeoJSON shape.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The version number of the GeoJSON shape.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.geo.shape+json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
            application/json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
        "404":
          description: The GeoJSON shape does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get GeoJSON shape operation
      description: Returns the headers for the get GeoJSON shape operation.
      operationId: headersForShape
      parameters:
        - name: shapeId
          description: The identifier of the GeoJSON shape.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The version number of the GeoJSON shape.
              schema:
                type: integer
        "404":
          description: The GeoJSON shape does not exist.
    put:
      tags:
        - Configuration
      summary: Update the details of a GeoJSON shape
      description: Updates the details of a GeoJSON shape.
      operationId: updateShape
      parameters:
        - name: shapeId
          description: The identifier of the GeoJSON shape.
          in: path
          required: true
          schema:
            type: string
        - name: If-Match
          description: Specifies the version number of the GeoJSON shape that is to be edited.
          in: header
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/vnd.sas.sand.geo.shape+json:
            schema:
              $ref: "#/components/schemas/geoJsonShape"
            examples:
              geoJsonShape:
                $ref: "#/components/examples/geoJsonShape"
          application/json:
            schema:
              $ref: "#/components/schemas/geoJsonShape"
            examples:
              geoJsonShape:
                $ref: "#/components/examples/geoJsonShape"
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The up-to-date version number of the GeoJSON shape.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.geo.shape+json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
            application/json:
              schema:
                $ref: "#/components/schemas/geoJsonShape"
              examples:
                geoJsonShape:
                  $ref: "#/components/examples/geoJsonShape"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: The GeoJSON shape does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
        "412":
          description: The request refers to an out-of-date version of the GeoJSON shape.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
        "428":
          description: The request is missing the If-Match header.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
    delete:
      tags:
        - Configuration
      summary: Deletes a GeoJSON shape
      description: Deletes the details of a GeoJSON shape.
      operationId: deleteShape
      parameters:
        - name: shapeId
          description: The identifier of the GeoJSON shape.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The request succeeded.
  /admin/config/synonyms:
    get:
      tags:
        - Configuration
      summary: Get the list of synonyms
      description: Returns the list of synonyms for synonym searching.
      operationId: getSynonyms
      parameters:
        - name: start
          description: The index of the first synonym to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of synonyms to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/synonymCollection"
              examples:
                synonymCollection:
                  $ref: "#/components/examples/synonymCollection"
                synonymContraction:
                  $ref: "#/components/examples/synonymContraction"
                synonymExpansion:
                  $ref: "#/components/examples/synonymExpansion"
            application/json:
              schema:
                $ref: "#/components/schemas/synonymCollection"
              examples:
                synonymCollection:
                  $ref: "#/components/examples/synonymCollection"
                synonymContraction:
                  $ref: "#/components/examples/synonymContraction"
                synonymExpansion:
                  $ref: "#/components/examples/synonymExpansion"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get synonyms operation
      description: Returns the headers for the get synonyms operation.
      operationId: headersForSynonyms
      parameters:
        - name: start
          description: The index of the first synonym to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of synonyms to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Configuration
      summary: Create the list of synonyms
      description: Creates the list of synonyms for synonym searching. If there is an existing list, it is overwritten.
      operationId: createSynonyms
      requestBody:
        content:
          application/vnd.sas.collection+json:
            schema:
              $ref: "#/components/schemas/synonymCollection"
            examples:
              synonymCollection:
                $ref: "#/components/examples/synonymCollection"
              synonymContraction:
                $ref: "#/components/examples/synonymContraction"
              synonymExpansion:
                $ref: "#/components/examples/synonymExpansion"
          application/json:
            schema:
              $ref: "#/components/schemas/synonymCollection"
            examples:
              synonymCollection:
                $ref: "#/components/examples/synonymCollection"
              synonymContraction:
                $ref: "#/components/examples/synonymContraction"
              synonymExpansion:
                $ref: "#/components/examples/synonymExpansion"
      responses:
        "201":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/synonymCollection"
              examples:
                synonymCollection:
                  $ref: "#/components/examples/synonymCollection"
                synonymContraction:
                  $ref: "#/components/examples/synonymContraction"
                synonymExpansion:
                  $ref: "#/components/examples/synonymExpansion"
            application/json:
              schema:
                $ref: "#/components/schemas/synonymCollection"
              examples:
                synonymCollection:
                  $ref: "#/components/examples/synonymCollection"
                synonymContraction:
                  $ref: "#/components/examples/synonymContraction"
                synonymExpansion:
                  $ref: "#/components/examples/synonymExpansion"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
    delete:
      tags:
        - Configuration
      summary: Delete the list of synonyms
      description: Deletes the list of synonyms for synonym searching.
      operationId: deleteSynonyms
      responses:
        "204":
          description: The request succeeded.
  /admin/config/types:
    get:
      tags:
        - Configuration
      summary: Get the configuration for all object and relationship types
      description: Returns the configuration for all of the object and relationship types.
      operationId: getTypes
      parameters:
        - name: start
          description: The index of the first type to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of types to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
        - name: namesOnly
          description: Whether to return the names of the types rather than their configuration.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/typeCollection"
              examples:
                typeCollection:
                  $ref: "#/components/examples/typeCollection"
                typeCollectionNamesOnly:
                  $ref: "#/components/examples/typeCollectionNamesOnly"
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
            application/json:
              schema:
                $ref: "#/components/schemas/typeCollection"
              examples:
                typeCollection:
                  $ref: "#/components/examples/typeCollection"
                typeCollectionNamesOnly:
                  $ref: "#/components/examples/typeCollectionNamesOnly"
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
    head:
      tags:
        - Configuration
      summary: Get the headers for the get all object and relationship types operation
      description: Returns the headers for the get all object and relationship types operation.
      operationId: headersForTypes
      parameters:
        - name: start
          description: The index of the first type to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of types to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
        - name: namesOnly
          description: Whether to return the names of the types rather than their configuration.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Configuration
      summary: Create a new object or relationship type
      description: Configures a new object or relationship type. The request is rejected if a type already exists with the same name.
      operationId: createType
      parameters:
        - name: validateOnly
          description: Whether to validate the configuration without saving it.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          application/vnd.sas.sand.type+json:
            schema:
              $ref: "#/components/schemas/type"
            examples:
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
          application/json:
            schema:
              $ref: "#/components/schemas/type"
            examples:
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
      responses:
        "201":
          description: The request succeeded.
          headers:
            Location:
              description: The URI of the new type.
              schema:
                type: string
            ETag:
              description: The version number of the new type.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.type+json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
            application/json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "409":
          description: A type already exists with the given name.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response409"
  "/admin/config/types/{type}":
    get:
      tags:
        - Configuration
      summary: Get the configuration for a single object or relationship type
      description: Returns the configuration (including the current version number) for the specified object or relationship type.
      operationId: getType
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The up-to-date version number of the type.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.type+json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
            application/json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
        "404":
          description: The type does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Configuration
      summary: Check the existence of an object or relationship type
      description: Checks the existence of the specified object or relationship type. 200 OK means that the type exists; 404 Not Found means that the type does not exist.
      operationId: headersForType
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The up-to-date version number of the type.
              schema:
                type: integer
        "404":
          description: The type does not exist.
    put:
      tags:
        - Configuration
      summary: Update the configuration for a single object or relationship type
      description: Updates the configuration for the specified object or relationship type. The request is rejected unless the specified version number matches the current version. This is to ensure the latest version of the configuration is being edited and not an out-of-date version. If the new configuration contains breaking changes, such as the field type or events configuration has changed, the changes are saved, but also require the data to be re-indexed to take effect. A localized message is included in the response if this is the case. The /admin/indices resource can be used to re-index the data.
      operationId: updateType
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
        - name: validateOnly
          description: Whether to validate the configuration and check for breaking changes without importing it.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: waitForRefresh
          description: Whether to wait for any index-related operations to be applied prior to the response being returned.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: If-Match
          description: Specifies the version number of the type that is to be edited.
          in: header
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/vnd.sas.sand.type+json:
            schema:
              $ref: "#/components/schemas/type"
            examples:
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
          application/json:
            schema:
              $ref: "#/components/schemas/type"
            examples:
              type:
                $ref: "#/components/examples/type"
              typeConfigurationEventIntervalGeoJson:
                $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
              typeConfigurationEventLatLon:
                $ref: "#/components/examples/typeConfigurationEventLatLon"
              typeConfigurationEventPaths:
                $ref: "#/components/examples/typeConfigurationEventPaths"
              typeConfigurationEventPointTimestamp:
                $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
              typeConfigurationFacetDateRange:
                $ref: "#/components/examples/typeConfigurationFacetDateRange"
              typeConfigurationFacetNumericalRange:
                $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
              typeConfigurationFacetTerms:
                $ref: "#/components/examples/typeConfigurationFacetTerms"
              typeConfigurationFacetType:
                $ref: "#/components/examples/typeConfigurationFacetType"
              typeConfigurationGraph:
                $ref: "#/components/examples/typeConfigurationGraph"
              typeConfigurationLabel:
                $ref: "#/components/examples/typeConfigurationLabel"
              typeConfigurationSummary:
                $ref: "#/components/examples/typeConfigurationSummary"
              typeConfigurationTable:
                $ref: "#/components/examples/typeConfigurationTable"
              typeConfigurationTextAnalytics:
                $ref: "#/components/examples/typeConfigurationTextAnalytics"
      responses:
        "200":
          description: The request succeeded.
          headers:
            ETag:
              description: The up-to-date version number of the type.
              schema:
                type: integer
          content:
            application/vnd.sas.sand.type+json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
            application/json:
              schema:
                $ref: "#/components/schemas/type"
              examples:
                type:
                  $ref: "#/components/examples/type"
                typeConfigurationEventIntervalGeoJson:
                  $ref: "#/components/examples/typeConfigurationEventIntervalGeoJson"
                typeConfigurationEventLatLon:
                  $ref: "#/components/examples/typeConfigurationEventLatLon"
                typeConfigurationEventPaths:
                  $ref: "#/components/examples/typeConfigurationEventPaths"
                typeConfigurationEventPointTimestamp:
                  $ref: "#/components/examples/typeConfigurationEventPointTimestamp"
                typeConfigurationFacetDateRange:
                  $ref: "#/components/examples/typeConfigurationFacetDateRange"
                typeConfigurationFacetNumericalRange:
                  $ref: "#/components/examples/typeConfigurationFacetNumericalRange"
                typeConfigurationFacetTerms:
                  $ref: "#/components/examples/typeConfigurationFacetTerms"
                typeConfigurationFacetType:
                  $ref: "#/components/examples/typeConfigurationFacetType"
                typeConfigurationGraph:
                  $ref: "#/components/examples/typeConfigurationGraph"
                typeConfigurationLabel:
                  $ref: "#/components/examples/typeConfigurationLabel"
                typeConfigurationSummary:
                  $ref: "#/components/examples/typeConfigurationSummary"
                typeConfigurationTable:
                  $ref: "#/components/examples/typeConfigurationTable"
                typeConfigurationTextAnalytics:
                  $ref: "#/components/examples/typeConfigurationTextAnalytics"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: The type does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
        "412":
          description: The request refers to an out-of-date version of the configuration.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response412"
        "428":
          description: The request is missing the If-Match header.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response428"
    delete:
      tags:
        - Configuration
      summary: Delete the configuration for a single object or relationship type
      description: Deletes the configuration and indexed data for the specified object or relationship type. This operation cannot be undone without first exporting the configuration and making a backup of the indexed data directly from the underlying search engine.
      operationId: deleteType
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
      responses:
        "204":
          description: The request succeeded.
  /admin/data:
    delete:
      tags:
        - Data
      summary: Delete by query
      description: Deletes all of the indexed objects and relationships matching the given query. If no request body is provided, then all of the indexed objects and relationships are deleted. This operation cannot be undone without first making a backup of the indexed data directly from the underlying search engine.
      operationId: deleteByQuery
      parameters:
        - name: preserveNewestIndexName
          description: Whether to preserve and reuse the name of the newest index for each type when creating the next searchable index. Creating new unsearchable indexes, or deleting indexes without this option, causes the new indexes to have new unique names. Preserving the newest index name is useful when maintaining a read-only standby deployment for Disaster Avoidance as it allows the data to be re-indexed without changing the index name. For example, this is beneficial when applying a breaking configuration change from the active deployment.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: excludeCategoryAliases
          description: Whether type category aliases should be excluded from the search. In particular, this should be set to true when the intention is to delete system relationships without deleting custom relationships as they both share the same type category alias.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: waitForRefresh
          description: Whether to wait for any index-related operations to be applied prior to the response being returned.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          application/vnd.sas.sand.query.request+json:
            schema:
              $ref: "#/components/schemas/queryRequest"
            examples:
              queryRequest:
                $ref: "#/components/examples/queryRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
          application/json:
            schema:
              $ref: "#/components/schemas/queryRequest"
            examples:
              queryRequest:
                $ref: "#/components/examples/queryRequest"
              queryTypeAnd:
                $ref: "#/components/examples/queryTypeAnd"
              queryTypeCompound:
                $ref: "#/components/examples/queryTypeCompound"
              queryTypeObject:
                $ref: "#/components/examples/queryTypeObject"
              queryTypeOr:
                $ref: "#/components/examples/queryTypeOr"
              queryTypeText:
                $ref: "#/components/examples/queryTypeText"
      responses:
        "204":
          description: The request succeeded.
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  "/admin/data/{type}/relationships":
    delete:
      tags:
        - Data
      summary: Delete relationships for an object or transaction type
      description: Deletes all relationships relating to the object or transaction type. This does not apply to relationships involving resolved entities. This operation cannot be undone without first making a backup of the indexed data directly from the underlying search engine.
      operationId: deleteRelationshipsInvolvingType
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
        - name: waitForRefresh
          description: Whether to wait for any index-related operations to be applied prior to the response being returned.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        "204":
          description: The request succeeded.
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
  /admin/indices:
    post:
      tags:
        - Index
      summary: Create indices for all types
      description: Ensures that an index exists for each configured type when the searchable query parameter is set to true, otherwise creates new unsearchable indices for each configured type. This is especially required when re-indexing data from a source database (see example [Use Case Five](#Use-Case-Five)). No errors are reported if the indices already exist. Returns the name of the newest index for each type.
      operationId: createIndices
      parameters:
        - name: start
          description: The index of the first index name to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of index names to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 20
        - name: searchable
          description: Whether to create searchable as opposed to unsearchable indices.
          in: query
          required: false
          schema:
            type: boolean
            default: true
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/indexCollection"
              example:
                $ref: "#/components/examples/indexCollection"
            application/json:
              schema:
                $ref: "#/components/schemas/indexCollection"
              example:
                $ref: "#/components/examples/indexCollection"
    delete:
      tags:
        - Index
      summary: Delete the indices for all types
      description: Deletes the indexes (and therefore indexed data) for all of the configured types. This operation cannot be undone without first making a backup of the indexed data directly from the underlying search engine. No errors are reported when indexes have already been deleted. If the intention is to reload the data after deleting all the indexes, one will need to make a POST request to /admin/indices to create empty indexes for all of the configured types prior to reloading the data.
      operationId: deleteIndices
      parameters:
        - name: preserveNewestIndexName
          description: Whether to preserve and reuse the name of the newest index for each type when creating the next searchable index. Creating new unsearchable indexes, or deleting indexes without this option, causes the new indexes to have new unique names. Preserving the newest index name is useful when maintaining a read-only standby deployment for Disaster Avoidance as it allows the data to be re-indexed without changing the index name. For example, this is beneficial when applying a breaking configuration change from the active deployment.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        "204":
          description: The request succeeded.
  "/admin/indices/{type}":
    get:
      tags:
        - Index
      summary: Get the index name for a single type
      description: Returns the name of the index for the specified type. SAND is responsible for managing the underlying indexes but to index large amounts of data, it might be appropriate for other services to send the data straight to the underlying search engine. This resource provides access to the index name for such a case.
      operationId: getIndexName
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.index+json:
              schema:
                $ref: "#/components/schemas/index"
              examples:
                index:
                  $ref: "#/components/examples/index"
            application/json:
              schema:
                $ref: "#/components/schemas/index"
              examples:
                index:
                  $ref: "#/components/examples/index"
        "404":
          description: The type does not exist or it is not configured to be indexed for search.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Index
      summary: Check the existence of an index for a single type
      description: Checks the existence of an index for the specified type. 200 OK means that an index exists; 404 Not Found means there is no index.
      operationId: headersForIndexName
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
        "404":
          description: The type does not exist or it is not configured to be indexed for search.
    post:
      tags:
        - Index
      summary: Create an index for a single type
      description: Ensures that an index exists for the specified type when the searchable query parameter is set to true, otherwise creates a new unsearchable index. This is especially required when re-indexing data from a source database (see example [Use Case Five](#Use-Case-Five)). No errors are reported if the index already exists. Returns the name of the newest index for the specified type.
      operationId: createIndex
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
        - name: searchable
          description: Whether to create a searchable as opposed to an unsearchable index.
          in: query
          required: false
          schema:
            type: boolean
            default: true
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.index+json:
              schema:
                $ref: "#/components/schemas/index"
              examples:
                index:
                  $ref: "#/components/examples/index"
            application/json:
              schema:
                $ref: "#/components/schemas/index"
              examples:
                index:
                  $ref: "#/components/examples/index"
        "404":
          description: The type does not exist or it is not configured to be indexed for search.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    delete:
      tags:
        - Index
      summary: Delete the indices for a single type
      description: Deletes the index (and therefore indexed data) for a specified type. This operation cannot be undone without first making a backup of the indexed data directly from the underlying search engine. No error is reported when the index has already been deleted. If the intention is to reload the data after deleting the index, the `recreate` parameter should be set to true otherwise a POST request to /admin/indices/{type} will be required to create an empty index prior to reloading the data.
      operationId: deleteIndex
      parameters:
        - name: type
          description: The name of the type.
          in: path
          required: true
          schema:
            type: string
        - name: preserveNewestIndexName
          description: Whether to preserve and reuse the name of the newest index when creating the next searchable index. Creating a new unsearchable index, or deleting an index without this option, causes the new index to have a new unique name. Preserving the newest index name is useful when maintaining a read-only standby deployment for Disaster Avoidance as it allows the data to be re-indexed without changing the name. For example, this is beneficial when applying a breaking configuration change from the active deployment.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: unsearchableOnly
          description: Whether to delete only the unsearchable indices. This is useful for cleaning up after a failed indexing attempt.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: recreate
          description: Whether to create a new empty index for the type after deleting the current one.
          in: query
          required: false
          schema:
            type: boolean
            default: false
        - name: waitForRefresh
          description: Whether to wait for any index-related operations to be applied prior to the response being returned.
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        "204":
          description: The request succeeded.
        "404":
          description: The type does not exist or it is not configured to be indexed for search.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  /admin/indices/version:
    get:
      tags:
        - Configuration
      summary: Gets the index format version
      description: Returns the index format version that this service supports
      operationId: getIndexFormatVersion
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.index.format.upgrade.response+json:
              schema:
                $ref: "#/components/schemas/indexFormatUpgradeResponse"
              examples:
                api:
                  $ref: "#/components/examples/indexFormatUpgradeResponse"
            application/json:
              schema:
                $ref: "#/components/schemas/indexFormatUpgradeResponse"
              examples:
                api:
                  $ref: "#/components/examples/indexFormatUpgradeResponse"
    head:
      tags:
        - Configuration
      summary: Gets the headers for the get index format version operation
      description: Returns the headers for the get index format version operation.
      operationId: headersForIndexFormatVersion
      responses:
        "200":
          description: The request succeeded.
  /admin/operations:
    post:
      tags:
        - Administration
      summary: Perform an administration-related operation
      description: "Performs any one of the currently supported operations: 1. refreshConfiguration refreshes or just returns the status of the configuration in the cache and underlying search engine with respect to the stored configuration. 2. makeIndexSearchable makes any newly populated indices searchable and deletes any older indices. See the example [Use Case Five](#Use-Case-Five)."
      operationId: adminOperation
      requestBody:
        content:
          application/vnd.sas.sand.operation.request+json:
            schema:
              $ref: "#/components/schemas/operationRequest"
            examples:
              operationRequestRefreshConfiguration:
                $ref: "#/components/examples/operationRequestRefreshConfiguration"
              operationRequestMakeSearchable:
                $ref: "#/components/examples/operationRequestMakeSearchable"
          application/json:
            schema:
              $ref: "#/components/schemas/operationRequest"
            examples:
              operationRequestRefreshConfiguration:
                $ref: "#/components/examples/operationRequestRefreshConfiguration"
              operationRequestMakeSearchable:
                $ref: "#/components/examples/operationRequestMakeSearchable"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.operation.response+json:
              schema:
                $ref: "#/components/schemas/operationResponse"
              examples:
                operationResponseRefreshConfiguration:
                  $ref: "#/components/examples/operationResponseRefreshConfiguration"
                operationResponseMakeSearchable:
                  $ref: "#/components/examples/operationResponseMakeSearchable"
            application/json:
              schema:
                $ref: "#/components/schemas/operationResponse"
              examples:
                operationResponseRefreshConfiguration:
                  $ref: "#/components/examples/operationResponseRefreshConfiguration"
                operationResponseMakeSearchable:
                  $ref: "#/components/examples/operationResponseMakeSearchable"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: A type mentioned in the request body does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  /admin/settings:
    get:
      tags:
        - Administration
      summary: Get multiple application settings
      description: Returns the values of multiple application settings.
      operationId: getSettings
      parameters:
        - name: start
          description: The index of the first setting to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of settings to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 10
        - name: filter
          description: A filter on the setting names. The supported operators are in and startsWith.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/settingCollection"
              examples:
                settingCollection:
                  $ref: "#/components/examples/settingCollection"
                setting:
                  $ref: "#/components/examples/setting"
            application/json:
              schema:
                $ref: "#/components/schemas/settingCollection"
              examples:
                settingCollection:
                  $ref: "#/components/examples/settingCollection"
                setting:
                  $ref: "#/components/examples/setting"
    head:
      tags:
        - Administration
      summary: Get the headers for the get settings operation
      description: Returns the headers for the get settings operation.
      operationId: headersForSettings
      parameters:
        - name: start
          description: The index of the first setting to include in the current page.
          in: query
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          description: The maximum number of settings to include in each page.
          in: query
          required: false
          schema:
            type: integer
            default: 10
        - name: filter
          description: A filter on the setting names. The supported operators are in and startsWith.
          in: query
          required: false
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
    post:
      tags:
        - Administration
      summary: Update multiple application settings
      description: Updates the values of multiple application settings.
      operationId: updateSettings
      requestBody:
        content:
          application/vnd.sas.collection+json:
            schema:
              $ref: "#/components/schemas/settingCollection"
            examples:
              settingCollection:
                $ref: "#/components/examples/settingCollection"
              setting:
                $ref: "#/components/examples/setting"
          application/json:
            schema:
              $ref: "#/components/schemas/settingCollection"
            examples:
              settingCollection:
                $ref: "#/components/examples/settingCollection"
              setting:
                $ref: "#/components/examples/setting"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.collection+json:
              schema:
                $ref: "#/components/schemas/settingCollection"
              examples:
                settingCollection:
                  $ref: "#/components/examples/settingCollection"
                setting:
                  $ref: "#/components/examples/setting"
            application/json:
              schema:
                $ref: "#/components/schemas/settingCollection"
              examples:
                settingCollection:
                  $ref: "#/components/examples/settingCollection"
                setting:
                  $ref: "#/components/examples/setting"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: One of the settings does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
  "/admin/settings/{setting}":
    get:
      tags:
        - Administration
      summary: Get an application setting
      description: Returns the value of an application setting.
      operationId: getSetting
      parameters:
        - name: setting
          description: The name of the application setting.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.setting+json:
              schema:
                $ref: "#/components/schemas/setting"
              examples:
                setting:
                  $ref: "#/components/examples/setting"
            application/json:
              schema:
                $ref: "#/components/schemas/setting"
              examples:
                setting:
                  $ref: "#/components/examples/setting"
        "404":
          description: The setting does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
    head:
      tags:
        - Administration
      summary: Get the headers for the get setting operation
      description: Returns the headers for the get setting operation.
      operationId: headersForSetting
      parameters:
        - name: setting
          description: The name of the application setting.
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: The request succeeded.
        "404":
          description: The setting does not exist.
    put:
      tags:
        - Administration
      summary: Update an application setting
      description: Updates the value of an application setting.
      operationId: updateSetting
      parameters:
        - name: setting
          description: The name of the application setting.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.sas.sand.setting+json:
            schema:
              $ref: "#/components/schemas/setting"
            examples:
              setting:
                $ref: "#/components/examples/setting"
          application/json:
            schema:
              $ref: "#/components/schemas/setting"
            examples:
              setting:
                $ref: "#/components/examples/setting"
      responses:
        "200":
          description: The request succeeded.
          content:
            application/vnd.sas.sand.setting+json:
              schema:
                $ref: "#/components/schemas/setting"
              examples:
                setting:
                  $ref: "#/components/examples/setting"
            application/json:
              schema:
                $ref: "#/components/schemas/setting"
              examples:
                setting:
                  $ref: "#/components/examples/setting"
        "400":
          description: The request is malformed or contains invalid parameter values.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response400"
        "404":
          description: The setting does not exist.
          content:
            application/vnd.sas.error+json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
            application/json:
              schema:
                $ref: "#/components/schemas/error2"
              example:
                $ref: "#/components/examples/error2Response404"
servers:
  - url: https://example.com/svi-sand
    description: An example URL including the base path for this API.
components:
  schemas:
    analyticsCategories:
      description: The response from /analytics/{jobId}/categories containing the categories of text analytics results that are available at a given exploration level.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        identifier:
          description: The identifier for the analytics job from the request.
          type: string
        level:
          $ref: "#/components/schemas/analyticsExplorationLevel"
        categories:
          description: The categories of results that are available at this exploration level.
          type: array
          items:
            type: string
            enum:
              - unigram
              - bigram
              - trigram
              - person
              - organization
              - location
              - significantTerm
              - topic
        fromAndTo:
          description: Whether `from` and `to` values were extracted from the objects at this exploration level.
          type: boolean
        errors:
          description: Any errors relating to the text analytics job.
          type: array
          items:
            $ref: "#/components/schemas/error2"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyticsExcludesMap:
      description: The optional list of terms, phrases, topics, and entities to exclude from the analytics results keyed by category.
      type: object
      properties:
        unigram:
          description: The list of terms to exclude.
          type: array
          items:
            type: string
        bigram:
          description: The list of bigram phrases to exclude.
          type: array
          items:
            type: string
        trigram:
          description: The list of trigram phrases to exclude.
          type: array
          items:
            type: string
        person:
          description: The list of person entities to exclude.
          type: array
          items:
            type: string
        organization:
          description: The list of organization entities to exclude.
          type: array
          items:
            type: string
        location:
          description: The list of location entities to exclude.
          type: array
          items:
            type: string
        significantTerm:
          description: The list of significant terms to exclude.
          type: array
          items:
            type: string
        topic:
          description: The list of topics to exclude.
          type: array
          items:
            type: string
    analyticsExplorationLevel:
      description: The exploration level within the text analytics results.
      type: object
      properties:
        category:
          description: The selected category of analytics result. This member is mandatory when a value is provided for phrase.
          type: string
          enum:
            - unigram
            - bigram
            - trigram
            - person
            - organization
            - location
            - significantTerm
            - topic
        phrase:
          description: The selected term, phrase, topic, or entity. This member is mandatory when a value is provided for nextLevel.
          type: string
        nextLevel:
          $ref: "#/components/schemas/analyticsExplorationLevel"
    analyticsExplore:
      description: The request to /analytics/{jobId}/results and /analytics/{jobId}/categories to retrieve the text analytics results and categories of result, respectively at a given exploration level.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        level:
          $ref: "#/components/schemas/analyticsExplorationLevel"
    analyticsIdentities:
      description: The response from /analytics/{jobId}/identities containing the identities for the person, organization, and location entities that were resolved by the text analytics job.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        identifier:
          description: The identifier for the analytics job from the request.
          type: string
        identities:
          $ref: "#/components/schemas/analyticsIdentitiesMap"
        errors:
          description: Any errors relating to the text analytics job.
          type: array
          items:
            $ref: "#/components/schemas/error2"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyticsIdentitiesMap:
      description: The identities keyed by category (person, organization, or location). Resolved entity results matching any of the aliases are grouped under the respective identity name.
      type: object
      properties:
        person:
          description: The resolved person entities.
          type: array
          items:
            $ref: "#/components/schemas/analyticsIdentity"
        organization:
          description: The resolved organization entities.
          type: array
          items:
            $ref: "#/components/schemas/analyticsIdentity"
        location:
          description: The resolved location entities.
          type: array
          items:
            $ref: "#/components/schemas/analyticsIdentity"
    analyticsIdentity:
      description: The identity for a person, organization, or location entity that was resolved by the text analytics job.
      type: object
      properties:
        name:
          description: The identity name.
          type: string
        frequencyCount:
          description: The total number of occurrences of this identity.
          type: integer
        aliases:
          description: The aliases for this identity.
          type: array
          items:
            $ref: "#/components/schemas/analyticsIdentityAlias"
    analyticsIdentityAlias:
      description: An alias for a person, organization, or location entity that was resolved by the text analytics job.
      type: object
      properties:
        name:
          description: The alias name.
          type: string
        frequencyCount:
          description: The total number of occurrences of this alias.
          type: integer
    analyticsJob:
      description: The response from /analytics and /analytics/{jobId} containing the identifier, state, and parameters of a scheduled text analytics job. The job analyses unstructured text in the matching search results to extract significant terms, phrases, and topics as well as resolve named person, organization and location entities.
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        identifier:
          description: The identifier for the analytics job.
          type: string
        state:
          description: The current state of the job.
          type: string
          enum:
            - pending
            - running
            - completed
            - completedWithErrors
            - cancelled
            - failed
        types:
          description: The list of type names from the request.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        categories:
          description: The optional list of result categories from the request.
          type: array
          items:
            type: string
            enum:
              - unigram
              - bigram
              - trigram
              - person
              - organization
              - location
              - significantTerm
              - topic
        fields:
          description: The optional list of fields from the request.
          type: array
          items:
            type: string
        fromField:
          description: The optional `from` field from the request.
          type: string
        toFields:
          description: The optional `to` fields from the request.
          type: array
          items:
            type: string
        excludes:
          $ref: "#/components/schemas/analyticsExcludesMap"
        identities:
          $ref: "#/components/schemas/analyticsIdentitiesMap"
        maxResultsPerCategory:
          description: The maximum number of results to generate per category from the request.
          type: integer
        locale:
          description: The locale of the data as a BCP-47 language tag from the request.
          type: string
        errors:
          description: Any errors relating to the text analytics job.
          type: array
          items:
            $ref: "#/components/schemas/error2"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyticsLocale:
      description: A locale that is supported for text analytics. It is returned in a collection from /analytics/locales.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        name:
          description: The ISO language name.
          type: string
        nativeName:
          description: The native language name (for display purposes).
          type: string
        tag:
          description: The BCP-47 language tag.
          type: string
    analyticsLocaleCollection:
      description: A collection of analytics locale representations.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.analytics.locale+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/analyticsLocale"
    analyticsRequest:
      description: The request to /analytics to initiate a new text analytics job. The job analyses unstructured text in the matching search results to extract significant terms, phrases, and topics as well as resolve named person, organization, and location entities.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        types:
          description: The optional list of type names for the object types to search. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        categories:
          description: The optional list of categories specifying which types of analytics results to generate.
          type: array
          items:
            type: string
            enum:
              - unigram
              - bigram
              - trigram
              - person
              - organization
              - location
              - significantTerm
              - topic
        fields:
          description: The optional list of fields whose values are combined to generate the corpus. Using this parameter overrides the administrator defined fields specified in the object type.
          type: array
          items:
            type: string
        fromField:
          description: The optional field whose values are used when generating the Sankey diagram. Using this parameter overrides the administrator defined `from` field specified in the object type.
          type: string
        toFields:
          description: The optional fields whose values are used when generating the Sankey diagram. Using this parameter overrides the administrator defined `to` fields specified in the object type.
          type: array
          items:
            type: string
        excludes:
          $ref: "#/components/schemas/analyticsExcludesMap"
        identities:
          $ref: "#/components/schemas/analyticsIdentitiesMap"
        maxResultsPerCategory:
          description: The maximum number of results to generate per category. Accepts values in the range 10 to 1000. The default value is 100.
          type: integer
        locale:
          description: The locale of the data as a BCP-47 language tag.
          type: string
    analyticsResults:
      description: The response from /analytics/{jobId}/results containing the text analytics results that are available at a given exploration level
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        identifier:
          description: The identifier for the analytics job from the request.
          type: string
        level:
          $ref: "#/components/schemas/analyticsExplorationLevel"
        results:
          description: The results at this exploration level.
          type: array
          items:
            $ref: "#/components/schemas/analyticsResult"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyticsResult:
      description: A single text analytics result.
      type: object
      properties:
        phrase:
          description: The resultant term, phrase, topic, or entity name.
          type: string
        frequencyCount:
          description: The number of times this phrase appears in the Corpus.
          type: integer
        weight:
          description: The average statistical weighting if the phrase is a significant term or topic.
          type: number
        objectIds:
          description: The list of identifiers for the objects that contain the phrase. These can be used in a request to /searches to retrieve the objects.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
        aliases:
          description: Any known aliases if the phrase is an entity name. Each alias object has phrase, frequencyCount, and objectIds members as described above.
          type: array
          items:
            $ref: "#/components/schemas/analyticsResult"
    analyticsSankeyDiagram:
      description: The response from /analytics/{jobId}/sankeyDiagrams containing a Sankey diagram generated from the text analytics results at the specified exploration level.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        identifier:
          description: The identifier for the analytics job from the request.
          type: string
        level:
          $ref: "#/components/schemas/analyticsExplorationLevel"
        fromCategory:
          description: The `from` results category from the request.
          type: string
          enum:
            - unigram
            - bigram
            - trigram
            - person
            - organization
            - location
            - significantTerm
            - topic
        toCategory:
          description: The `to` results category from the request.
          type: string
          enum:
            - unigram
            - bigram
            - trigram
            - person
            - organization
            - location
            - significantTerm
            - topic
        fromAndTo:
          description: Whether the diagram is based on the values extracted from the `from` and `to` fields instead of using the `from` and `to` categories specified above.
          type: boolean
        maxLinks:
          description: The maximum number of links from the request.
          type: integer
        sankeyNodes:
          description: The collection of Sankey nodes.
          type: array
          items:
            $ref: "#/components/schemas/analyticsSankeyNode"
        sankeyLinks:
          description: The collection of Sankey links.
          type: array
          items:
            $ref: "#/components/schemas/analyticsSankeyLink"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyticsSankeyDiagramRequest:
      description: The request to /analytics/{jobId}/sankeyDiagrams to generate a Sankey diagram from the text analytics results at the specified exploration level.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        level:
          $ref: "#/components/schemas/analyticsExplorationLevel"
        fromCategory:
          description: The category of results to use for the `from` nodes.
          type: string
          enum:
            - unigram
            - bigram
            - trigram
            - person
            - organization
            - location
            - significantTerm
            - topic
        toCategory:
          description: The category of results to use for the `to` nodes.
          type: string
          enum:
            - unigram
            - bigram
            - trigram
            - person
            - organization
            - location
            - significantTerm
            - topic
        fromAndTo:
          description: Whether to base the diagram on the values extracted from the `from` and `to` fields instead of using the `from` and `to` categories specified above.
          type: boolean
        maxLinks:
          description: The maximum number of links to return. Accepts values in the range 1 to 100. The default value is 20.
          type: integer
    analyticsSankeyLink:
      description: A link in a Sankey diagram.
      type: object
      properties:
        fromNode:
          description: The unique identifier of the `from` node.
          type: integer
        toNode:
          description: The unique identifier of the `to` node.
          type: integer
        frequencyCount:
          description: The number of times the `from` and `to` values or phrases appear in the Corpus.
          type: integer
        objectIds:
          description: The list of identifiers for the objects that contain the `from` and `to` values or phrases. These can be used in a request to /searches to retrieve the objects.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
    analyticsSankeyNode:
      description: A node in a Sankey diagram.
      allOf:
        - $ref: "#/components/schemas/analyticsResult"
        - type: object
          properties:
            identifier:
              description: The unique identifier for the node. Used to identify the endpoints of the links. Note the identifier is not guaranteed to be the same across multiple diagrams.
              type: integer
            category:
              description: The category of result.
              type: string
              enum:
                - unigram
                - bigram
                - trigram
                - person
                - organization
                - location
                - significantTerm
                - topic
    analyzer:
      description: A supported analyzer for analyzing text at index or search time. Returned in a collection from /admin/config/analyzers.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        solution:
          description: The name of the solution.
          type: string
          default: default
        name:
          description: The name of the analyzer.
          type: string
        displayName:
          description: The localized display name of the analyzer.
          type: string
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    analyzerCollection:
      description: A collection of supported analyzers.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.analyzer+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/analyzer"
    api:
      description: The list of links to top-level resources and operations available from the root of the API.
      type: object
      properties:
        links:
          description: The API's top-level links.
          items:
            $ref: "#/components/schemas/link"
          type: array
        version:
          description: The version number of the API representation. This is version 1.
          minimum: 1
          type: integer
    assistedSearchRequest:
      description: The request to /assistedSearches when generating a search request based on a natural language query.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        types:
          description: The optional list of type names for the object types to be searched. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          description: The natural language query that Generative AI will convert to one or more Lucene text queries.
          type: string
        visualizationType:
          description: The optional type of visualization to use in the generated search request.
          type: string
          enum:
            - map
            - relationship
            - summary
            - table
    assistedSearchResponse:
      description: The response from /assistedSearches containing the generated request body to be used for /searches or /paths.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        types:
          description: The list of object type names from the request.
          type: array
          items:
            type: string
        query:
          description: The natural language query from the request.
          type: string
        visualizationType:
          description: The type of visualization from the request.
          type: string
          enum:
            - map
            - relationship
            - summary
            - table
        objectSearchRequest:
          $ref: "#/components/schemas/searchRequest"
        relationshipSearchRequest:
          $ref: "#/components/schemas/pathsRequest"
        errors:
          description: Any information or error messages while generating the search request.
          type: array
          items:
            $ref: "#/components/schemas/error2"
    assistedSearchVisualizationTypeRequest:
      description: The request to /assistedSearches/VisualizationType when determining the appropriate type of visualization for a natural language query.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        types:
          description: The optional list of type names for the object types to be searched. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          description: The natural language query that Generative AI will use to determine the visualization type.
          type: string
    assistedSearchVisualizationTypeResponse:
      description: The response from /assistedSearches/visualizationType containing the visualization type to use in the request to /assistedSearches.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        types:
          description: The list of object type names from the request.
          type: array
          items:
            type: string
        query:
          description: The natural language query from the request.
          type: string
        visualizationType:
          description: The type of visualization to use in the request to /assistedSearches.
          type: string
          enum:
            - map
            - relationship
            - summary
            - table
        errors:
          description: Any information or error messages while determining the visualization type.
          type: array
          items:
            $ref: "#/components/schemas/error2"
    baseCollection2:
      description: This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an `items` array property. These extensions define the application/vnd.sas.collection media type (version 2).
      type: object
      properties:
        accept:
          description: A space-delimited list of media types from which an `Accept` header can be constructed.
          type: string
        count:
          description: If populated indicates the number of items in the collection.
          format: int64
          type: integer
        limit:
          description: The number of items that were requested for the collection.
          type: integer
        links:
          description: The links that apply to the collection.
          items:
            $ref: "#/components/schemas/link"
          type: array
        name:
          description: The name of the collection.
          type: string
        start:
          description: The zero-based index of the first item in the collection.
          format: int64
          type: integer
        version:
          description: The version number of the collection representation. This representation is version 2.
          type: integer
    centralityEdge:
      description: An edge within the context of a request to /centrality for calculating centrality metrics for the objects on a network.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        id:
          description: The unique identifier for the edge.
          type: string
        source:
          description: The unique identifier for the source object connected by the edge.
          type: string
        target:
          description: The unique identifier for the target object connected by the edge.
          type: string
    centralityMetrics:
      description: The different centrality values for an object on the network.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        id:
          description: The unique identifier for the object.
          type: string
        degree:
          description: The degree of the object.
          type: number
          format: double
        eigen:
          description: The eigen centrality of the object.
          type: number
          format: double
        close:
          description: The closeness centrality of the object.
          type: number
          format: double
        between:
          description: The betweenness centrality of the object.
          type: number
          format: double
        influence1:
          description: The influence1 centrality of the object.
          type: number
          format: double
        influence2:
          description: The influence2 centrality of the object.
          type: number
          format: double
    centralityMetricsCollection:
      description: The response from /centrality representing the centrality metrics for the objects on a network.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.network.analytics.centrality.metrics+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/centralityMetrics"
    centralityNetwork:
      description: The request to /centrality for calculating the centrality metrics for the objects on a network. The network is represented by a collection of edges, that is, the relationships between the objects.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        edges:
          description: The edges in the network.
          type: array
          items:
            $ref: "#/components/schemas/centralityEdge"
    childObjectHighlighting:
      description: The part of the response from /highlighting that captures highlighting snippets for a single child object.
      type: object
      properties:
        id:
          description: The identifier of the child object.
          type: string
        name:
          description: The name of the child object.
          type: string
        highlighting:
          description: The highlighting snippets for the child object fields keyed by field name.
          type: object
          items:
            type: array
            items:
              type: string
        maskedFields:
          description: The masked field configuration for the child object fields keyed by field name.
          type: object
          items:
            $ref: "#/components/schemas/maskedFieldConfiguration"
    childObjectTypeHighlighting:
      description: The part of the response from /highlighting that groups highlighting snippets by child object type.
      type: object
      properties:
        start:
          description: The start paging parameter from the request.
          type: integer
        limit:
          description: The limit paging parameter from the request.
          type: integer
        count:
          description: The total number of child objects with highlighting snippets.
          type: integer
        childObjects:
          description: The current page of child objects with highlighting snippets.
          type: array
          items:
            $ref: "#/components/schemas/childObjectHighlighting"
    childObjectTypeHighlightingParameters:
      description: The part of the request to /highlighting that specifies the paging parameters for each child object type.
      type: object
      properties:
        start:
          description: The first child object to include in the page. The default value is 1.
          type: integer
        limit:
          description: The maximum number of child objects to include in the page. The default value is 10.
          type: integer
    configuration:
      description: The request and response for /admin/config when importing and exporting object and relationship types between systems.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        types:
          description: The object and relationship types keyed by name. Type names can contain up to 36 alphanumeric characters and underscores but cannot start with an underscore.
          type: object
          items:
            $ref: "#/components/schemas/type"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    edge:
      description: An edge within the context of the Network visualization. An edge represents a relationship between two internal or external objects, or between a resolved object and one of its contributing objects. Note the fields property is returned only from /graphs/edges.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        id:
          description: The unique identifier for the edge.
          type: string
        type:
          description: The relationship type of the edge.
          type: string
        subtype:
          description: The sub-type of the relationship if applicable.
          type: string
        compoundValues:
          description: The list of compound values if this edge involves a resolved object.
          type: array
          items:
            type: string
        label:
          description: The summary label for the edge.
          type: string
        fields:
          description: The enrichment information for custom relationship fields.
          type: array
          items:
            $ref: "#/components/schemas/summaryField"
        endpoints:
          description: The identifiers for the vertices on either end of the edge.
          type: array
          items:
            $ref: "#/components/schemas/endpoint"
        validFrom:
          description: The optional datetime that the edge is valid from as an ISO formatted string.
          type: string
          format: date-time
        validTo:
          description: The optional datetime that the edge is valid to as an ISO formatted string.
          type: string
          format: date-time
        style:
          $ref: "#/components/schemas/relationshipStyle"
    edgeCollection:
      description: A collection of edge representations.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.edge+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/edge"
    endpoint:
      description: The identifier for a vertex on one end of an edge.
      type: object
      properties:
        id:
          description: The identifier of the vertex.
          type: string
        type:
          description: The object type of the vertex.
          type: string
        compoundValues:
          description: The list of compound values if the vertex is a resolved object.
          type: array
          items:
            type: string
    error2:
      description: The representation of an error.
      type: object
      properties:
        details:
          description: Messages that provide additional details about the cause of the error.
          items:
            type: string
          type: array
        errorCode:
          description: The numeric ID for the error.
          type: integer
        errors:
          description: Any additional errors that occurred.
          items:
            $ref: "#/components/schemas/error2"
          type: array
        httpStatusCode:
          description: The HTTP status code for the error.
          type: integer
        id:
          description: The string ID for the error.
          type: string
        links:
          description: The links that apply to the error.
          items:
            $ref: "#/components/schemas/link"
          type: array
        message:
          description: The message for the error.
          type: string
        remediation:
          description: A message that describes how to resolve the error.
          type: string
        version:
          description: The version number of the error representation. This representation is version 2.
          type: integer
    event:
      description: An event within the context of the Map and Time Line visualizations
      type: object
      properties:
        version:
          description: The representation version (4).
          type: integer
        eventId:
          description: The unique identifier for the event.
          type: string
        eventCategory:
          description: The category of the event.
          type: string
        eventLabel:
          description: The summary label for the event.
          type: string
        eventDescription:
          description: The description for the event.
          type: string
        objectId:
          description: The unique identifier of the object from which the event was extracted.
          type: string
        objectType:
          description: The type of the object from which the event was extracted.
          type: string
        objectTypeLabel:
          description: The localized display name for the object type.
          type: string
        objectLabel:
          description: The summary label for the object.
          type: string
        objectDescription:
          description: The description for the object.
          type: string
        objectAttachmentCount:
          description: The number of attachments on the object.
          type: integer
        selected:
          description: True if this event matches the selection criteria in the search request. Relevant only to the Map and Map Feature visualizations.
          type: boolean
        group:
          description: The object identifier from the swim lane (used to group events according to their swim lane). Relevant only to the Time Line visualization.
          type: string
        startTimestamp:
          description: The ISO formatted string for the start date time of the event. Relevant only to the Time Line visualization.
          type: string
          format: date-time
        endTimestamp:
          description: The ISO formatted string for the end date time of the event. This has the same value as start for events that have only a single date time value. Relevant only to the Time Line visualization.
          type: string
          format: date-time
    filter:
      description: The different filter types that can be applied to narrow or drill down into the search results. See specific filter definitions for more details.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        type:
          description: The type of this filter object. The value of this property determines which other properties are expected.
          type: string
          enum:
            - and
            - box
            - dateRange
            - not
            - or
            - polygon
            - query
            - radius
            - range
            - shape
            - terms
            - type
      oneOf:
        - $ref: "#/components/schemas/filterTypeAnd"
        - $ref: "#/components/schemas/filterTypeBox"
        - $ref: "#/components/schemas/filterTypeDateRange"
        - $ref: "#/components/schemas/filterTypeNot"
        - $ref: "#/components/schemas/filterTypeOr"
        - $ref: "#/components/schemas/filterTypePolygon"
        - $ref: "#/components/schemas/filterTypeQuery"
        - $ref: "#/components/schemas/filterTypeRadius"
        - $ref: "#/components/schemas/filterTypeRange"
        - $ref: "#/components/schemas/filterTypeTerms"
        - $ref: "#/components/schemas/filterTypeType"
        - $ref: "#/components/schemas/filterTypeShape"
    filterTypeAnd:
      description: This filter combines two or more filter objects using a Boolean AND operation thereby creating the intersection of their individual search results
      type: object
      properties:
        filters:
          description: The filter objects to combine.
          type: array
          items:
            $ref: "#/components/schemas/filter"
    filterTypeBox:
      description: Filters objects based on geo data in the form of events. Objects containing a geo event whose location intersects with the specified bounded box are included in the search results.
      type: object
      properties:
        coordinates:
          description: The top left and bottom right coordinates of the bounded box. The first entry in each coordinate array is the longitude and the second is the latitude.
          type: array
          items:
            type: array
            items:
              type: number
    filterTypeDateRange:
      description: Filters objects by values in date fields. Objects containing a date value in the specified field within the given range are included in the search results.
      type: object
      properties:
        field:
          description: The name of the field to filter on.
          type: string
        accuracy:
          description: The accuracy of the date range parameters. The date values are adjusted to this accuracy level prior to the filter being applied. The default value is day.
          type: string
          enum:
            - year
            - month
            - day
            - hour
            - minute
            - second
            - millisecond
        gt:
          description: The optional greater than range parameter as an ISO formatted date time string.
          type: string
          format: date-time
        gte:
          description: The optional greater than or equal to range parameter as an ISO formatted date time string.
          type: string
          format: date-time
        lt:
          description: The optional less than range parameter as an ISO formatted date time string.
          type: string
          format: date-time
        lte:
          description: The optional less than or equal to range parameter as an ISO formatted date time string.
          type: string
          format: date-time
    filterTypeNot:
      description: This filter applies the Boolean NOT operation to another filter thereby producing the opposite search results of the contained filter.
      type: object
      properties:
        filter:
          $ref: "#/components/schemas/filter"
    filterTypeOr:
      description: This filter combines two or more filter objects using a Boolean OR operation thereby creating the union of their individual search results
      type: object
      properties:
        filters:
          description: The filter objects to combine.
          type: array
          items:
            $ref: "#/components/schemas/filter"
    filterTypePolygon:
      description: Filters objects based on geo data in the form of events. Objects containing a geo event whose location intersects with the specified polygon are included in the search results.
      type: object
      properties:
        coordinates:
          description: The coordinates of the polygon. The first entry in each coordinate array is the longitude and the second is the latitude. A minimum of three coordinates are required (which would create a triangle). Polygons should be closed. The first and last coordinates should be the same. If required, the service adds the first coordinate to the end of the array to achieve this.
          type: array
          items:
            type: array
            items:
              type: number
    filterTypeQuery:
      description: Filters objects based on the given query. Objects matching the query is included in the search results.
      type: object
      properties:
        query:
          $ref: "#/components/schemas/query"
    filterTypeRadius:
      description: Filters objects based on geo data in the form of events. Objects containing a geo event whose location intersects with the specified circle are included in the search results.
      type: object
      properties:
        coordinates:
          description: The coordinates of the center of the circle. The first array entry is the longitude and the second is the latitude.
          type: array
          items:
            type: number
        radius:
          description: The radius of the circle as a numerical value plus a suffix for the units. The supported units are miles (mi), yards (yd), feet (ft), inches (in), kilometers (km), meters (m), centimeters (cm), millimeters (mm), nautical miles (nmi). Meters are assumed if no units are specified.
          type: string
    filterTypeRange:
      description: Filters objects by values in numerical fields. Objects containing a numerical value in the specified field within the given range are included in the search results.
      type: object
      properties:
        field:
          description: The name of the field to filter on.
          type: string
        gt:
          description: The optional greater than range parameter.
          type: number
        gte:
          description: The optional greater than or equal to range parameter.
          type: number
        lt:
          description: The optional less than range parameter.
          type: number
        lte:
          description: The optional less than or equal to range parameter.
          type: number
    filterTypeShape:
      description: Filters objects based on geo data in the form of events. Objects containing a geo event whose location relates to the specified GeoJSON shape are included in the search results.
      type: object
      properties:
        relation:
          description: The spatial relation operator to use.
          type: string
          enum:
            - contains
            - disjoint
            - intersects
            - within
        shape:
          description: The GeoJSON representation of the shape.
          type: object
        id:
          description: The identifier of a pre-configured GeoJSON shape to be used instead of an explicit shape.
          type: string
    filterTypeTerms:
      description: Filters objects by values in text fields. Only objects containing an exact match for one of the specified terms in the specified field are included in the search results.
      type: object
      properties:
        field:
          description: The name of the field to filter on.
          type: string
        objectType:
          description: The name of the type containing the field.
          type: string
        terms:
          description: One or more terms to filter on.
          type: array
          items:
            type: string
    filterTypeType:
      description: Filters objects by their type. Objects of the named types are included in the search results.
      type: object
      properties:
        types:
          description: One or more type names to filter on.
          type: array
          items:
            type: string
    geoJsonFeature:
      description: A GeoJSON feature in the context of the Map visualization
      type: object
      properties:
        type:
          description: The type of GeoJSON object, in this case Feature.
          type: string
        geometry:
          description: The GeoJSON object representing the location of this feature (normally a Point with a coordinates array).
          type: object
        properties:
          $ref: "#/components/schemas/geoJsonFeatureProperties"
    geoJsonFeatureCollection:
      description: The GeoJSON feature collection returned as part of the Map visualization when the results are not clustered.
      type: object
      properties:
        type:
          description: The type of GeoJSON object, in this case FeatureCollection.
          type: string
        features:
          description: The map features.
          type: array
          items:
            $ref: "#/components/schemas/geoJsonFeature"
    geoJsonFeatureProperties:
      description: The details about the events at this map location.
      type: object
      properties:
        events:
          description: The events at this location.
          type: array
          items:
            $ref: "#/components/schemas/event"
        eventCount:
          description: The number of events at this location.
          type: integer
        selectedEventCount:
          description: The subset of events at this location that match the selection criteria in the search request.
          type: integer
    geoJsonShape:
      description: A GeoJSON shape for use in the shape filter.
      type: object
      properties:
        id:
          description: The unique identifier of the GeoJSON shape.
          type: string
        solution:
          description: The name of the solution.
          type: string
          default: default
        name:
          description: The optional name of the GeoJSON shape.
          type: string
        group:
          description: The optional group of the GeoJSON shape.
          type: string
        shape:
          description: The GeoJSON representation of the shape. The shape can be any GeoJSON geometry or a GeoJSON geometry collection.
          type: object
    geoJsonShapeCollection:
      description: A collection of GeoJSON shape representations.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.geo.shape+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/geoJsonShape"
    graph:
      description: The response from /graphs and /traversals in relation to the Network visualization. In the network, objects are represented by vertices and the relationships between them are represented by edges.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        counts:
          $ref: "#/components/schemas/graphCounts"
        vertices:
          description: The collection of vertices in the graph.
          type: array
          items:
            $ref: "#/components/schemas/vertex"
        edges:
          description: The collection of edges in the graph.
          type: array
          items:
            $ref: "#/components/schemas/edge"
        expansionLimit:
          description: The maximum adjacent count a vertex is allowed to have to be expanded via a call to /traversals. This member is returned when at least one vertex is present in the graph whose adjacent count exceeds this limit. The expansion limit is currently set to 2000 meaning that an object with relationships to more than 2000 other objects are not expanded. This is primarily to prevent a denial of service but it is also assumed that a network of such proportions could not be meaningfully visualized and explored by end users.
          type: integer
        expansionLimitExceeded:
          description: The identifiers for vertices whose adjacent count exceeds the expansion limit. This member is returned when at least one vertex is present in the graph whose adjacent count exceeds this limit.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
    graphCounts:
      description: The total number of vertices and edges in the graph
      type: object
      properties:
        vertices:
          description: The number of vertices.
          type: integer
        edges:
          description: The number of edges.
          type: integer
    graphRequest:
      description: The request to /graphs for obtaining the Network visualization. In the network, objects are represented by vertices and the relationships between them are represented by edges.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        vertexTypes:
          description: The optional list of object type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        edgeTypes:
          description: The optional list of relationship type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        filter:
          $ref: "#/components/schemas/filter"
        selection:
          $ref: "#/components/schemas/selection"
    highlighting:
      description: The response from /highlighting containing highlighting snippets for a single object based on a given query.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        type:
          description: The object type from the request.
          type: string
        id:
          description: The identifier of the object from the request.
          type: string
        query:
          $ref: "#/components/schemas/query"
        includeFieldHighlighting:
          description: Whether to include highlighting snippets for the top-level fields.
          type: boolean
        defaultChildEntityLimit:
          description: The default limit for child object types from the request.
          type: integer
        fieldHighlighting:
          description: The highlighting snippets for the top-level fields keyed by field name.
          type: object
          items:
            type: array
            items:
              type: string
        childEntityHighlighting:
          description: The highlighting snippets for child objects grouped by child object type name.
          type: object
          items:
            $ref: "#/components/schemas/childObjectTypeHighlighting"
        maskedFields:
          description: The masked field configuration for the top-level fields keyed by field name.
          type: object
          items:
            $ref: "#/components/schemas/maskedFieldConfiguration"
        errors:
          description: Any errors relating to the search.
          type: array
          items:
            $ref: "#/components/schemas/error2"
    highlightingRequest:
      description: The request to /highlighting for generating highlighting snippets for a single object based on a given query
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        type:
          description: The type of the object.
          type: string
        id:
          description: The identifier of the object.
          type: string
        query:
          $ref: "#/components/schemas/query"
        includeFieldHighlighting:
          description: Whether to include highlighting snippets for the top-level fields.
          type: boolean
        defaultChildEntityLimit:
          description: The default limit for child object types. The value of this parameter is used if there is no specific limit in childEntityHighlightingParameters. Setting this parameter to 0 excludes highlighting for child objects from the response. The default value is 10.
          type: integer
        childEntityHighlightingParameters:
          description: The parameters for each child object type keyed by child object type name.
          type: object
          items:
            $ref: "#/components/schemas/childObjectTypeHighlightingParameters"
    index:
      description: The response from /admin/indices/{type} when requesting information about the index for a single object or relationship type
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        type:
          description: The name of the object or relationship type.
          type: string
        name:
          description: The name of the index.
          type: string
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    indexCollection:
      description: A collection of index representations.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.index+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/index"
    indexFormatUpgradeResponse:
      description: The response from /admin/indices/version requesting the index format version this service supports.
      type: object
      properties:
        upgradeRequired:
          description: a boolean flag that indicates if an upgrade is required
          type: boolean
        indexFormatVersion:
          description: the supported index format version
          type: integer
    indicatorIcon:
      description: An indicator icon for an object type style.
      type: object
      properties:
        name:
          description: The name of the indicator icon.
          type: string
        position:
          description: The position of the indicator icon.
          type: string
    link:
      description: A link to a related operation or resource.
      type: object
      properties:
        href:
          description: The URL for the link.
          type: string
        itemType:
          description: If this is a link to a container, `itemType` is the media type or link type for the items in the container.
          type: string
        method:
          description: The HTTP method for the link.
          type: string
        rel:
          description: The relationship of the link to the resource.
          type: string
        responseItemType:
          description: The media type or link type of the items in the response body for a PUT`, `POST`, or `PATCH` operation.
          type: string
        responseType:
          description: The media type or link type of the response body for a `PUT`, `POST`, or `PATCH` operation.
          type: string
        title:
          description: The title for the link
          type: string
        type:
          description: The media type or link type for the link.
          type: string
        uri:
          description: The relative URI for the link.
          type: string
    maskedFieldConfiguration:
      description: The configuration for a masked field.
      type: object
      properties:
        type:
          description: The type of masked field.
          type: string
          enum:
            - full
            - partial
            - none
    objectIdentifier:
      description: The identifier of a single object used in many of the requests and responses.
      type: object
      properties:
        type:
          description: The name of the object type.
          type: string
        id:
          description: The identifier of the object.
          type: string
    objectTypeFields:
      description: Describes the fields to retrieve for a given object type.
      properties:
        entityName:
          description: The name of the object type to retrieve fields for.
          type: string
        fieldNames:
          description: The set of fields to retrieve.
          type: array
          items:
            type: string
    objectTypeStyle:
      description: A collection of properties that determine the style for an object type
      type: object
      properties:
        iconName:
          description: The name of the icon to use.
          type: string
        markerColor:
          description: The marker color.
          type: string
        backgroundColor:
          description: The background color.
          type: string
        shape:
          description: The shape to use.
          type: string
        scale:
          description: The scale value.
          type: integer
        additionalLabel:
          description: An additional label.
          type: string
        borderWidth:
          description: The width of the border.
          type: integer
        borderColor:
          description: The border color.
          type: string
        indicatorIcons:
          description: The collection of indicator icons.
          type: array
          items:
            $ref: "#/components/schemas/indicatorIcon"
    operationRequest:
      description: The request to /admin/operations to perform an administration-related operation
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        operation:
          description: The name of the operation to be performed.
          type: string
          enum:
            - refreshConfiguration
            - makeIndexSearchable
        parameters:
          description: Any parameters relevant to the operation. See operation parameter definitions for more details.
          type: object
          anyOf:
            - $ref: "#/components/schemas/operationRequestParametersForRefreshConfiguration"
            - $ref: "#/components/schemas/operationRequestParametersForMakeIndexSearchable"
    operationRequestParametersForRefreshConfiguration:
      description: The parameters for the refresh configuration operation
      type: object
      properties:
        type:
          description: The name of the type whose configuration is to be refreshed. If not specified, the configuration for all types is refreshed.
          type: string
        statusOnly:
          description: Whether to return only status information instead of performing the refresh. The default value is true.
          type: boolean
        waitForRefresh:
          description: Whether to wait for any index-related operations to be applied prior to the response being returned. The default value is false.
          type: boolean
    operationRequestParametersForMakeIndexSearchable:
      description: The parameters for the make index searchable operation.
      type: object
      properties:
        type:
          description: The name of the type whose newest index is to be made searchable and whose older indices are to be deleted. If not specified, the indices for all types are modified and deleted as appropriate.
          type: string
    operationResponse:
      description: The response from a request to /admin/operations to perform an administration-related operation.
      allOf:
        - $ref: "#/components/schemas/operationRequest"
        - type: object
          properties:
            results:
              description: Any results relevant to the operation.
              type: object
              anyOf:
                - $ref: "#/components/schemas/typeStatus"
    path:
      description: A path within the context of the Network visualization. A path is a finite sequence of relationships (edges) connecting a sequence of objects (vertices) in the Network visualization.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        endpoints:
          description: The endpoints representing the vertices and the edges between them that make up the path.
          type: array
          items: {}
    pathCollection:
      description: A collection of path representations.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.path+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/path"
    pathsRequest:
      description: The request to /paths when searching for matching paths from one or more start objects. Use the type and id properties to identify a single start object, or use the types and query properties to identify one or more start objects.
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        type:
          description: The type of the start object.
          type: string
        id:
          description: The identifier of the start object.
          type: string
        types:
          description: The optional list of type names for the start objects. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        filter:
          $ref: "#/components/schemas/filter"
        nextLevel:
          $ref: "#/components/schemas/pathsRequestNextLevel"
        nextLevels:
          description: The criteria for each branch at the next level of the path search.
          type: array
          items:
            $ref: "#/components/schemas/pathsRequestNextLevel"
        mustMatchAllBranches:
          description: Whether to only return paths when there is a matching result for every branch.
          type: boolean
    pathsRequestNextLevel:
      description: The criteria for the next level of the path search.
      type: object
      properties:
        vertexTypes:
          description: The optional list of object type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        vertexFilter:
          $ref: "#/components/schemas/filter"
        edgeTypes:
          description: The optional list of relationship type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        edgeFilter:
          $ref: "#/components/schemas/filter"
        nextLevel:
          $ref: "#/components/schemas/pathsRequestNextLevel"
        nextLevels:
          description: The criteria for each branch at the next level of the path search.
          type: array
          items:
            $ref: "#/components/schemas/pathsRequestNextLevel"
    query:
      description: The different query types that can be used to search for objects. See specific query definitions for more details.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        type:
          description: The type of this query object. The value of this property determines which other properties are expected.
          type: string
          enum:
            - and
            - compound
            - object
            - or
            - text
      anyOf:
        - $ref: "#/components/schemas/queryTypeAnd"
        - $ref: "#/components/schemas/queryTypeCompound"
        - $ref: "#/components/schemas/queryTypeObject"
        - $ref: "#/components/schemas/queryTypeOr"
        - $ref: "#/components/schemas/queryTypeText"
    queryRequest:
      description: The request to perform an action on data specified by a query.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        types:
          description: The optional list of type names for the object and relationship types to be searched. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
    queryTypeAnd:
      description: This query combines two or more query objects using a Boolean AND operation thereby creating the intersection of their individual search results.
      type: object
      properties:
        queries:
          description: The query objects to combine.
          type: array
          items:
            $ref: "#/components/schemas/query"
    queryTypeCompound:
      description: This query allows resolved objects to be searched by their compound values (globally unique text fragments based on the values extracted from the contributing objects). Resolved objects containing one or more matching compounds are included in the search results. These values are not expected to be known by users and clients but rather they can be extracted from the results of an earlier free-text or geospatial search.
      type: object
      properties:
        compoundValues:
          description: The compound values for the resolved objects to be included in the search results.
          type: array
          items:
            type: string
    queryTypeObject:
      description: This query allows objects to be searched by their type and identifier. Objects with matching types and identifiers are included in the search results. These values are not necessarily expected to be known by users and clients but rather they can be extracted from an earlier search result.
      type: object
      properties:
        objectIds:
          description: The identifiers for the objects to be included in the search results.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
    queryTypeOr:
      description: This query combines two or more query objects using a Boolean OR operation thereby creating the union of their individual search results.
      type: object
      properties:
        queries:
          description: The query objects to combine.
          type: array
          items:
            $ref: "#/components/schemas/query"
    queryTypeText:
      description: This is the main query object and represents a free text query in a specified query language. Objects matching one or more query terms are included in the search results.
      type: object
      properties:
        language:
          description: The name of the query language. Note only lucene is supported at the present time.
          type: string
        text:
          description: The free text query.
          type: string
    relatedObjectsRequest:
      description: The request to /relatedObjects when searching for paths between start and end objects.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        startTypes:
          description: The optional list of type names for the start objects. If missing, all types are searched.
          type: array
          items:
            type: string
        startQuery:
          $ref: "#/components/schemas/query"
        startFilter:
          $ref: "#/components/schemas/filter"
        endTypes:
          description: The optional list of type names for the end objects. If missing, all types are searched.
          type: array
          items:
            type: string
        endQuery:
          $ref: "#/components/schemas/query"
        endFilter:
          $ref: "#/components/schemas/filter"
        hops:
          description: The maximum number of hops, that is, relationships to be included in each path. The minimum and default value is 1. The maximum value is 4.
          type: integer
    relationshipStyle:
      description: A collection of properties that determine the style for a relationship.
      type: object
      properties:
        color:
          description: The line color.
          type: string
        width:
          description: The width of the line in pixels.
          type: integer
        dashType:
          description: The type of dashes to use for the line.
          type: string
    searchRequest:
      description: The request to /searches when performing a search including the object types to search, the query, filter, and selection criteria, as well as which visualizations to return
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        types:
          description: The optional list of type names for the object types to be searched. If missing, all types are searched.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        filter:
          $ref: "#/components/schemas/filter"
        selection:
          $ref: "#/components/schemas/selection"
        visualizations:
          description: The collection of visualizations to be returned. The keys supplied in this map are used in the search response to identify the requested visualizations. See the visualization request definitions for details.
          type: object
          items:
            $ref: "#/components/schemas/visualizationRequest"
    searchResponse:
      description: The response from /searches when performing a search including the various visualizations that can be returned.
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        types:
          description: The list of object type names from the search request.
          type: array
          items:
            type: string
        query:
          $ref: "#/components/schemas/query"
        visualizations:
          description: The requested search visualizations keyed by the identifiers specified in the search request. See the visualization response definitions for details.
          type: array
          items:
            anyOf:
              - $ref: "#/components/schemas/visualizationResponseTypeFacets"
              - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetDate"
              - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetNumerical"
              - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetNumerical"
              - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetTerms"
              - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetType"
              - $ref: "#/components/schemas/visualizationResponseTypeHits"
              - $ref: "#/components/schemas/visualizationResponseTypeMap"
              - $ref: "#/components/schemas/visualizationResponseTypeMapFeature"
              - $ref: "#/components/schemas/visualizationResponseTypeSummary"
              - $ref: "#/components/schemas/visualizationResponseTypeTable"
              - $ref: "#/components/schemas/visualizationResponseTypeTimebar"
              - $ref: "#/components/schemas/visualizationResponseTypeTimeline"
        errors:
          description: Any errors relating to the search.
          type: array
          items:
            $ref: "#/components/schemas/error2"
    selection:
      description: The criteria by which search results are marked as selected. In order to perform certain tasks within SAS Visual Investigator, such as adding search results to a workspace or expanding nodes in a network, the search results must first be selected. Manually selecting large numbers of results can be tedious; therefore, SAND allows manual selection to be combined with query-based selection. In query-based selection, all matching objects are marked as selected. In facet-based selection, all objects matching any of the filters are marked as selected. The filter parameter represents the facet-based selection; the include parameter represents the manual and query based selections; the exclude parameter represents the manual and query based de-selections. All parameters are optional such that selections can be made by filter only, by include query only, or by object references and compound values. Objects matching either the filter or the include parameter are selected as long as they do not match the exclude parameter.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        filter:
          $ref: "#/components/schemas/filter"
        include:
          $ref: "#/components/schemas/selectionQueryAndObjectReferences"
        exclude:
          $ref: "#/components/schemas/selectionQueryAndObjectReferences"
    selectionQueryAndObjectReferences:
      description: The query-based selection as well as the object references and compound values representing the manually included or excluded hits.
      type: object
      properties:
        query:
          $ref: "#/components/schemas/query"
        objectIds:
          description: The references to the included or excluded objects.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
        compoundValues:
          description: The compound values for the included or excluded resolved entities.
          type: array
          items:
            type: string
    setting:
      description: An application setting.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        name:
          description: The name of the application setting.
          type: string
        value:
          description: The value of the application setting.
          type: object
        errors:
          description: Any messages related to updating the setting.
          type: array
          items:
            $ref: "#/components/schemas/error2"
    settingCollection:
      description: A collection of application settings.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.setting+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/setting"
    summaryField:
      description: The content of a single field.
      type: object
      properties:
        name:
          description: The display name of the field.
          type: string
        fieldName:
          description: The name of the field.
          type: string
        type:
          description: The type of data the field contains.
          type: string
          enum:
            - boolean
            - date
            - double
            - float
            - integer
            - long
            - text
        value:
          description: The value of the field.
          oneOf:
            - type: string
            - type: number
            - type: boolean
        masked:
          $ref: "#/components/schemas/maskedFieldConfiguration"
    synonym:
      description: A synonym for synonym searching. Saved and returned in a collection via /admin/config/synonyms.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        terms:
          description: The list of terms as a comma-separated list or as two comma-separated lists with the symbol => in the middle of them.
          type: string
    synonymCollection:
      description: A collection of synonyms for synonym searching.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.synonym+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/synonym"
    traversalRequest:
      description: The request to /traversals for performing a breadth first graph search in the Network visualization
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        vertexTypes:
          description: The optional list of object type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        vertexFilter:
          $ref: "#/components/schemas/filter"
        edgeTypes:
          description: The optional list of relationship type names for restricting the search to particular types. If missing, all types are included in the search.
          type: array
          items:
            type: string
        edgeFilter:
          $ref: "#/components/schemas/filter"
        query:
          $ref: "#/components/schemas/query"
        depth:
          description: The number of levels the traversal should explore. The minimum (and default) value is 1; the maximum value is 3.
          type: integer
        extendedFormat:
          description: Defaults to false but if set to true, edges will be returned as well as vertex degree and adjacent counts.
          type: boolean
        graphObjectIds:
          description: The identifiers for additional vertices that should be included in the graph but are not already included in the search criteria.
          type: array
          items:
            $ref: "#/components/schemas/objectIdentifier"
        graphCompoundValues:
          description: The compound values for additional resolved vertices that should be included in the graph but are not already included in the search criteria.
          type: array
          items:
            type: string
    type:
      description: The request and response for /admin/config/types/{type} when retrieving or updating the configuration for a single object or relationship type.
      type: object
      properties:
        version:
          description: The representation version (3).
          type: integer
        solution:
          description: The name of the solution.
          type: string
          default: default
        name:
          description: The unique name for the type.
          type: string
        displayName:
          description: The localized display name for the type. Note for this release, this is the actual localized text as only one language is supported; in future, this member is the resource key to look up the localized display name.
          type: string
        category:
          description: The category of the object or relationship type. The alert category applies to object types generated by the Alert component and support free text, faceted, and graph search (represented by vertices in the Network visualization). The entity category (the default category) applies to all other object types and supports free text, faceted, geo, and graph search (represented by vertices in the Network visualization). The resolvedEntity category applies to object types generated by the Entity Resolution component and supports free text, geo, and graph search (represented by vertices in the Network visualization). The entityRelationship category applies to relationship types between internal, external, or alert objects and supports graph search (represented by edges in the Network visualization). The resolvedEntityRelationship category applies to relationship types (between resolved objects and their contributing objects) generated by the Entity Resolution component and supports graph search (represented by edges in the Network visualization).
          type: string
          enum:
            - alert
            - entity
            - resolvedEntity
            - entityRelationship
            - resolvedEntityRelationship
        fields:
          description: The field definitions keyed by field name. Field names can contain up to 150 alphanumeric characters and underscores but cannot start with an underscore.
          type: object
          items:
            $ref: "#/components/schemas/typeField"
        options:
          description: "Any options relating to this type. The boolean option indexed_for_search specifies whether objects of this type can be indexed (defaults to true). The integer option number_of_shards specifies the number of sections that the indexed data is divided into. These sections are distributed across the underlying search engine's data nodes. The acceptable range of values is from 1 to 1024. The default value is 1. The value should be set to ensure that each shard is no bigger than 50GB but ideally somewhere between 10GB and 30GB. As a rough guide, use a value equal to the total size of the indexed data divided by 20GB. The integer option number_of_replicas specifies the number of replica shards (that is, copies) per primary shard. These copies are distributed across the underlying search engine's data nodes to ensure high availability. The acceptable range of values is from 0 to 1024. The default value is 1. A value of 0 disables high availability since there are no replica shards; but, this is useful during the initial data load. The maximum usable value equates to the number of data nodes minus one (since a maximum of one copy of each shard can exist on each data node and one of them is the primary copy). As a rough guide, use a value between 1 and 3. The integer option refresh_interval specifies the frequency (in seconds) by which changes to the indexed data become searchable. The default value is 1. A value of -1 disables the refresh and is therefore useful when performing large bulk operations; otherwise a positive value is expected. Warnings: 1. modifying the number_of_shards, number_of_replicas or refresh_interval options can adversely affect the performance and stability of the application and as such they should be set only by advanced users. 2. changing the indexed_for_search option to false causes all indexed data for this type to be deleted, which cannot be undone without first making a backup."
          type: object
        config:
          $ref: "#/components/schemas/typeConfiguration"
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    typeCollection:
      description: A collection of object and relationship types.
      allOf:
        - $ref: "#/components/schemas/baseCollection2"
        - type: object
          properties:
            items:
              description: The array of `application/vnd.sas.sand.type+json` representations.
              type: array
              items:
                $ref: "#/components/schemas/type"
    typeConfiguration:
      description: The configuration relating to the various search visualizations. Although each sub-section is optional, their absence reduces the functionality available when interacting with objects or relationships of this type.
      type: object
      properties:
        summary:
          $ref: "#/components/schemas/typeConfigurationSummary"
        table:
          $ref: "#/components/schemas/typeConfigurationTable"
        graph:
          $ref: "#/components/schemas/typeConfigurationGraph"
        facets:
          description: The configuration options for the Facets visualization.
          type: array
          items:
            anyOf:
              - $ref: "#/components/schemas/typeConfigurationFacet"
              - $ref: "#/components/schemas/typeConfigurationFacetTerms"
              - $ref: "#/components/schemas/typeConfigurationFacetNumerical"
              - $ref: "#/components/schemas/typeConfigurationFacetType"
              - $ref: "#/components/schemas/typeConfigurationFacetDate"
        textAnalytics:
          $ref: "#/components/schemas/typeConfigurationTextAnalytics"
        events:
          description: The events configuration relating to the Map, Map Feature, Time Line, and Time Bar visualizations. This is relevant only to object types of the entity category.
          type: array
          items:
            $ref: "#/components/schemas/typeConfigurationEvent"
        label:
          $ref: "#/components/schemas/typeConfigurationLabel"
        description:
          $ref: "#/components/schemas/typeConfigurationLabel"
    typeConfigurationEvent:
      description: The configuration for extracting an event from the objects of a single type. Events capture what, when, where information and serve as the units of data for the Map, Map Feature, Time Line, and Time Bar visualizations.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        root:
          description: The root path. The context for the field names or paths used elsewhere in the event configuration. The path must be / delimited and end with an object or array field but not a primitive field. Also, the path is limited to going via object fields and not via array fields. The default value of a single / sets the context as the top-level fields in the object. A path ending in an array field causes at most one event to be extracted for each entry in the array.
          type: string
        fields:
          $ref: "#/components/schemas/typeConfigurationEventFields"
        requiredFields:
          description: Optional list of field specifiers for object fields that must contain a value so that the event can be extracted. This can do the following`:` make the event extraction conditional on the content of fields that are not referenced elsewhere in the event configuration; enforce that an event has both time and location values; or ensure values exist for the fields used to construct the event's label or description.
          type: array
          items:
            type: string
    typeConfigurationEventFields:
      description: The prescription for extracting each event field and an event's location value. The prescriptions can be static text, which is literal text not extracted from the object. In other words, the event field is populated with this exact value; a field specifier (the name of a field at the specified root level or a / delimited path to a field elsewhere in the object. Field paths can be relative to the root path or absolute paths (by starting with a /). Note these paths must end in a field containing a primitive value but like the root path cannot go via fields containing arrays. The event field is populated with the value of the specified field); or tokenized text (a combination of literal text and tokens. A token is specified with {} brackets between which is a field specifier. Tokens are replaced with field values when the event is extracted).
      type: object
      properties:
        category:
          description: Optional static text defining the category for this event. This must be a unique value compared to other events defined for this object type.
          type: string
        label:
          description: Optional tokenized text defining a short summary for this event.
          type: string
        description:
          description: Optional tokenized text defining a longer summary for this event.
          type: string
        pointTimestamp:
          description: Optional tokenized text defining the point-in-time value for this event as an ISO formatted string. This is tokenized to allow the date and time portions of the ISO formatted string to be extracted from different fields.
          type: string
          format: date-time
        intervalStartTimestamp:
          description: Optional tokenized text defining the interval start time for this event as an ISO formatted string. This is tokenized to allow the date and time portions of the ISO formatted string to be extracted from different fields.
          type: string
          format: date-time
        intervalEndTimestamp:
          description: Optional tokenized text defining the interval end time for this event as an ISO formatted string. This is tokenized to allow the date and time portions of the ISO formatted string to be extracted from different fields.
          type: string
          format: date-time
        longitude:
          description: Optional field specifier for a field containing a valid longitude value to use when populating the location field for this event. (See the complete media type example.)
          type: string
        latitude:
          description: Optional field specifier for a field containing a valid latitude value to use when populating the location field for this event. (See the complete media type example.)
          type: string
        geoJson:
          description: Optional field specifier for a field containing valid GeoJSON to use when populating the location field for this event. (See the complete media type example.)
          type: string
    typeConfigurationFacet:
      description: The configuration of a single facet for a single object type in relation to the Facets visualization. The Facets visualization presents various facets for each object type found in the search. Each facet includes the hit counts per field value (or range of field values for numerical and date fields). See specific facet configuration definitions for more details.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        type:
          description: The type of this facet object. The value of this property determines which other properties are expected.
          type: string
          enum:
            - dateRange
            - range
            - terms
            - type
    typeConfigurationFacetDate:
      description: The dateRange facet produces a set of hit counts for configured ranges of values for a date field as well as supplementary information about which filters a user should be allowed to apply
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            accuracy:
              description: The accuracy of the filter or range parameters. Date values are adjusted to this accuracy level prior to being used in filters.
              type: string
              enum:
                - year
                - month
                - day
                - hour
                - minute
                - second
                - millisecond
            filter:
              $ref: "#/components/schemas/typeConfigurationFacetRangeFilter"
            ranges:
              description: The administrator is responsible for configuring these ranges appropriate to the data in the customer deployment should they want to provide hints as to which range filters might be useful to apply when drilling into search results. Whilst the various range parameters are optional, at least one must be specified and only one of gt and gte can be specified and similarly for lt and lte.
              type: array
              items:
                $ref: "#/components/schemas/typeConfigurationFacetDateRange"
    typeConfigurationFacetDateRange:
      description: The configuration for a single date range.
      type: object
      properties:
        description:
          description: The description of this range.
          type: string
        id:
          description: The id of this range.
          type: string
        gt:
          description: The optional ISO formatted date time string for the greater than value.
          type: string
          format: date-time
        gte:
          description: The optional ISO formatted date time string for the greater than or equal to value.
          type: string
          format: date-time
        lt:
          description: The optional ISO formatted date time string for the less than value.
          type: string
          format: date-time
        lte:
          description: The optional ISO formatted date time string for the less than or equal to value.
          type: string
          format: date-time
    typeConfigurationFacetNumerical:
      description: The range facet produces a set of hit counts for configured ranges of values for a numerical field as well as supplementary information about which filters a user should be allowed to apply
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            filter:
              $ref: "#/components/schemas/typeConfigurationFacetRangeFilter"
            ranges:
              description: The administrator is responsible for configuring these ranges appropriate to the data in the customer deployment should they want to provide hints as to which range filters might be useful to apply when drilling into search results. Whilst the various range parameters are optional, at least one must be specified and only one of gt and gte can be specified and similarly for lt and lte.
              type: array
              items:
                $ref: "#/components/schemas/typeConfigurationFacetNumericalRange"
    typeConfigurationFacetNumericalRange:
      description: The configuration for a single numerical range
      type: object
      properties:
        description:
          description: The description of this range.
          type: string
        id:
          description: The id of this range.
          type: string
        gt:
          description: The optional greater than value.
          type: number
        gte:
          description: The optional greater than or equal to value.
          type: number
        lt:
          description: The optional less than value.
          type: number
        lte:
          description: The optional less than or equal to value.
          type: number
    typeConfigurationFacetRangeFilter:
      description: The filter options intended as a guide for user entered filters on this field. The administrator is responsible for defining these appropriate to the client and customer deployment should they want to allow users to enter their own filters
      type: object
      properties:
        allowExact:
          description: If true, clients should allow users to define their own filter on exact numerical values.
          type: boolean
        allowRange:
          description: If true, clients should allow users to define their own range filter (rather than using one of the configured ranges).
          type: boolean
        fromType:
          description: One of gt or gte indicating what the from range parameter should be.
          type: string
          enum:
            - gt
            - gte
        toType:
          description: One of lt or lte indicating what the to range parameter should be.
          type: string
          enum:
            - lt
            - lte
        displayFormat:
          description: An optional regular expression or other format string that can be used to validate user input.
          type: string
    typeConfigurationFacetTerms:
      description: The terms facet produces a set of hit counts categorized by field value for a given text field (or a boolean or numerical field known to have a finite set of values).
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            limit:
              description: The maximum number of buckets to include in the result. The default value is 100.
              type: integer
              default: 100
            displayLimit:
              description: The maximum number of buckets to display in a UI. This is intended to be used when screen space is limited.
              type: integer
            minDocCount:
              description: The minimum hit count each bucket must have to be included in the result. Accepted values are 0 (no restriction) and 1 (buckets must have a hit count greater than or equal to one to be included).
              type: integer
            orderBy:
              description: Specifies how the buckets are to be ordered. Accepted values are count (to order the buckets by hit count) and alpha (to order the buckets by term in this case).
              type: string
              enum:
                - alpha
                - count
            orderDirection:
              description: Specifies the direction in which the buckets are to be ordered. Accepted values are asc (for ascending) and desc (for descending).
              type: string
              enum:
                - asc
                - desc
            calculateCounts:
              description: Whether to calculate the hit counts for each field value and return the results.
              type: boolean
              default: true
            allowUserEnteredFilters:
              description: If true, clients should allow users to define their own terms filter (rather than filtering by the bucket values).
              type: boolean
              default: false
    typeConfigurationFacetType:
      description: The type facet produces a set of hit counts categorized by object type.
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacet"
        - type: object
          properties:
            limit:
              description: The maximum number of buckets to include in the result. The default value is 0, or no limit.
              type: integer
            displayLimit:
              description: The maximum number of buckets to display in a UI. This is intended to be used when screen space is limited.
              type: integer
            minDocCount:
              description: The minimum hit count each bucket must have to be included in the result. Accepted values are 0 (no restriction) and 1 (buckets must have a hit count greater than or equal to one to be included).
              type: integer
            orderBy:
              description: Specifies how the buckets are to be ordered. Accepted values are count (to order the buckets by hit count) and alpha (to order the buckets by type name in this case).
              type: string
              enum:
                - alpha
                - count
            orderDirection:
              description: Specifies the direction in which the buckets are to be ordered. Accepted values are asc (for ascending) and desc (for descending).
              type: string
              enum:
                - asc
                - desc
    typeConfigurationGraph:
      description: The configuration options for the Network visualization
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        fields:
          description: The names of the fields whose values are included in the vertex.
          type: array
          items:
            type: string
    typeConfigurationLabel:
      description: The label or description configuration.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        template:
          description: The template for the label, which can be a mixture of static text and field substitutions. Field substitutions are represented by {i} where i is the zero based index into the list of values. As it stands, any static text will not be localized; in the future this template string is replaced with a resource key such that the locale appropriate template string can be retrieved.
          type: string
        values:
          description: The names of the fields whose values are substituted into the template.
          type: array
          items:
            type: string
    typeConfigurationSummary:
      description: The configuration options for the Summary visualization.
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        fields:
          description: The names of the fields whose values are included in the summary.
          type: array
          items:
            type: string
        highlighting:
          $ref: "#/components/schemas/typeConfigurationSummaryHighlighting"
    typeConfigurationSummaryHighlighting:
      description: The highlighting options keyed by field name.
      type: object
      properties:
        highlighter:
          description: The name of the highlighter to use. Accepted values are unified (the default highlighter), plain, and fvh (fast vector highlighter). For details about the supported highlighters, when to use them and the related field configuration see [Highlighting in OpenSearch](https://opensearch.org/docs/2.19/search-plugins/searching-data/highlight/#highlighter-types).
          type: string
          enum:
            - unified
            - plain
            - fvh
        fragments:
          description: The maximum number of text fragments to include for this field.
          type: integer
        fragmentSize:
          description: The maximum number of characters to include in each text fragment.
          type: integer
    typeConfigurationTable:
      description: The configuration options for the Table visualization.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        fields:
          description: The names of the fields whose values are included in the table.
          type: array
          items:
            type: string
    typeConfigurationTextAnalytics:
      description: The configuration options for the Text Analytics visualization.
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        fields:
          description: The names of the fields whose values are included in the Corpus.
          type: array
          items:
            type: string
        fromField:
          description: The optional name of the field whose values are used for the `from` nodes in the Sankey diagram.
          type: string
        toFields:
          description: The optional names of the fields whose values are used for the `to` nodes in the Sankey diagram.
          type: array
          items:
            type: string
    typeField:
      description: The definition of a single field
      type: object
      properties:
        displayName:
          description: The localized display name for the field. Note for this release, this is the actual localized text as only one language is supported; in future, this member is the resource key to look up the localized display name.
          type: string
        type:
          description: The type of data the field contains. geoPoint is for fields containing an array of double where the first entry is the longitude value and the second entry is the latitude; geoShape is for fields containing GeoJSON; nested and object are for fields that contain other fields as defined by the innerFields member (nested differs in that it supports an array of values as opposed to a single set of inner fields).
          type: string
          enum:
            - boolean
            - date
            - double
            - float
            - geoPoint
            - geoShape
            - integer
            - long
            - nested
            - object
            - text
        options:
          description: "Any options relating to this field as map of string to object. The boolean option indexed_for_search specifies whether this field can be indexed (defaults to true). The format option specifies how to parse the date time values. See [OpenSearch date formats](https://opensearch.org/docs/2.19/field-types/supported-field-types/date/#formats) for details. Text fields support a features option that accepts an array containing zero or more of the following: `search`, `facet`, `sort`, `html`, `phonetic`, `synonym`. The search feature allows the text field to be used in free-text queries by ensuring that the text is analyzed using the configured search analyzers. The facet feature allows the text field to be used in terms filters and facets by ensuring that the text is analyzed using the configured facet analyzer. The sort feature allows the text field to be used to order search results by ensuring that the text is analyzed using the configured sort analyzer. The html feature ensures any html tags contained in the text field are removed when the data is indexed. The phonetic feature allows the text field to be used in phonetic searches by ensuring that the text is analyzed using the sand_phonetic analyzer. The synonym feature allows the text field to be used in synonym searches by ensuring that the text is analyzed using the sand_synonym analyzer. By default, only the search feature is enabled. However, the facet and sort features are automatically enabled when a text field is used in a terms facet or in the Table visualization, respectively. An empty array specifies that the text field should not support any of these features. In this case, search results can still be based on the content of the field but queries specifically on this field must match the content exactly. Text fields support five analyzer options to precisely control the search, facet and sort behavior. The analyzer option specifies which analyzer to use when indexing and searching the data in this text field. The default value is the most appropriate language analyzer determined by the global or tenant locale setting. This option accepts any of the standard, language or sand analyzers except for sand_not_analyzed, sand_icu_sort, sand_icu_shingle, and sand_phonetic. Note that analyzers that produce a single token are less appropriate for free-text search. The search_analyzer option specifies which analyzer to use, as an alternative to the analyzer option, when searching the data in this text field (making the analyzer option only affect the indexing of the data). Note that the output of the search analyzer must match the output of the index analyzer for there to be any results. For example, the Stop and Simple analyzers or the Synonym and appropriate language analyzers work well together. The search_quote_analyzer option specifies which analyzer to use, as an alternative to the analyzer and search_analyzer options, specifically when using quotes around query terms to search the data in this text field (making the search analyzer apply to unquoted queries). Note that the output of the quote analyzer needs to match the output of the index analyzer for there to be any results. For example, the Stop and Simple analyzers or the Synonym and appropriate language analyzers work well together. The facet_analyzer option specifies which analyzer to use for terms facets on this text field. The default value is sand_not_analyzed. This option accepts any of the standard, language or sand analyzers except for sand_icu_sort. Note that analyzers that produce a single token are more appropriate for terms facets. The sort_analyzer option specifies which analyzer to use when sorting search results based on this text field. The default value is sand_icu_sort. This option accepts any of the standard, language or sand analyzers but the default value should be used to sort results correctly for non-English locales."
          type: object
        innerFields:
          description: The inner field definitions keyed by field name. Note this is applicable only to object or nested field types.
          type: object
          items:
            $ref: "#/components/schemas/typeField"
    typeStatus:
      description: Part of the response from /admin/operations where the operation is refreshConfiguration (for checking the consistency between the cached and stored configuration)
      type: object
      properties:
        version:
          description: The representation version (1).
          type: integer
        refreshRequired:
          description: Whether a refresh is required to update the cached configuration.
          type: boolean
        reindexRequired:
          description: Whether a re-index is required to update the cached configuration.
          type: boolean
        links:
          description: Zero or more links to related resources or operations. See the link relations table for a description of the link types.
          type: array
          items:
            $ref: "#/components/schemas/link"
    vertex:
      description: The response from /vertices/{type}/{identifier} as well as more generally a vertex within the context of the Network visualization
      type: object
      properties:
        version:
          description: The representation version (2).
          type: integer
        id:
          description: The identifier of the vertex.
          type: string
        type:
          description: The object type of the vertex.
          type: string
        typeLabel:
          description: The localized display name of the object type.
          type: string
        compoundValues:
          description: The list of compound values if this vertex is a resolved object.
          type: array
          items:
            type: string
        label:
          description: The summary label for the vertex.
          type: string
        attachmentsCount:
          description: The number of attachments if the vertex is an internal or external object.
          type: integer
        adjacent:
          description: The number of vertices one edge away from this vertex.
          type: integer
        degree:
          description: The number of edges entering and leaving this vertex.
          type: integer
        adjacentByType:
          description: The adjacent count broken down by object type. The key is the object type name; the value is the adjacent count for that object type.
          type: object
        degreeByType:
          description: The degree count broken down by relationship type. The key is the relationship type name; the value is the degree count for that relationship type.
          type: object
        fields:
          description: The field values (according to the object type's graph configuration).
          type: array
          items:
            $ref: "#/components/schemas/summaryField"
        validFrom:
          description: The optional datetime that the vertex is valid from as an ISO formatted string.
          type: string
          format: date-time
        validTo:
          description: The optional datetime that the vertex is valid to as an ISO formatted string.
          type: string
          format: date-time
        selected:
          description: True if the vertex matches the selection criteria in the search request.
          type: boolean
        style:
          $ref: "#/components/schemas/objectTypeStyle"
    visualizationRequest:
      description: The visualization request parameters.
      type: object
      properties:
        type:
          description: The type of visualization. The value of this property determines which other properties are expected.
          type: string
          enum:
            - facets
            - hits
            - map
            - mapFeature
            - summary
            - table
            - timebar
            - timeline
    visualizationRequestOrder:
      description: The means by which the search results are to be ordered.
      type: object
      properties:
        type:
          description: The type of order. Accepted values are doc (provides a consistent order), field (orders by field values), and score (orders by relevance in relation to the query).
          type: string
          enum:
            - doc
            - field
            - score
        direction:
          description: The order direction if the type is doc or score. The default value for doc is ascending while the default for score is descending.
          type: string
          enum:
            - ascending
            - descending
        fields:
          description: The fields to base the ordering on if the type is field.
          type: array
          items:
            $ref: "#/components/schemas/visualizationRequestOrderField"
    visualizationRequestOrderField:
      description: The configuration for ordering by the values in a single field.
      type: object
      properties:
        name:
          description: The name of the field.
          type: string
        entityType:
          description: The name of the object type containing the field.
          type: string
        direction:
          description: The order direction.
          type: string
          enum:
            - ascending
            - descending
    visualizationRequestTypeFacets:
      description: The request parameters for the Facets visualization that presents various facets for each object type found in the search. Each facet includes the hit counts per field value (or range of field values for numerical and date fields). Before this visualization can be requested, an administrator needs to define the facets for each type via the /admin/config endpoint.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            types:
              description: The optional list of type names for restricting the facets that are returned. If missing, facets will be returned for all types found by the search.
              type: array
              items:
                type: string
            mode:
              description: The Facets visualization mode. Accepted values are filter (highlights which filters are being used to drill into the results) and selection (highlights which filters are being used to mark results as selected).
              type: string
              enum:
                - filter
                - selection
    visualizationRequestTypeMap:
      description: The request parameters for the Map visualization that returns geo data in the form of events extracted from the objects found in the search. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoint.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            view:
              description: The optional view as a geo bounded box. In other words, with the top left and bottom right coordinates. The first entry in each coordinate array should be the longitude and the second entry should be the latitude.
              type: array
              items:
                type: array
                items:
                  type: number
            maxFeatures:
              description: The maximum number of features to return before the results are clustered. The default value is 10,000.
              type: integer
    visualizationRequestTypeMapFeature:
      description: The request parameters for the Map Feature visualization that returns more detailed information about the features and events at a given location. For use in conjunction with the Map visualization.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            lat:
              description: The latitude of the map feature (extracted from the Map visualization in an earlier search).
              type: number
            lon:
              description: The longitude of the map feature (extracted from the Map visualization in an earlier search).
              type: number
            maxEvents:
              description: The maximum number of events to include in the response. Used to limit the information returned when the map feature consists of multiple events all at the same location.
              type: integer
    visualizationRequestTypeSummary:
      description: The request parameters for the Summary visualization that returns a page of summary objects, one for each object found in the search. In order to get more meaningful information returned in each summary object, an administrator is required to configure the fields and highlighting sections for each type via the /admin/config endpoint. Clients can optionally specify a set of fields for each type using the 'fields' property.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            start:
              description: The number of the first hit to include in the page of results. The very first hit is number 1, which is assumed if the parameter is missing from the request.
              type: integer
            limit:
              description: The maximum number of hits to include in the page of results. The minimum acceptable value is 1 and the maximum is 2000. The default value is 50, which is assumed if the parameter is missing from the request.
              type: integer
            order:
              $ref: "#/components/schemas/visualizationRequestOrder"
            fields:
              description: The set of fields to return grouped by object type. This overrides the fields configured by an administrator.
              type: array
              items:
                $ref: "#/components/schemas/objectTypeFields"
    visualizationRequestTypeTable:
      description: >
        The request parameters for the Table visualization that returns the objects found in the search as a table where columns are fields and rows are hits. The columns can either be separately configured or supplied by the client.
          * When configured and results are viewed for multiple types, only the type and label columns are shown but a configurable number of columns are shown when viewing results of a single type. An administrator is therefore required to configure the columns for each type via the /admin/config endpoint before this visualization displays more detailed information. 
          * Alternatively, the client can optionally specify a set of fields for each type using the 'fields' property.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            start:
              description: The number of the first hit to include in the page of results. The very first hit is number 1, which is assumed if the parameter is missing from the request.
              type: integer
            limit:
              description: The maximum number of hits to include in the page of results. The minimum acceptable value is 1 and the maximum is 500. The default value is 50, which is assumed if the parameter is missing from the request.
              type: integer
            order:
              $ref: "#/components/schemas/visualizationRequestOrder"
            fields:
              description: The set of fields to return grouped by object type. This overrides the fields configured by an administrator.
              type: array
              items:
                $ref: "#/components/schemas/objectTypeFields"
    visualizationRequestTypeTimebar:
      description: The request parameters for the Time Bar visualization that returns the number of objects found in the search categorized by intervals of time where time-related data is in the form of events. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoint. This visualization is intended to be presented as a date histogram with time on the X axis and the hit count on the Y axis. The X-axis units scale depending on the amount of time events between the earliest and latest date values.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            startTimestamp:
              description: The ISO formatted string date value for the start of the view port. The earliest value in the results is used by default.
              type: string
              format: date-time
            endTimestamp:
              description: The ISO formatted string date value for the end of the view port. The latest value in the results is used by default.
              type: string
              format: date-time
            intervalCount:
              description: The maximum number of intervals the client can support. This value along with the time range is used to calculate the optimal interval size.
              type: integer
            geoEventsRequired:
              description: Whether the events must also contain geo data. The default value is false to include all time events. This setting is useful when displaying this visualization along side the Map visualization.
              type: boolean
    visualizationRequestTypeTimeline:
      description: The request parameters for the Time Line visualization that returns time-related data in the form of events extracted from the objects found in the search. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoint. This visualization is intended to be presented as a series of charts or swim lanes, one per object, with time on the X axis and the events or swim lane entries relating to the current swim lane plotted at the appropriate points in time. The X axis units scale depending on the amount of swim lane entries between the earliest and latest date values. The swim lane entries can be individual events or clusters containing multiple events depending on the request parameters and the number of events within the same time interval.
      allOf:
        - $ref: "#/components/schemas/visualizationRequest"
        - type: object
          properties:
            start:
              description: The number of the first hit to include in the page of results. The very first hit is number 1, which is assumed if the parameter is missing from the request.
              type: integer
            limit:
              description: The maximum number of hits to include in the page of results. The minimum acceptable value is 1 and the maximum is 500. The default value is 50, which is assumed if the parameter is missing from the request.
              type: integer
            order:
              $ref: "#/components/schemas/visualizationRequestOrder"
            startTimestamp:
              description: The ISO formatted string date value for the start of the view port. The earliest value in the results is used by default.
              type: string
              format: date-time
            endTimestamp:
              description: The ISO formatted string date value for the end of the view port. The latest value in the results is used by default.
              type: string
              format: date-time
            intervalCount:
              description: The number of swim lane entries per interval of time to return un-clustered. The default value is 1.
              type: integer
            minimumClusterSize:
              description: The minimum number of events required to compose a single cluster. The default value is 2.
              type: integer
            paddingFactor:
              description: The amount of context relative to the horizontal view port as a multiple of the time range. This is to help clients with smoother scrolling.
              type: integer
    visualizationResponse:
      description: The visualization response parameters
      type: object
      properties:
        type:
          description: The type of visualization. The value of this property determines which other properties are expected.
          type: string
          enum:
            - facets
            - hits
            - map
            - mapFeature
            - summary
            - table
            - timebar
            - timeline
    visualizationResponseTypeFacets:
      description: The response parameters for the Facets visualization that presents various facets for each object type found in the search. Each facet includes the hit counts per field value (or range of field values for numerical and date fields). Before this visualization can be requested, an administrator needs to define the facets for each type via the /admin/config endpoint.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeFacets"
        - type: object
          properties:
            facets:
              description: The facets grouped by type.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeFacetsGroup"
    visualizationResponseTypeFacetsGroup:
      description: The facets for a single object type.
      type: object
      properties:
        objectType:
          description: The object type name. _all is used to denote global facets based on fields common to multiple types.
          type: string
        facets:
          description: The facets for the current type.
          type: array
          items:
            $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacet"
    visualizationResponseTypeFacetsGroupFacet:
      description: A group of facet results.
      type: object
      properties:
        type:
          description: The type of this facet object. The value of this property determines which other properties are expected.
          type: string
          enum:
            - dateRange
            - range
            - terms
            - type
    visualizationResponseTypeFacetsGroupFacetDate:
      description: A group of date range facet results.
      allOf:
        - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            fieldLabel:
              description: The localized display name of the field.
              type: string
            accuracy:
              description: The accuracy of the filter or range parameters. Date values are adjusted to this accuracy level prior to being used in filters.
              type: string
              enum:
                - year
                - month
                - day
                - hour
                - minute
                - second
                - millisecond
            hitCount:
              description: The number of hits relevant to this facet.
              type: integer
            selectedHitCount:
              description: The subset of hits relevant to this facet that match the selection criteria in the search request.
              type: integer
            min:
              description: The minimum field value found in the matching objects.
              type: string
            max:
              description: The maximum field value found in the matching objects.
              type: string
            filter:
              $ref: "#/components/schemas/typeConfigurationFacetRangeFilter"
            userEnteredFilters:
              description: The collection of user entered filters for this field provided in the search request. Intended to be used to track the users filters without requiring server or client side caching of search requests.
              type: array
              items:
                $ref: "#/components/schemas/filter"
            ranges:
              description: The results for the configured ranges. The administrator is responsible for configuring these ranges appropriate to the data in the customer deployment should they want to provide hints as to which range filters might be useful to apply when drilling into search results.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetDateRange"
    visualizationResponseTypeFacetsGroupFacetDateRange:
      description: The results for a pre-configured date range
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacetDateRange"
        - type: object
          properties:
            hitCount:
              description: The number of hits for the current range.
              type: integer
            selectedHitCount:
              description: The subset of hits for the current range that match the selection criteria in the search request.
              type: integer
            selected:
              description: True if the search request included a filter for this range.
              type: boolean
    visualizationResponseTypeFacetsGroupFacetNumerical:
      description: A group of numerical range facet results.
      allOf:
        - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            fieldLabel:
              description: The localized display name of the field.
              type: string
            hitCount:
              description: The number of hits relevant to this facet.
              type: integer
            selectedHitCount:
              description: The subset of hits relevant to this facet that match the selection criteria in the search request.
              type: integer
            min:
              description: The minimum field value found in the matching objects.
              type: number
            max:
              description: The maximum field value found in the matching objects.
              type: number
            filter:
              $ref: "#/components/schemas/typeConfigurationFacetRangeFilter"
            userEnteredFilters:
              description: The collection of user entered filters for this field provided in the search request. Intended to be used to track the users filters without requiring server or client side caching of search requests.
              type: array
              items:
                $ref: "#/components/schemas/filter"
            ranges:
              description: The results for the configured ranges. The administrator is responsible for configuring these ranges appropriate to the data in the customer deployment should they want to provide hints as to which range filters might be useful to apply when drilling into search results.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetNumericalRange"
    visualizationResponseTypeFacetsGroupFacetNumericalRange:
      description: The results for a pre-configured numerical range.
      allOf:
        - $ref: "#/components/schemas/typeConfigurationFacetNumericalRange"
        - type: object
          properties:
            hitCount:
              description: The number of hits for the current range.
              type: integer
            selectedHitCount:
              description: The subset of hits for the current range that match the selection criteria in the search request.
              type: integer
            selected:
              description: True if the search request included a filter for this range.
              type: boolean
    visualizationResponseTypeFacetsGroupFacetTerms:
      description: A group of terms facet results.
      allOf:
        - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacet"
        - type: object
          properties:
            field:
              description: The name of the field.
              type: string
            fieldLabel:
              description: The localized display name of the field.
              type: string
            hitCount:
              description: The number of hits relevant to this facet.
              type: integer
            selectedHitCount:
              description: The subset of hits relevant to this facet that match the selection criteria in the search request.
              type: integer
            displayLimit:
              description: A limit on the number of buckets to display in a UI should the buckets list be greater than this limit. Intended to be set by the administrator if screen space is limited. There is a separately configurable hard limit to restrict the number of buckets returned.
              type: integer
            userEnteredFilters:
              description: The collection of user entered filters for this field provided in the search request. Intended to be used to track the users filters without requiring server or client side caching of search requests.
              type: array
              items:
                $ref: "#/components/schemas/filter"
            buckets:
              description: The results for this facet.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetTermsBucket"
    visualizationResponseTypeFacetsGroupFacetTermsBucket:
      description: A bucket for the terms facet.
      type: object
      properties:
        term:
          description: The field value. This is usually a string but it can be a boolean or numerical value if the facet is configured for such a field.
          type: object
        hitCount:
          description: The number of hits for the current field value.
          type: integer
        selectedHitCount:
          description: The subset of hits for the field value that match the selection criteria in the search request.
          type: integer
        selected:
          description: True if the search request included a filter on the current field value.
          type: boolean
    visualizationResponseTypeFacetsGroupFacetType:
      description: A group of type facet results.
      allOf:
        - $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacet"
        - type: object
          properties:
            hitCount:
              description: The number of hits relevant to this facet.
              type: integer
            selectedHitCount:
              description: The subset of hits relevant to this facet that match the selection criteria in the search request.
              type: integer
            displayLimit:
              description: A limit on the number of buckets to display in a UI should the buckets list be greater than this limit. Intended to be set by the administrator if screen space is limited. There is a separately configurable hard limit to restrict the number of buckets returned.
              type: integer
            buckets:
              description: The results for this facet.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeFacetsGroupFacetTypeBucket"
    visualizationResponseTypeFacetsGroupFacetTypeBucket:
      description: A bucket for the type facet.
      type: object
      properties:
        type:
          description: The object type name.
          type: string
        typeLabel:
          description: The localized display name for the type.
          type: string
        hitCount:
          description: The number of hits for the current type.
          type: integer
        selectedHitCount:
          description: The subset of hits for the current type that match the selection criteria in the search request.
          type: integer
        selected:
          description: True if the search request included a filter on the current type.
          type: boolean
    visualizationResponseTypeHits:
      description: The response parameters for the Hits visualization that returns the number of objects that matched the search criteria broken down by type. Can be presented to the user as a histogram.
      allOf:
        - $ref: "#/components/schemas/visualizationResponse"
        - type: object
          properties:
            hitCount:
              description: The total number of objects that matched the search criteria.
              type: integer
            hitsPerType:
              description: The number of objects that matched the search criteria broken down by type. This is an array rather than a map to preserve the order of the results. Ordered by descending hit count.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeHitsCount"
    visualizationResponseTypeHitsCount:
      description: The hit count for a single object type
      type: object
      properties:
        type:
          description: The name of the object type.
          type: string
        hitCount:
          description: The number of objects of this type that matched the search criteria.
          type: integer
    visualizationResponseTypeMap:
      description: The response parameters for the Map visualization that returns geo data in the form of events extracted from the objects found in the search. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoint.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeMap"
        - type: object
          properties:
            hitCount:
              description: The number of objects found in the search that contain geo events.
              type: integer
            eventCount:
              description: The number of geo events found in the search.
              type: integer
            featureCount:
              description: The number of features in the response.
              type: integer
            approxGlobalFeatureCount:
              description: An approximation for the total number of features in the indexed objects.
              type: integer
            features:
              $ref: "#/components/schemas/geoJsonFeatureCollection"
            clusters:
              description: The clusters when the results are clustered.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeMapCluster"
    visualizationResponseTypeMapCluster:
      description: A cluster of Map visualization results.
      type: object
      properties:
        geohash:
          description: The geo hash string representing the location of this cluster.
          type: string
        bounds:
          description: The geo bounded box (coordinates array) representing the location of this cluster.
          type: array
          items:
            type: array
            items:
              type: number
        count:
          description: The number of events in this cluster.
          type: integer
        selectedCount:
          description: The subset of events in this cluster that match the selection criteria in the search request.
          type: integer
    visualizationResponseTypeMapFeature:
      description: The response parameters for the Map Feature visualization that returns more detailed information about the features and events at a given location. For use in conjunction with the Map visualization.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeMapFeature"
        - type: object
          properties:
            features:
              $ref: "#/components/schemas/geoJsonFeatureCollection"
    visualizationResponseTypeSummary:
      description: The response parameters for the Summary visualization that returns a page of summary objects, one for each object found in the search. In order to get more meaningful information returned in each summary object, an administrator is required to configure the fields and highlighting sections for each type via the /admin/config endpoint. Clients can optionally specify a set of fields for each type using the 'fields' property.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeSummary"
        - type: object
          properties:
            hitCount:
              description: The total number of objects that matched the search criteria.
              type: integer
            results:
              description: The result objects for the requested page of hits.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeSummaryResult"
    visualizationResponseTypeSummaryResult:
      description: The result object for a single hit.
      type: object
      properties:
        id:
          description: The identifier of the object.
          type: string
        type:
          description: The type of the object.
          type: string
        typeLabel:
          description: The localized display name for the type.
          type: string
        compoundValues:
          description: The list of compound values if this summary is for a resolved object.
          type: array
          items:
            type: string
        label:
          description: The summary label for the object.
          type: string
        attachmentsCount:
          description: The number of attachments on the object if this summary is for an internal or external object.
          type: integer
        fields:
          description: The field values (according to the object type's summary configuration).
          type: array
          items:
            $ref: "#/components/schemas/summaryField"
        highlighting:
          description: The highlighted text fragments matching the search query keyed on the field name (according to the object type's summary configuration).
          type: object
    visualizationResponseTypeTable:
      description: The response parameters for the Table visualization that returns the objects found in the search as a table where columns are fields and rows are hits. When results are viewed for multiple types, only the type and label columns are shown but a configurable number of columns are shown when viewing results of a single type. In order to get more meaningful information returned in each table object, an administrator is required to configure the columns for each type via the /admin/config endpoint. Clients can optionally specify a set of fields for each type using the 'fields' property. In this case, a single column will be returned for fields with the same name and type. If one of those fields is masked, all of the values for that column are masked.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeTable"
        - type: object
          properties:
            hitCount:
              description: The total number of objects that matched the search criteria.
              type: integer
            columnHeadings:
              description: The columns for the requested page of hits.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeTableColumn"
            data:
              description: The row data for the requested page of hits. Each array entry represents a single row as a map keyed by field name (matching up with the column headings). All rows have an id data entry for their unique identifier. Rows relating to resolved entities have an additional, compoundValues data entry for their unique set of compound values.
              type: array
              items: {}
    visualizationResponseTypeTableColumn:
      description: A column within the context of the Table visualization.
      type: object
      properties:
        field:
          description: The name of the field.
          type: string
        label:
          description: The localized display name for the field.
          type: string
        type:
          description: The type of field data.
          type: string
          enum:
            - boolean
            - date
            - double
            - float
            - integer
            - long
            - text
        masked:
          $ref: "#/components/schemas/maskedFieldConfiguration"
    visualizationResponseTypeTimebar:
      description: The response parameters for the Time Bar visualization that returns the number of objects found in the search categorized by intervals of time where time-related data is in the form of events. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoints. This visualization is intended to be presented as a date histogram with time on the X axis and the hit count on the Y axis. The X-axis units scale depending on the amount of time events in the search results.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeTimebar"
        - type: object
          properties:
            hitCount:
              description: The number of objects found in the search that have time events.
              type: integer
            eventCount:
              description: The number of time events from the objects found in the search.
              type: integer
            globalMinTime:
              description: The ISO formatted string for the minimum time value found in the search results.
              type: string
              format: date-time
            globalMaxTime:
              description: The ISO formatted string for the maximum time value found in the search results.
              type: string
              format: date-time
            interval:
              description: The units for the X axis.
              type: string
              enum:
                - oneHundredYear
                - fiftyYear
                - tenYear
                - year
                - quarter
                - month
                - week
                - day
                - hour
                - minute
                - second
            intervalSize:
              description: The units for the X axis in milliseconds.
              type: integer
            timebarIntervals:
              description: The number of objects found in the search that have time events. This is an array rather than a map to preserve the time order of the results.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeTimebarInterval"
    visualizationResponseTypeTimebarInterval:
      description: An interval within the context of the Time Bar visualization.
      type: object
      properties:
        start:
          description: The ISO formatted string for the date time value.
          type: string
          format: date-time
        hitCount:
          description: The number of objects with events within this interval.
          type: integer
    visualizationResponseTypeTimeline:
      description: The response parameters for the Time Line visualization that returns time-related data in the form of events extracted from the objects found in the search. An event captures what, when, where information. Events are extracted from objects as they are indexed. Before this visualization can be requested and preferably before any data is indexed (data can always be re-indexed when events configuration changes), an administrator needs to define which events to extract from each object type via the /admin/config endpoint. This visualization is intended to be presented as a series of charts or swim lanes, one per object, with time on the X axis and the events or swim lane entries relating to the current swim lane plotted at the appropriate points in time. The X axis units scale depending on the amount of swim lane entries. The swim lane entries can be individual events or clusters containing multiple events depending on the request parameters and the number of events within the same time interval.
      allOf:
        - $ref: "#/components/schemas/visualizationRequestTypeTimeline"
        - type: object
          properties:
            interval:
              description: The units for the X axis.
              type: string
              enum:
                - oneHundredYear
                - fiftyYear
                - tenYear
                - year
                - quarter
                - month
                - week
                - day
                - hour
                - minute
                - second
            hitCount:
              description: The number of objects found in the search that have time events.
              type: integer
            eventCount:
              description: The number of time events from the objects found in the search.
              type: integer
            globalMinTime:
              description: The ISO formatted string for the minimum time value found in the search results.
              type: string
              format: date-time
            globalMaxTime:
              description: The ISO formatted string for the maximum time value found in the search results.
              type: string
              format: date-time
            minTime:
              description: The ISO formatted string for the minimum time value found in the current page of results.
              type: string
              format: date-time
            maxTime:
              description: The ISO formatted string for the maximum time value found in the current page of results.
              type: string
              format: date-time
            swimLanes:
              description: The objects found in the search that have time events.
              type: array
              items:
                $ref: "#/components/schemas/visualizationResponseTypeTimelineSwimLane"
            swimLaneEntries:
              description: The time events from the objects found in the search.
              type: array
              items:
                $ref: "#/components/schemas/event"
    visualizationResponseTypeTimelineSwimLane:
      description: A single swim lane in the context of the Time Line visualization.
      type: object
      properties:
        id:
          description: The unique identifier for the swim lane.
          type: string
        objectId:
          description: The identifier for the object.
          type: string
        objectType:
          description: The name of the object type.
          type: string
        objectTypeLabel:
          description: The localized display name for the object type.
          type: string
        label:
          description: The summary label for the object.
          type: string
        description:
          description: The summary description.
          type: string
        attachmentsCount:
          description: The number of attachments.
          type: integer
        selected:
          description: True if the object matches the selection criteria in the search request.
          type: boolean
  examples:
    analyticsCategoriesNestedCategories:
      description: The phrase member can be combined with category and used with /analytics/{jobId}/categories to retrieve the categories of results that were also extracted from the object(s) containing the specified phrase. This example shows the categories of results that were extracted from the same object(s) from which the `John Smith` person was resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: person
          phrase: john smith
        categories:
          - unigram
          - bigram
          - organization
          - location
          - significantTerm
        fromAndTo: true
        errors: []
        links: []
    analyticsCategoriesNextLevelCategories:
      description: A nextLevel member with its own category and phrase can be sent to /analytics/{jobId}/categories to retrieve the categories of results that were extracted from the same object(s) containing both the top-level phrase and next level phrase. This example shows the categories of results that were extracted from the same object(s) from which the `John Smith` person and `SAS` organization were resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: person
          phrase: john smith
          nextLevel:
            category: organization
            phrase: sas
        categories:
          - unigram
          - bigram
          - person
          - location
          - significantTerm
        fromAndTo: true
        errors: []
        links: []
    analyticsCategoriesTopLevelCategories:
      description: An empty request body can be used with /analytics/{jobId}/categories to retrieve the categories for which results were generated. This example is a response to such a request.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        categories:
          - unigram
          - bigram
          - trigram
          - person
          - organization
          - location
          - significantTerm
          - topic
        fromAndTo: true
        errors: []
        links:
          - method: POST
            rel: self
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.categories
          - method: GET
            rel: getJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            type: application/vnd.sas.sand.analytics.job
          - method: GET
            rel: getState
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            type: text/plain
          - method: PUT
            rel: cancelJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            responseType: text/plain
          - method: DELETE
            rel: deleteJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
          - method: GET
            rel: getIdentities
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.identities
          - method: POST
            rel: getResults
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.results
          - method: POST
            rel: getSankeyDiagram
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            type: application/vnd.sas.sand.analytics.sankey.diagram.request
            responseType: application/vnd.sas.sand.analytics.sankey.diagram
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
    analyticsExploreNestedCategories:
      description: The phrase member can be combined with category and used with /analytics/{jobId}/categories to retrieve the categories of results that were also extracted from the object(s) containing the specified phrase. This example retrieves the categories of results that were extracted from the same objects from which the `John Smith` person was resolved.
      value:
        level:
          category: person
          phrase: john smith
    analyticsExploreNestedResults:
      description: The nextLevel member with its own category can be sent to /analytics/{jobId}/results to retrieve the results of the specified (next level) category that were extracted from the same object(s) containing the specified (top-level) phrase. This example retrieves the organization results that were extracted from the same objects from which the `John Smith` person was resolved.
      value:
        level:
          category: person
          phrase: john smith
          nextLevel:
            category: organization
    analyticsExploreNextLevelCategories:
      description: A nextLevel member with its own category and phrase can be sent to /analytics/{jobId}/categories to retrieve the categories of results that were extracted from the same object(s) containing both the top-level phrase and next level phrase. This example retrieves the categories of results that were extracted from the same objects from which the `John Smith` person and `SAS` organization were resolved.
      value:
        level:
          category: person
          phrase: john smith
          nextLevel:
            category: organization
            phrase: sas
    analyticsExploreNextLevelResults:
      description: A second nextLevel member with its own category can be sent to /analytics/{jobId}/results to retrieve the results of the specified second next level category that were extracted from the same object(s) containing both the top-level phrase and next level phrase. This example retrieves the significantTerm results that were extracted from the same objects from which the `John Smith` person and `SAS` organization were resolved.
      value:
        level:
          category: person
          phrase: john smith
          nextLevel:
            category: organization
            phrase: sas
            nextLevel:
              category: significantTerm
    analyticsExploreTopLevelCategories:
      description: An empty request body can be used with /analytics/{jobId}/categories to retrieve all the categories for which results were generated.
      value: {}
    analyticsExploreTopLevelResults:
      description: The category member can be used on its own with /analytics/{jobId}/results to retrieve the results of a single category. This example retrieves the significant terms.
      value:
        level:
          category: significantTerm
    analyticsIdentities:
      description: An example of the response from /analytics/{jobId}/identities containing the identities for the person, organization and location entities that were resolved by the text analytics job.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        identities:
          person:
            - name: james robert smith
              frequencyCount: 23
              aliases:
                - name: james robert smith
                  frequencyCount: 14
                - name: james smith
                  frequencyCount: 9
            - name: sarah jones
              frequencyCount: 5
              aliases:
                - name: sarah jones
                  frequencyCount: 5
          organization:
            - name: white house
              frequencyCount: 39
              aliases:
                - name: white house
                  frequencyCount: 39
            - name: department of state
              frequencyCount: 25
              aliases:
                - name: department of state
                  frequencyCount: 25
          location:
            - name: united states
              frequencyCount: 36
              aliases:
                - name: united states
                  frequencyCount: 36
            - name: united kingdom
              frequencyCount: 22
              aliases:
                - name: united kingdom
                  frequencyCount: 22
        errors: []
        links:
          - method: GET
            rel: self
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.identities
          - method: GET
            rel: getJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            type: application/vnd.sas.sand.analytics.job
          - method: GET
            rel: getState
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            type: text/plain
          - method: PUT
            rel: cancelJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            responseType: text/plain
          - method: DELETE
            rel: deleteJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
          - method: POST
            rel: getCategories
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.categories
          - method: POST
            rel: getResults
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.results
          - method: POST
            rel: getSankeyDiagram
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            type: application/vnd.sas.sand.analytics.sankey.diagram.request
            responseType: application/vnd.sas.sand.analytics.sankey.diagram
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
    analyticsJob:
      description: An example of the response from /analytics and /analytics/{jobId} containing the identifier, state and parameters of a scheduled text analytics job.
      value:
        identifier: dff24648-3310-481f-8890-38ea823c4562
        state: running
        types:
          - email
        query:
          type: object
          objectIds:
            - type: email
              id: "2417"
            - type: email
              id: "1327"
            - type: email
              id: "2659"
        categories:
          - significantTerm
          - topic
          - person
          - organization
        fields:
          - subject
          - body
        fromField: metadatafrom
        toFields:
          - metdatato
          - cc
        excludes:
          significantTerm:
            - fw
            - time
            - pls
          person:
            - Pam Evens
        identities:
          person:
            - name: james robert smith
              aliases:
                - name: james robert smith
                - name: james smith
        maxResultsPerCategory: 200
        locale: en-US
        errors: []
        links:
          - method: GET
            rel: self
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562
            type: application/vnd.sas.sand.analytics.job
          - method: GET
            rel: state
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/state
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/state
            type: text/plain
          - method: PUT
            rel: cancel
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/state?value=cancelled
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/state?value=cancelled
            responseType: text/plain
          - method: DELETE
            rel: delete
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562
          - method: GET
            rel: getIdentities
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/identities
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/identities
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.identities
          - method: POST
            rel: getCategories
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/categories
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/categories
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.categories
          - method: POST
            rel: getResults
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/results
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/results
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.results
          - method: POST
            rel: getSankeyDiagram
            href: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/sankeyDiagrams
            uri: /svi-sand/analytics/dff24648-3310-481f-8890-38ea823c4562/sankeyDiagrams
            type: application/vnd.sas.sand.analytics.sankey.diagram.request
            responseType: application/vnd.sas.sand.analytics.sankey.diagram
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
    analyticsLocaleCollection:
      description: An example of the response from /analytics/locales specifying the locales that are supported for text analytics. This example lists the English and Spanish locales.
      value:
        links:
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
        name: locales
        accept: application/vnd.sas.sand.analytics.locale
        count: 2
        items:
          - name: English
            nativeName: English
            tag: en
          - name: Spanish
            nativeName: Español
            tag: es
        version: 2
    analyticsRequest:
      description: An example of the request for /analytics containing the parameters of a text analytics job. Also refer to the query examples.
      value:
        types:
          - email
        query:
          type: object
          objectIds:
            - type: email
              id: "2417"
            - type: email
              id: "1327"
            - type: email
              id: "2659"
        categories:
          - significantTerm
          - topic
          - person
          - organization
        fields:
          - subject
          - body
        fromField: metadatafrom
        toFields:
          - metdatato
          - cc
        excludes:
          significantTerm:
            - fw
            - time
            - pls
          person:
            - pam evens
        identities:
          person:
            - name: james robert smith
              aliases:
                - name: james robert smith
                - name: james smith
        maxResultsPerCategory: 200
        locale: en-US
    analyticsResultsNestedResults:
      description: The nextLevel member with its own category can be sent to /analytics/{jobId}/results to retrieve the results of the specified (next level) category that were extracted from the same object(s) containing the specified (top-level) phrase. This example shows the organization results that were resolved from the same object(s) from which the `James Robert Smith` person and his aliases were resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: person
          phrase: james robert smith
          nextLevel:
            category: organization
        results:
          - phrase: washington post
            frequencyCount: 4
            objectIds:
              - type: article
                id: "2569"
              - type: article
                id: "65"
              - type: article
                id: "1935"
            aliases:
              - phrase: washington post
                frequencyCount: 4
                objectIds:
                  - type: article
                    id: "2569"
                  - type: article
                    id: "65"
                  - type: article
                    id: "1935"
          - name: sas
            frequencyCount: 3
            objectIds:
              - type: article
                id: "65"
              - type: article
                id: "1935"
            aliases:
              - phrase: sas
                frequencyCount: 3
                objectIds:
                  - type: article
                    id: "65"
                  - type: article
                    id: "1935"
        links: []
    analyticsResultsNextLevelResults:
      description: A second nextLevel can be used to retrieve the results of the specified second next level category that were extracted from the same object(s) containing both the top-level phrase and next level phrase. This example shows the significant term results that were extracted from the same object(s) from which the `James Robert Smith` person (and his aliases) and the `SAS` organization were resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: person
          phrase: james robert smith
          nextLevel:
            category: organization
            phrase: sas
            nextLevel:
              category: significantTerm
        results:
          - phrase: analytics
            frequencyCount: 7
            weight: 0.723518965
            objectIds:
              - type: article
                id: "65"
              - type: article
                id: "1935"
            aliases: []
          - phrase: university
            frequencyCount: 3
            weight: 0.682183481
            objectIds:
              - type: article
                id: "1935"
            aliases: []
        links: []
    analyticsResultsTopLevelResults:
      description: The category member can be used on its own with /analytics/{jobId}/results to retrieve the results of a single category. This example shows person results being retrieved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: person
        results:
          - phrase: james robert smith
            frequencyCount: 5
            objectIds:
              - type: article
                id: "2569"
              - type: article
                id: "65"
            aliases:
              - phrase: james robert smith
                frequencyCount: 3
                objectIds:
                  - type: article
                    id: "2569"
                  - type: article
                    id: "65"
              - phrase: james smith
                frequencyCount: 2
                objectIds:
                  - type: article
                    id: "65"
          - phrase: sarah edwards
            frequencyCount: 2
            objectIds:
              - type: article
                id: "3985"
              - type: article
                id: "1877"
            aliases:
              - phrase: sarah edwards
                frequencyCount: 2
                objectIds:
                  - type: article
                    id: "3985"
                  - type: article
                    id: "1877"
        links:
          - method: POST
            rel: self
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.results
          - method: GET
            rel: getJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            type: application/vnd.sas.sand.analytics.job
          - method: GET
            rel: getState
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            type: text/plain
          - method: PUT
            rel: cancelJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            responseType: text/plain
          - method: DELETE
            rel: deleteJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
          - method: GET
            rel: getIdentities
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.identities
          - method: POST
            rel: getCategories
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.categories
          - method: POST
            rel: getSankeyDiagram
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            type: application/vnd.sas.sand.analytics.sankey.diagram.request
            responseType: application/vnd.sas.sand.analytics.sankey.diagram
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
    analyticsSankeyDiagram1:
      description: An example of the response from /analytics/{jobId}/sankeyDiagrams based on the `from` and `to` field values extracted from the same object(s) from which the `SAS` organization was resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: organization
          phrase: sas
        fromAndTo: true
        maxLinks: 50
        sankeyNodes:
          - identifier: 6
            phrase: Miles@sas.com
            frequencyCount: 155
            weight: 0
            objectIds:
              - type: email
                id: "15"
            compoundValues: []
          - identifier: 4
            phrase: Gary@sas.com
            frequencyCount: 538
            weight: 0
            objectIds:
              - type: email
                id: "2565"
            compoundValues: []
          - identifier: 1
            phrase: Hillary@sas.com
            frequencyCount: 355
            weight: 0
            objectIds:
              - type: email
                id: "490"
            compoundValues: []
          - identifier: 11
            phrase: Joe@sas.com
            frequencyCount: 7
            weight: 0
            objectIds:
              - type: email
                id: "22"
            compoundValues: []
          - identifier: 2
            phrase: John@sas.com
            frequencyCount: 88
            weight: 0
            objectIds:
              - type: email
                id: "491"
            compoundValues: []
          - identifier: 3
            phrase: Rachel@sas.com
            frequencyCount: 3
            weight: 0
            objectIds:
              - type: email
                id: "2637"
            compoundValues: []
        sankeyLinks:
          - fromNode: 6
            toNode: 4
            frequencyCount: 3
            objectIds:
              - type: email
                id: "3000"
              - type: email
                id: "65"
              - type: email
                id: "73"
            compoundValues: []
          - fromNode: 1
            toNode: 11
            frequencyCount: 2
            objectIds:
              - type: email
                id: "6"
              - type: email
                id: "276"
            compoundValues: []
          - fromNode: 1
            toNode: 2
            frequencyCount: 1
            objectIds:
              - type: email
                id: "220"
            compoundValues: []
          - fromNode: 3
            toNode: 4
            frequencyCount: 1
            objectIds:
              - type: email
                id: "2969"
            compoundValues: []
        links:
          - method: POST
            rel: self
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/sankeyDiagrams
            type: application/vnd.sas.sand.analytics.sankey.diagram.request
            responseType: application/vnd.sas.sand.analytics.sankey.diagram
          - method: GET
            rel: getJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            type: application/vnd.sas.sand.analytics.job
          - method: GET
            rel: getState
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state
            type: text/plain
          - method: PUT
            rel: cancelJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/state?value=cancelled
            responseType: text/plain
          - method: DELETE
            rel: deleteJob
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65
          - method: GET
            rel: getIdentities
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/identities
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.identities
          - method: POST
            rel: getCategories
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/categories
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.categories
          - method: POST
            rel: getResults
            href: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            uri: /svi-sand/analytics/4fa45829-9b75-49c8-99f7-ef15aa838e65/results
            type: application/vnd.sas.sand.analytics.explore
            responseType: application/vnd.sas.sand.analytics.results
          - method: GET
            rel: getLocales
            href: /svi-sand/analytics/locales
            uri: /svi-sand/analytics/locales
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analytics.locale
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
    analyticsSankeyDiagram2:
      description: An example of the response from /analytics/{jobId}/sankeyDiagrams based on `person` and `location` results that were extracted from the same object(s) from which the `SAS` organization was resolved.
      value:
        identifier: 4fa45829-9b75-49c8-99f7-ef15aa838e65
        level:
          category: organization
          phrase: sas
        fromCategory: person
        toCategory: location
        fromAndTo: false
        maxLinks: 30
        sankeyNodes:
          - identifier: 13
            category: person
            phrase: david jones
            frequencyCount: 50
            weight: 0
            objectIds:
              - type: email
                id: "14"
            compoundValues: []
            aliases:
              - phrase: david jones
                frequencyCount: 50
                weight: 0
                objectIds:
                  - type: email
                    id: "14"
                compoundValues: []
          - identifier: 2
            category: location
            phrase: united states
            frequencyCount: 43
            weight: 0
            objectIds:
              - type: email
                id: "1850"
            compoundValues: []
            aliases:
              - phrase: united states
                frequencyCount: 43
                weight: 0
                objectIds:
                  - type: email
                    id: "1850"
                compoundValues: []
          - identifier: 5
            category: location
            phrase: england
            frequencyCount: 22
            weight: 0
            objectIds:
              - type: email
                id: "10"
            compoundValues: []
            aliases:
              - phrase: england
                frequencyCount: 22
                weight: 0
                objectIds:
                  - type: email
                    id: "10"
                compoundValues: []
          - identifier: 1
            category: person
            phrase: james robert smith
            frequencyCount: 56
            weight: 0
            objectIds:
              - type: email
                id: "2569"
            compoundValues: []
            aliases:
              - phrase: james robert smith
                frequencyCount: 24
                weight: 0
                objectIds:
                  - type: email
                    id: "2569"
                compoundValues: []
              - phrase: james smith
                frequencyCount: 32
                weight: 0
                objectIds:
                  - type: email
                    id: "1335"
                compoundValues: []
        sankeyLinks:
          - fromNode: 13
            toNode: 2
            frequencyCount: 10
            objectIds:
              - type: email
                id: "52"
            compoundValues: []
          - fromNode: 13
            toNode: 5
            frequencyCount: 3
            objectIds:
              - type: email
                id: "65"
            compoundValues: []
          - fromNode: 1
            toNode: 2
            frequencyCount: 2
            objectIds:
              - type: email
                id: "65"
            compoundValues: []
          - fromNode: 1
            toNode: 5
            frequencyCount: 2
            objectIds:
              - type: email
                id: "65"
            compoundValues: []
        links: []
    analyticsSankeyDiagramRequest1:
      description: An example of the request for /analytics/{jobId}/sankeyDiagrams based on the `from` and `to` field values extracted from the same object(s) from which the `SAS` organization was resolved.
      value:
        level:
          category: organization
          phrase: sas
        fromAndTo: true
        maxLinks: 50
    analyticsSankeyDiagramRequest2:
      description: An example of the request for /analytics/{jobId}/sankeyDiagrams based on `person` and `location` results that were extracted from the same object(s) from which the `SAS` organization was resolved.
      value:
        level:
          category: organization
          phrase: sas
        fromCategory: person
        toCategory: location
        fromAndTo: false
        maxLinks: 30
    analyzer:
      description: An example of the response from /admin/config/analyzers/{analyzer}.
      value:
        solution: sas_visual_investigator_default
        name: german
        displayName: Deutsch
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/analyzers/german
            uri: /svi-sand/admin/config/analyzers/german
            type: application/vnd.sas.sand.analyzer
          - method: PUT
            rel: update
            href: /svi-sand/admin/config/analyzers/german
            uri: /svi-sand/admin/config/analyzers/german
            type: application/vnd.sas.sand.analyzer
            responseType: application/vnd.sas.sand.analyzer
          - method: DELETE
            rel: delete
            href: /svi-sand/admin/config/analyzers/german
            uri: /svi-sand/admin/config/analyzers/german
          - method: GET
            rel: up
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analyzer
          - method: POST
            rel: create
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
            type: application/vnd.sas.sand.analyzer
            responseType: application/vnd.sas.sand.analyzer
    analyzerCollection:
      description: An example of the response from /admin/config/analyzers.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analyzer
          - method: POST
            rel: createAnalyzer
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
            type: application/vnd.sas.sand.analyzer
            responseType: application/vnd.sas.sand.analyzer
          - method: DELETE
            rel: deleteAnalyzers
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
        name: analyzers
        accept: application/vnd.sas.sand.analyzer
        count: 49
        items:
          - solution: sas_visual_investigator_default
            name: english
            displayName: English
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/english
                uri: /svi-sand/admin/config/analyzers/english
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/english
                uri: /svi-sand/admin/config/analyzers/english
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/english
                uri: /svi-sand/admin/config/analyzers/english
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: arabic
            displayName: Arabic
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/arabic
                uri: /svi-sand/admin/config/analyzers/arabic
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/arabic
                uri: /svi-sand/admin/config/analyzers/arabic
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/arabic
                uri: /svi-sand/admin/config/analyzers/arabic
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: armenian
            displayName: Armenian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/armenian
                uri: /svi-sand/admin/config/analyzers/armenian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/armenian
                uri: /svi-sand/admin/config/analyzers/armenian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/armenian
                uri: /svi-sand/admin/config/analyzers/armenian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: basque
            displayName: Basque
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/basque
                uri: /svi-sand/admin/config/analyzers/basque
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/basque
                uri: /svi-sand/admin/config/analyzers/basque
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/basque
                uri: /svi-sand/admin/config/analyzers/basque
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: bengali
            displayName: Bengali
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/bengali
                uri: /svi-sand/admin/config/analyzers/bengali
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/bengali
                uri: /svi-sand/admin/config/analyzers/bengali
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/bengali
                uri: /svi-sand/admin/config/analyzers/bengali
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: brazilian
            displayName: Brazilian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/brazilian
                uri: /svi-sand/admin/config/analyzers/brazilian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/brazilian
                uri: /svi-sand/admin/config/analyzers/brazilian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/brazilian
                uri: /svi-sand/admin/config/analyzers/brazilian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: bulgarian
            displayName: Bulgarian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/bulgarian
                uri: /svi-sand/admin/config/analyzers/bulgarian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/bulgarian
                uri: /svi-sand/admin/config/analyzers/bulgarian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/bulgarian
                uri: /svi-sand/admin/config/analyzers/bulgarian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: catalan
            displayName: Catalan
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/catalan
                uri: /svi-sand/admin/config/analyzers/catalan
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/catalan
                uri: /svi-sand/admin/config/analyzers/catalan
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/catalan
                uri: /svi-sand/admin/config/analyzers/catalan
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: cjk
            displayName: Chinese Japanese Korean
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/cjk
                uri: /svi-sand/admin/config/analyzers/cjk
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/cjk
                uri: /svi-sand/admin/config/analyzers/cjk
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/cjk
                uri: /svi-sand/admin/config/analyzers/cjk
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: czech
            displayName: Czech
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/czech
                uri: /svi-sand/admin/config/analyzers/czech
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/czech
                uri: /svi-sand/admin/config/analyzers/czech
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/czech
                uri: /svi-sand/admin/config/analyzers/czech
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: danish
            displayName: Danish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/danish
                uri: /svi-sand/admin/config/analyzers/danish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/danish
                uri: /svi-sand/admin/config/analyzers/danish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/danish
                uri: /svi-sand/admin/config/analyzers/danish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: dutch
            displayName: Dutch
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/dutch
                uri: /svi-sand/admin/config/analyzers/dutch
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/dutch
                uri: /svi-sand/admin/config/analyzers/dutch
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/dutch
                uri: /svi-sand/admin/config/analyzers/dutch
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: estonian
            displayName: Estonian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/estonian
                uri: /svi-sand/admin/config/analyzers/estonian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/estonian
                uri: /svi-sand/admin/config/analyzers/estonian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/estonian
                uri: /svi-sand/admin/config/analyzers/estonian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: fingerprint
            displayName: Fingerprint
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/fingerprint
                uri: /svi-sand/admin/config/analyzers/fingerprint
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/fingerprint
                uri: /svi-sand/admin/config/analyzers/fingerprint
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/fingerprint
                uri: /svi-sand/admin/config/analyzers/fingerprint
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: finnish
            displayName: Finnish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/finnish
                uri: /svi-sand/admin/config/analyzers/finnish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/finnish
                uri: /svi-sand/admin/config/analyzers/finnish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/finnish
                uri: /svi-sand/admin/config/analyzers/finnish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: french
            displayName: French
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/french
                uri: /svi-sand/admin/config/analyzers/french
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/french
                uri: /svi-sand/admin/config/analyzers/french
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/french
                uri: /svi-sand/admin/config/analyzers/french
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: galician
            displayName: Galician
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/galician
                uri: /svi-sand/admin/config/analyzers/galician
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/galician
                uri: /svi-sand/admin/config/analyzers/galician
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/galician
                uri: /svi-sand/admin/config/analyzers/galician
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: german
            displayName: German
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/german
                uri: /svi-sand/admin/config/analyzers/german
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/german
                uri: /svi-sand/admin/config/analyzers/german
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/german
                uri: /svi-sand/admin/config/analyzers/german
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: greek
            displayName: Greek
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/greek
                uri: /svi-sand/admin/config/analyzers/greek
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/greek
                uri: /svi-sand/admin/config/analyzers/greek
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/greek
                uri: /svi-sand/admin/config/analyzers/greek
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: hindi
            displayName: Hindi
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/hindi
                uri: /svi-sand/admin/config/analyzers/hindi
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/hindi
                uri: /svi-sand/admin/config/analyzers/hindi
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/hindi
                uri: /svi-sand/admin/config/analyzers/hindi
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: hungarian
            displayName: Hungarian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/hungarian
                uri: /svi-sand/admin/config/analyzers/hungarian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/hungarian
                uri: /svi-sand/admin/config/analyzers/hungarian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/hungarian
                uri: /svi-sand/admin/config/analyzers/hungarian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: indonesian
            displayName: Indonesian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/indonesian
                uri: /svi-sand/admin/config/analyzers/indonesian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/indonesian
                uri: /svi-sand/admin/config/analyzers/indonesian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/indonesian
                uri: /svi-sand/admin/config/analyzers/indonesian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: irish
            displayName: Irish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/irish
                uri: /svi-sand/admin/config/analyzers/irish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/irish
                uri: /svi-sand/admin/config/analyzers/irish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/irish
                uri: /svi-sand/admin/config/analyzers/irish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: italian
            displayName: Italian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/italian
                uri: /svi-sand/admin/config/analyzers/italian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/italian
                uri: /svi-sand/admin/config/analyzers/italian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/italian
                uri: /svi-sand/admin/config/analyzers/italian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: keyword
            displayName: Keyword
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/keyword
                uri: /svi-sand/admin/config/analyzers/keyword
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/keyword
                uri: /svi-sand/admin/config/analyzers/keyword
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/keyword
                uri: /svi-sand/admin/config/analyzers/keyword
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: kuromoji
            displayName: Kuromoji Japanese
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/kuromoji
                uri: /svi-sand/admin/config/analyzers/kuromoji
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/kuromoji
                uri: /svi-sand/admin/config/analyzers/kuromoji
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/kuromoji
                uri: /svi-sand/admin/config/analyzers/kuromoji
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: latvian
            displayName: Latvian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/latvian
                uri: /svi-sand/admin/config/analyzers/latvian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/latvian
                uri: /svi-sand/admin/config/analyzers/latvian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/latvian
                uri: /svi-sand/admin/config/analyzers/latvian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: lithuanian
            displayName: Lithuanian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/lithuanian
                uri: /svi-sand/admin/config/analyzers/lithuanian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/lithuanian
                uri: /svi-sand/admin/config/analyzers/lithuanian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/lithuanian
                uri: /svi-sand/admin/config/analyzers/lithuanian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: nori
            displayName: Nori Korean
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/nori
                uri: /svi-sand/admin/config/analyzers/nori
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/nori
                uri: /svi-sand/admin/config/analyzers/nori
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/nori
                uri: /svi-sand/admin/config/analyzers/nori
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: norwegian
            displayName: Norwegian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/norwegian
                uri: /svi-sand/admin/config/analyzers/norwegian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/norwegian
                uri: /svi-sand/admin/config/analyzers/norwegian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/norwegian
                uri: /svi-sand/admin/config/analyzers/norwegian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: persian
            displayName: Persian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/persian
                uri: /svi-sand/admin/config/analyzers/persian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/persian
                uri: /svi-sand/admin/config/analyzers/persian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/persian
                uri: /svi-sand/admin/config/analyzers/persian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: polish
            displayName: Polish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/polish
                uri: /svi-sand/admin/config/analyzers/polish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/polish
                uri: /svi-sand/admin/config/analyzers/polish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/polish
                uri: /svi-sand/admin/config/analyzers/polish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: portuguese
            displayName: Portuguese
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/portuguese
                uri: /svi-sand/admin/config/analyzers/portuguese
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/portuguese
                uri: /svi-sand/admin/config/analyzers/portuguese
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/portuguese
                uri: /svi-sand/admin/config/analyzers/portuguese
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: romanian
            displayName: Romanian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/romanian
                uri: /svi-sand/admin/config/analyzers/romanian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/romanian
                uri: /svi-sand/admin/config/analyzers/romanian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/romanian
                uri: /svi-sand/admin/config/analyzers/romanian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: russian
            displayName: Russian
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/russian
                uri: /svi-sand/admin/config/analyzers/russian
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/russian
                uri: /svi-sand/admin/config/analyzers/russian
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/russian
                uri: /svi-sand/admin/config/analyzers/russian
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: sand_filename
            displayName: Filename
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/sand_filename
                uri: /svi-sand/admin/config/analyzers/sand_filename
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/sand_filename
                uri: /svi-sand/admin/config/analyzers/sand_filename
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/sand_filename
                uri: /svi-sand/admin/config/analyzers/sand_filename
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: sand_icu_facet
            displayName: ICU Facet
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/sand_icu_facet
                uri: /svi-sand/admin/config/analyzers/sand_icu_facet
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/sand_icu_facet
                uri: /svi-sand/admin/config/analyzers/sand_icu_facet
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/sand_icu_facet
                uri: /svi-sand/admin/config/analyzers/sand_icu_facet
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: sand_icu_search
            displayName: ICU Search
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/sand_icu_search
                uri: /svi-sand/admin/config/analyzers/sand_icu_search
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/sand_icu_search
                uri: /svi-sand/admin/config/analyzers/sand_icu_search
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/sand_icu_search
                uri: /svi-sand/admin/config/analyzers/sand_icu_search
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: sand_synonym
            displayName: Synonym
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/sand_synonym
                uri: /svi-sand/admin/config/analyzers/sand_synonym
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/sand_synonym
                uri: /svi-sand/admin/config/analyzers/sand_synonym
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/sand_synonym
                uri: /svi-sand/admin/config/analyzers/sand_synonym
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: simple
            displayName: Simple
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/simple
                uri: /svi-sand/admin/config/analyzers/simple
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/simple
                uri: /svi-sand/admin/config/analyzers/simple
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/simple
                uri: /svi-sand/admin/config/analyzers/simple
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: smartcn
            displayName: Smart Chinese
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/smartcn
                uri: /svi-sand/admin/config/analyzers/smartcn
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/smartcn
                uri: /svi-sand/admin/config/analyzers/smartcn
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/smartcn
                uri: /svi-sand/admin/config/analyzers/smartcn
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: sorani
            displayName: Sorani
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/sorani
                uri: /svi-sand/admin/config/analyzers/sorani
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/sorani
                uri: /svi-sand/admin/config/analyzers/sorani
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/sorani
                uri: /svi-sand/admin/config/analyzers/sorani
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: spanish
            displayName: Spanish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/spanish
                uri: /svi-sand/admin/config/analyzers/spanish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/spanish
                uri: /svi-sand/admin/config/analyzers/spanish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/spanish
                uri: /svi-sand/admin/config/analyzers/spanish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: standard
            displayName: Standard
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/standard
                uri: /svi-sand/admin/config/analyzers/standard
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/standard
                uri: /svi-sand/admin/config/analyzers/standard
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/standard
                uri: /svi-sand/admin/config/analyzers/standard
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: stop
            displayName: Stop
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/stop
                uri: /svi-sand/admin/config/analyzers/stop
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/stop
                uri: /svi-sand/admin/config/analyzers/stop
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/stop
                uri: /svi-sand/admin/config/analyzers/stop
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: swedish
            displayName: Swedish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/swedish
                uri: /svi-sand/admin/config/analyzers/swedish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/swedish
                uri: /svi-sand/admin/config/analyzers/swedish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/swedish
                uri: /svi-sand/admin/config/analyzers/swedish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: thai
            displayName: Thai
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/thai
                uri: /svi-sand/admin/config/analyzers/thai
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/thai
                uri: /svi-sand/admin/config/analyzers/thai
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/thai
                uri: /svi-sand/admin/config/analyzers/thai
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: turkish
            displayName: Turkish
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/turkish
                uri: /svi-sand/admin/config/analyzers/turkish
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/turkish
                uri: /svi-sand/admin/config/analyzers/turkish
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/turkish
                uri: /svi-sand/admin/config/analyzers/turkish
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
          - solution: sas_visual_investigator_default
            name: whitespace
            displayName: Whitespace
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/analyzers/whitespace
                uri: /svi-sand/admin/config/analyzers/whitespace
                type: application/vnd.sas.sand.analyzer
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/analyzers/whitespace
                uri: /svi-sand/admin/config/analyzers/whitespace
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/analyzers/whitespace
                uri: /svi-sand/admin/config/analyzers/whitespace
              - method: GET
                rel: up
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.analyzer
              - method: POST
                rel: create
                href: /svi-sand/admin/config/analyzers
                uri: /svi-sand/admin/config/analyzers
                type: application/vnd.sas.sand.analyzer
                responseType: application/vnd.sas.sand.analyzer
        version: 2
    analyzerRequest:
      description: An example of the request for /admin/config/analyzers or /admin/config/analyzers/{analyzer}.
      value:
        solution: sas_visual_investigator_default
        name: telephone
        displayName: US Telephone
    api:
      description: An example of the response from /svi-sand listing the top-level links.
      value:
        links:
          - method: POST
            rel: search
            href: /svi-sand/searches
            uri: /svi-sand/searches
            type: application/vnd.sas.sand.search.request
            responseType: application/vnd.sas.sand.search.response
          - method: POST
            rel: highlight
            href: /svi-sand/highlighting
            uri: /svi-sand/highlighting
            type: application/vnd.sas.sand.highlighting.request
            responseType: application/vnd.sas.sand.highlighting
          - method: POST
            rel: graphSearch
            href: /svi-sand/graphs
            uri: /svi-sand/graphs
            type: application/vnd.sas.sand.graph.request
            responseType: application/vnd.sas.sand.graph
          - method: POST
            rel: getEdges
            href: /svi-sand/graphs/edges
            uri: /svi-sand/graphs/edges
            type: application/vnd.sas.sand.query.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.edge
          - method: GET
            rel: getVertex
            href: /svi-sand/vertices/{type}/{identifier}
            uri: /svi-sand/vertices/{type}/{identifier}
            type: application/vnd.sas.sand.vertex
          - method: POST
            rel: graphTraversal
            href: /svi-sand/traversals
            uri: /svi-sand/traversals
            type: application/vnd.sas.sand.traversal.request
            responseType: application/vnd.sas.sand.graph
          - method: POST
            rel: pathsSearch
            href: /svi-sand/paths
            uri: /svi-sand/paths
            type: application/vnd.sas.sand.paths.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.path
          - method: POST
            rel: startTextAnalytics
            href: /svi-sand/analytics
            uri: /svi-sand/analytics
            type: application/vnd.sas.sand.analytics.request
            responseType: application/vnd.sas.sand.analytics.job
          - method: POST
            rel: importConfiguration
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
            type: application/vnd.sas.sand.config
          - method: GET
            rel: exportConfiguration
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
            type: application/vnd.sas.sand.config
          - method: DELETE
            rel: deleteConfiguration
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
          - method: GET
            rel: getAnalyzers
            href: /svi-sand/admin/config/analyzers
            uri: /svi-sand/admin/config/analyzers
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.analyzer
          - method: GET
            rel: getShapes
            href: /svi-sand/admin/config/shapes
            uri: /svi-sand/admin/config/shapes
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.geo.shape
          - method: GET
            rel: getSynonymns
            href: /svi-sand/admin/config/synonyms
            uri: /svi-sand/admin/config/synonyms
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.synonym
          - method: DELETE
            rel: deleteByQuery
            href: /svi-sand/admin/data
            uri: /svi-sand/admin/data
            type: application/vnd.sas.sand.query.request
          - method: DELETE
            rel: deleteRelationshipsInvolvingType
            href: /svi-sand/admin/data/{type}/relationships
            uri: /svi-sand/admin/data/{type}/relationships
          - method: POST
            rel: createIndices
            href: /svi-sand/admin/indices
            uri: /svi-sand/admin/indices
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.index
          - method: DELETE
            rel: deleteIndices
            href: /svi-sand/admin/indices
            uri: /svi-sand/admin/indices
          - method: POST
            rel: adminOperation
            href: /svi-sand/admin/operations
            uri: /svi-sand/admin/operations
            type: application/vnd.sas.sand.operation.request
            responseType: application/vnd.sas.sand.operation.response
          - method: GET
            rel: getSettings
            href: /svi-sand/admin/settings
            uri: /svi-sand/admin/settings
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.setting
    assistedObjectSearchRequest:
      description: An example of a request for /assistedSearches. In this example, the user is looking for all vehicles reported stolen in the last month to be visualized with the summary visualization.
      value:
        types:
          - report
          - person
          - vehicle
          - address
        query: Show me all vehicles reported stolen in the last month
        visualizationType: summary
    assistedRelationshipSearchRequest:
      description: An example of a request for /assistedSearches. In this example, the types parameter is omitted and the user is looking for all crimes involving John Smith's black bmw.
      value:
        types: []
        query: Show me all crime reports involving a black bmw owned by John Smith
    assistedObjectSearchResponse:
      description: An example of the response from /assistedSearches. In this example, the response includes an AI generated request for /searches that will find all vehicles reported stolen in the last month.
      value:
        types:
          - report
          - person
          - vehicle
          - address
        query: Show me all vehicles reported stolen in the last month
        visualizationType: summary
        objectSearchRequest:
          types:
            - vehicle
          query:
            type: text
            text: +_type:vehicle +incident:theft +last_updated_at_dttm:[2025-03-01 TO 2025-03-31]
            language: lucene
            modes:
              - standard
          visualizations:
            facets:
              type: facets
              mode: filter
            selection:
              type: facets
              mode: selection
            summary:
              type: summary
              start: 1
              limit: 50
              order:
                type: score
                direction: descending
    assistedRelationshipSearchResponse:
      description: An example of the response from /assistedSearches. In this example, the response includes an AI generated request for /paths that will find all crimes involving John Smith's black bmw.
      value:
        types: []
        query: Show me all crime reports involving a black bmw owned by John Smith
        relationshipSearchRequest:
          types:
            - person
          query:
            type: text
            text: +_type:person +forename:John +surname:Smith
            language: lucene
            modes:
              - standard
              - phonetic
          nextLevel:
            vertexTypes:
              - vehicle
            vertexFilter:
              type: query
              query:
                type: text
                text: _type:vehicle +color:black +make:bmw
                language: lucene
                modes:
                  - standard
            nextLevel:
              vertexTypes:
                - report
              vertexFilter:
                type: query
                query:
                  type: text
                  text: +_type:report +category:crime
                  language: lucene
                  modes:
                    - standard
    assistedSearchVisualizationTypeRequest:
      description: An example of a request for /assistedSearches/visualizationTypes. In this example, the user is looking for the most appropriate way to visualize the results of the given natural language query.
      value:
        types:
          - report
          - person
          - vehicle
          - address
        query: Show me all vehicles reported stolen in the last month
    assistedSearchVisualizationTypeResponse:
      description: An example of the response from /assistedSearches/visualizationTypes. In this example, the response includes the most appropriate way to visualize the results of the natural language search query.
      value:
        types:
          - report
          - person
          - vehicle
          - address
        query: Show me all vehicles reported stolen in the last month
        visualizationType: summary
    centralityMetricsCollection:
      description: An example of the response from /centrality showing the calculated metrics for each object on the network.
      value:
        name: items
        accept: application/vnd.sas.network.analytics.centrality.metrics
        items:
          - id: policy#1
            degree: 2
            eigen: 1
            close: 1
            between: 1
            influence1: 0.6666666666666666
            influence2: 0.6666666666666666
          - id: claim#1
            degree: 1
            eigen: 0.7071067811865479
            close: 0.6666666666666666
            between: 0
            influence1: 0.3333333333333333
            influence2: 0.6666666666666666
          - id: claim#2
            degree: 1
            eigen: 0.7071067811865479
            close: 0.6666666666666666
            between: 0
            influence1: 0.3333333333333333
            influence2: 0.6666666666666666
    centralityNetwork:
      description: An example of the request for /centrality.
      value:
        edges:
          - id: policyToClaim#1
            source: policy#1
            target: claim#1
          - id: policyToClaim#2
            source: policy#1
            target: claim#2
    configuration:
      description: An example of the request and response for /admin/config.
      value:
        types:
          address:
            name: address
            displayName: Address
            category: resolvedEntity
            options:
              dynamic: "true"
            config: {}
          business:
            name: business
            displayName: Business
            category: resolvedEntity
            options:
              dynamic: "true"
            config: {}
          business_customers:
            name: business_customers
            displayName: Business Customer
            category: entity
            fields:
              business_details_address:
                type: object
                innerFields:
                  address:
                    displayName: Address
                    type: text
                  city:
                    displayName: City
                    type: text
                    options:
                      features: []
                  postal_code:
                    displayName: Postal Code
                    type: text
                    options:
                      features: []
                  country:
                    displayName: Country
                    type: text
                    options:
                      features: []
                  geojson:
                    displayName: GeoJSON
                    type: geoShape
              business_details_email:
                type: object
                innerFields:
                  email_address:
                    displayName: Email Address
                    type: text
                    options:
                      features: []
              business_details_telephon:
                type: object
                innerFields:
                  phone_number:
                    displayName: Phone Number
                    type: text
                    options:
                      features: []
              bus_cust_type:
                displayName: Bus Cust Type
                type: text
                options:
                  features: []
              business_incorporation_date:
                displayName: Business Incorporation Date
                type: date
              business_primary_industry:
                displayName: Business Primary Industry
                type: double
              business_registered_name:
                displayName: Business Registered Name
                type: text
              business_registration_number:
                displayName: Business Registration Number
                type: double
              cust_start_date:
                displayName: Cust Start Date
                type: date
              customer_end_date:
                displayName: Customer End Date
                type: date
              customer_id_number:
                displayName: Customer ID Number
                type: double
              customer_name:
                displayName: Customer Name
                type: text
              customer_risk_rating:
                displayName: Customer Risk Rating
                type: double
              customer_type:
                displayName: Customer Type
                type: text
                options:
                  features: []
            config:
              summary:
                fields:
                  - business_registration_number
                  - bus_cust_type
                  - customer_id_number
                  - customer_type
                highlighting:
                  bus_cust_type:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
                  business_registered_name:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
                  customer_name:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
                  customer_type:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
              table:
                fields:
                  - business_registration_number
                  - bus_cust_type
                  - business_incorporation_date
                  - customer_id_number
                  - customer_type
              facets:
                - type: terms
                  field: bus_cust_type
                  limit: 100
                - type: terms
                  field: customer_type
                  limit: 100
                - type: dateRange
                  field: business_incorporation_date
                  accuracy: day
                  filter:
                    allowExact: true
                    allowRange: true
                    fromType: gte
                    toType: lte
                  ranges: []
              events:
                - fields:
                    category: business_incorporated
                    label: Business Incorporated
                    description: "<br>Registration Number: {business_registration_number}"
                    pointTimestamp: "{business_incorporation_date}"
                - root: business_details_address
                  fields:
                    category: business_address
                    label: "{/business_registered_name}"
                    description: "<br>Registration Number: {/business_registration_number}<br>Address: {address}"
                    geoJson: geojson
                - fields:
                    category: customer_start_date
                    label: Customer Start Date
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{cust_start_date}"
                - fields:
                    category: customer_end_date
                    label: Customer End Date
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{customer_end_date}"
              label:
                template: "Customer: {0}"
                values:
                  - customer_name
              description:
                template: "<br>Customer Id: {0}<br>Business Registration Number: {1}<br>Type: {2}<br>Risk Rating: {3}"
                values:
                  - customer_id_number
                  - business_registration_number
                  - bus_cust_type
                  - customer_risk_rating
          entityRelationship:
            name: entityRelationship
            displayName: Entity Relationship
            category: entityRelationship
          email:
            name: email
            displayName: Email
            category: resolvedEntity
          resolvedEntityRelationship:
            name: resolvedEntityRelationship
            displayName: Resolved Entity Link
            category: resolvedEntityRelationship
          individual:
            name: individual
            displayName: Individual
            category: resolvedEntity
            config: {}
          individual_customers:
            name: individual_customers
            displayName: Individual Customers
            category: entity
            fields:
              individual_details_addres:
                type: object
                innerFields:
                  address:
                    displayName: Address
                    type: text
                  city:
                    displayName: City
                    type: text
                    options:
                      features: []
                  postal_code:
                    displayName: Postal Code
                    type: text
                    options:
                      features: []
                  country:
                    displayName: Country
                    type: text
                    options:
                      features: []
                  geojson:
                    displayName: GeoJSON
                    type: geoShape
              individual_details_email:
                type: object
                innerFields:
                  email_address:
                    displayName: Email Address
                    type: text
                    options:
                      features: []
              individual_details_teleph:
                type: object
                innerFields:
                  phone_number:
                    displayName: Phone Number
                    type: text
                    options:
                      features: []
              bus_cust_type:
                displayName: Bus Cust Type
                type: text
                options:
                  features: []
              cust_start_date:
                displayName: Cust Start Date
                type: date
              customer_end_date:
                displayName: Customer End Date
                type: date
              customer_id_number:
                displayName: Customer ID Number
                type: double
              customer_name:
                displayName: Customer Name
                type: text
              customer_risk_rating:
                displayName: Customer Risk Rating
                type: double
              customer_status:
                displayName: Customer Status
                type: text
              customer_type:
                displayName: Customer Type
                type: text
                options:
                  features: []
              date_of_birth:
                displayName: Date Of Birth
                type: date
              full_name:
                displayName: Full Name
                type: text
              personal_national_id_number:
                displayName: Personal National ID Number
                type: text
                options:
                  features: []
            config:
              summary:
                fields:
                  - personal_national_id_number
                  - full_name
                  - customer_type
                  - customer_status
                  - customer_risk_rating
                highlighting:
                  customer_name:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
                  customer_type:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
                  full_name:
                    highlighter: plain
                    fragments: 3
                    fragmentSize: 150
              table:
                fields:
                  - customer_name
                  - customer_type
                  - personal_national_id_number
                  - customer_risk_rating
                  - customer_status
              facets:
                - type: terms
                  field: bus_cust_type
                  limit: 100
                - type: terms
                  field: customer_type
                  limit: 100
                - type: dateRange
                  field: date_of_birth
                  accuracy: day
                  filter:
                    allowExact: true
                    allowRange: true
                    fromType: gte
                    toType: lte
                  ranges: []
              events:
                - fields:
                    category: customer_dob
                    label: Customer Date of Birth
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{date_of_birth}"
                - root: individual_details_addres
                  fields:
                    category: customer_address
                    label: "Customer: {/customer_name}"
                    description: "<br>Name: {/customer_name}<br>Type: {/customer_type}"
                    geoJson: geojson
                - fields:
                    category: customer_start_date
                    label: Customer Start Date
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{cust_start_date}"
                - fields:
                    category: customer_end_date
                    label: Customer End Date
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{customer_end_date}"
              label:
                template: "Customer: {0}"
                values:
                  - customer_name
              description:
                template: "National Id: {0} - Full Name: {1} - Type: {1} - Status: {2} - Risk Rating: {3}"
                values:
                  - personal_national_id_number
                  - full_name
                  - customer_type
                  - customer_status
                  - customer_risk_rating
          telephone:
            name: telephone
            displayName: Telephone
            category: resolvedEntity
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
            type: application/vnd.sas.sand.config
          - method: POST
            rel: import
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
            type: application/vnd.sas.sand.config
          - method: DELETE
            rel: delete
            href: /svi-sand/admin/config
            uri: /svi-sand/admin/config
          - method: GET
            rel: getTypes
            href: /svi-sand/admin/config/types
            uri: /svi-sand/admin/config/types
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
    edgeCollection:
      description: An example of the response from /graphs/edges.
      value:
        links:
          - method: POST
            rel: self
            href: /svi-sand/graphs/edges?start=0&limit=100
            uri: /svi-sand/graphs/edges?start=0&limit=100
            type: application/vnd.sas.sand.query.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.edge
          - method: POST
            rel: collection
            href: /svi-sand/graphs/edges
            uri: /svi-sand/graphs/edges
            type: application/vnd.sas.sand.query.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.edge
        name: edges
        accept: application/vnd.sas.sand.edge
        start: 0
        count: 2
        items:
          - id: "9"
            type: entityRelationship
            subType: claim-address-residence
            label: Primary residence
            fields:
              - name: address_line_1
                type: text
                value: 42 Main Street
            endpoints:
              - id: "10"
                type: claim
              - id: "73"
                type: address
            validFrom: 2002-07-14T00:00:00Z
            validTo: 2013-12-31T00:00:00Z
            style:
              color: "#ffffff"
              width: 1
              dashType: dashed
          - id: "5"
            type: resolvedEntityRelationship
            compoundValues:
              - Smith 1982-03-14
            label: raised by
            endpoints:
              - id: "4"
                type: claim
              - id: "115"
                type: person
                compoundValues:
                  - Smith 1982-03-14
            validFrom: 2005-11-22T09:30:00Z
            validTo: 2011-05-06T14:00:00Z
        limit: 100
        version: 2
    edgeRelationship:
      description: An example of an edge within the responses from /graphs, /graphs/edges, /traversals and /paths. This example is a relationship between two internal or external objects.
      value:
        id: "9"
        type: entityRelationship
        subType: claim-address-residence
        label: Primary residence
        fields:
          - name: address_line_1
            type: text
            value: 42 Main Street
        endpoints:
          - id: "10"
            type: claim
          - id: "73"
            type: address
        validFrom: 2002-07-14T00:00Z
        validTo: 2013-12-31T00:00Z
        style:
          color: "#ffffff"
          width: 1
          dashType: dashed
    edgeResolvedRelationship:
      description: An example of an edge within the responses from /graphs, /graphs/edges, /traversals and /paths. This example is a relationship between a resolved object and one of its contributing objects.
      value:
        id: "5"
        type: resolvedEntityRelationship
        compoundValues:
          - Smith 1982-03-14
        label: raised by
        endpoints:
          - id: "4"
            type: claim
          - id: "115"
            type: person
            compoundValues:
              - Smith 1982-03-14
        validFrom: 2005-11-22T09:30Z
        validTo: 2011-05-06T14:00Z
    error2Response202:
      description: An example of a 202 accepted Error message.
      value:
        errorCode: "95192"
        message: The text analytics results are not yet available for the identifier "exampleId".
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 202
    error2Response400:
      description: An example of a 400 bad request Error message.
      value:
        errorCode: "95002"
        message: The parameter "types" cannot be null or empty. Please provide a value.
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 400
    error2Response404:
      description: An example of a 404 resource not found Error message.
      value:
        errorCode: "95144"
        message: No object type was found with the name "example".
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 404
    error2Response409:
      description: An example of a 409 conflict Error message.
      value:
        errorCode: "95234"
        message: 'An analyzer already exists with the name "example". '
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 409
    error2Response412:
      description: An example of a 412 precondition failed Error message.
      value:
        errorCode: "95148"
        message: The configuration update for object type "example" refers to version 1 but the latest is 2.
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 412
    error2Response428:
      description: An example of a 428 precondition required Error message.
      value:
        errorCode: "95017"
        message: "The following parameter is missing from the request: example param"
        id: af180279-0181-44ce-b31e-bb649d0231a0
        links: []
        version: 2
        httpStatusCode: 428
    eventMap:
      description: An example of an event within the context of the Map visualization.
      value:
        eventId: ce63176d-e0b6-420d-9f00-64d91bd7a4eb
        eventCategory: policy_holder_address
        eventLabel: John Smith resides at 1 Glasgow Road, Glasgow, UK
        eventDescription: Semi-detached, 3 bedrooms, brick walls, tile roof
        objectId: LK13R1R1N
        objectType: insurance_claim
        objectTypeLabel: Insurance Claim
        objectLabel: Claim 9823 in relation to policy 32502
        objectDescription: Claim for stolen vehicle filed on 2016-01-28
        objectAttachmentsCount: 12
        selected: false
    eventTimeline:
      description: An example of an event within the context of the Time Line visualization.
      value:
        group: JH2R19C
        startTimestamp: 1982-03-14
        endTimestamp: 1982-03-14
        eventId: c252f89a-5aff-4c95-9fdd-7400a0a8f859
        eventCategory: policy_holder_dob
        eventLabel: John Smith was born on 1982-03-14
        eventDescription: Date of birth for John Smith
        objectId: LK13R1R1N
        objectType: insurance_claim
        objectTypeLabel: Insurance Claim
        objectLabel: Claim 9823 in relation to policy 32502
        objectDescription: Claim for stolen vehicle filed on 2016-01-28
        objectAttachmentsCount: 0
    filterTypeAnd:
      description: An example of an and filter that filters search results to objects that match the date range, terms and either of the range filters.
      value:
        type: and
        filters:
          - type: dateRange
            field: eventdate
            gte: 2001-01-01
            lte: 2001-12-31
            accuracy: day
          - type: terms
            field: crime
            objectType: report
            terms:
              - theft
              - assault
          - type: or
            filters:
              - type: range
                field: risk
                gte: 1
                lte: 3
              - type: range
                field: risk
                gte: 7
                lte: 9
    filterTypeBox:
      description: An example of a box filter that filters search results to objects with a geo event that intersects with the defined box.
      value:
        type: box
        coordinates:
          - - 50.17
            - -2.03
          - - 50.03
            - -2.13
    filterTypeDateRange:
      description: An example of a date range filter that filters search results to objects with an `eventdate` field containing a value between `2001-01-01T14:30Z` and `2001-12-31T15:00Z`.
      value:
        type: dateRange
        field: eventdate
        accuracy: minute
        gte: 2001-01-01T14:30Z
        lte: 2001-12-31T15:00Z
    filterTypeNot:
      description: An example of a not filter that filters search results to objects that do not have a crime field or whose crime field does not contain either of the terms `theft` or `assualt`.
      value:
        type: not
        filter:
          type: terms
          field: crime
          objectType: report
          terms:
            - theft
            - assault
    filterTypeOr:
      description: An example of an or filter that filters search results to objects that match either of the range filters.
      value:
        type: or
        filters:
          - type: range
            field: risk
            gte: 1
            lte: 3
          - type: range
            field: risk
            gte: 7
            lte: 9
    filterTypePolygon:
      description: An example of a box filter that filters search results to objects with a geo event that intersects with the defined polygon.
      value:
        type: polygon
        coordinates:
          - - 50.17
            - -2.03
          - - 50.03
            - -2.13
          - - 49.93
            - -1.96
    filterTypeQuery:
      description: An example of a query filter that filters search results to objects that match the specified text query.
      value:
        type: query
        query:
          type: text
          language: lucene
          text: forename:john~ AND surname:smith~
    filterTypeRadius:
      description: An example of a radius filter that filters search results to objects with a geo event that is within 1km of the co-ordinates `50.12, -2.13`.
      value:
        type: radius
        coordinates:
          - 50.12
          - -2.13
        radius: 1km
    filterTypeRange:
      description: An example of a numerical range filter that filters search results to objects with an `age` field containing a value between `20.0` and `30.0`.
      value:
        type: range
        field: age
        gte: 20
        lte: 30
    filterTypeShape:
      description: An example of a shape filter that filters search results to objects with a geo event that intersects with the defined shape.
      value:
        type: shape
        relation: intersects
        shape:
          type: Polygon
          coordinates:
            - - - 50.17
                - -2.03
              - - 49.93
                - -1.96
              - - 50.03
                - -2.13
              - - 50.17
                - -2.03
    filterTypeShapePreconfigured:
      description: An example of a shape filter that filters search results to objects with a geo event that intersects with the pre-configured shape. Also refer to the geoJsonShape example.
      value:
        type: shape
        id: 82d0cf19-0b9a-444b-b10d-35ea3724c3a8
    filterTypeTerms:
      description: An example of a terms filter that filters search results to objects with a `crime` field containing the term `theft` or `assault`.
      value:
        type: terms
        field: crime
        objectType: report
        terms:
          - theft
          - assault
    filterTypeType:
      description: An example of a type filter that filters search results to objects of the type `person`, `report`, or `vehicle`.
      value:
        type: type
        types:
          - person
          - report
          - vehicle
    geoJsonShape:
      description: An example of a shape that can be pre-configured via /admin/config/shapes. Also refer to the filterTypeShapePreconfigured example.
      value:
        id: 82d0cf19-0b9a-444b-b10d-35ea3724c3a8
        solution: Law Enforcement
        name: Colorado
        group: states
        shape:
          type: Polygon
          coordinates:
            - - - -109.03930664062501
                - 37.00241558176739
              - - -102.05200195312501
                - 36.99364128251306
              - - -102.07397460937501
                - 40.98806198567309
              - - -109.03930664062501
                - 40.98806198567309
              - - -109.03930664062501
                - 37.00241558176739
    geoJsonShapeCollection:
      description: An example of the response from /admin/config/shapes.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/shapes?start=0&limit=10
            uri: /svi-sand/admin/config/shapes?start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.geo.shape
          - method: GET
            rel: collection
            href: /svi-sand/admin/config/shapes
            uri: /svi-sand/admin/config/shapes
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.geo.shape
          - method: POST
            rel: createShape
            href: /svi-sand/admin/config/shapes
            uri: /svi-sand/admin/config/shapes
            type: application/vnd.sas.sand.geo.shape
          - method: DELETE
            rel: deleteShapes
            href: /svi-sand/admin/config/shapes
            uri: /svi-sand/admin/config/shapes
        name: shapes
        accept: application/vnd.sas.sand.geo.shape
        start: 0
        count: 1
        items:
          - id: 82d0cf19-0b9a-444b-b10d-35ea3724c3a8
            solution: Law Enforcement
            name: Colorado
            group: states
            shape:
              type: Polygon
              coordinates:
                - - - -109.03930664062501
                    - 37.00241558176739
                  - - -102.05200195312501
                    - 36.99364128251306
                  - - -102.07397460937501
                    - 40.98806198567309
                  - - -109.03930664062501
                    - 40.98806198567309
                  - - -109.03930664062501
                    - 37.00241558176739
        limit: 10
        version: 2
    graph:
      description: An example of the response from /graphs or /traversals. Also refer to the edge and vertex examples.
      value:
        counts:
          edges: 2
          vertices: 4
        vertices:
          - id: "10"
            type: claim
            typeLabel: Claim
            label: "Claim: 0009900136650"
            attachmentsCount: 3
            adjacent: 1
            degree: 1
          - id: "73"
            type: address
            typeLabel: Address
            label: 1203 SAMUEL ADAMS CIR, CONCORD, NC
            attachmentsCount: 1
            adjacent: 3
            degree: 3
          - id: "4"
            type: claim
            typeLabel: Claim
            label: "Claim: 0009900073608"
            attachmentsCount: 2
            adjacent: 1
            degree: 1
          - id: "115"
            type: person
            typeLabel: Person
            compoundValues:
              - Smith 1982-03-14
            label: John Smith
            adjacent: 2001
            degree: 2001
        edges:
          - id: "9"
            type: entityRelationship
            label: regarding
            endpoints:
              - id: "10"
                type: claim
              - id: "73"
                type: address
          - id: "5"
            type: resolvedEntityRelationship
            label: raised by
            compoundValues:
              - Smith 1982-03-14
            endpoints:
              - id: "4"
                type: claim
              - id: "115"
                type: person
                compoundValues:
                  - Smith 1982-03-14
        expansionLimit: 2000
        expansionLimitExceeded:
          - type: person
            id: "115"
    graphRequest:
      description: An example of the request for /graphs. In this example, the user is interested in viewing the network for theft or assault reports, persons between the age of 20 and 30 and any related addresses all of which contain either of the terms, `john` or `smith`. The user also wants to have the theft reports marked as selected. To achieve this, the user first restricts the vertex types to report, person, address, and then specifies a free text query for `John Smith`. Filters are then added for the report and person types. Note that the top-level OR filter also includes a filter for the address type to ensure that addresses are included in the graph as the filter is applied after the query. Finally, the user adds a selection filter to have the theft reports marked as selected. Also refer to the query, filter, and selection examples.
      value:
        vertexTypes:
          - report
          - person
          - address
        query:
          type: text
          language: lucene
          text: john smith
        filter:
          type: or
          filters:
            - type: type
              types:
                - address
            - type: and
              filters:
                - type: type
                  types:
                    - report
                - type: terms
                  field: crime
                  objectType: report
                  terms:
                    - theft
                    - assault
            - type: and
              filters:
                - type: type
                  types:
                    - person
                - type: range
                  field: age
                  gte: 20
                  lte: 30
        selection:
          filter:
            type: and
            filters:
              - type: type
                types:
                  - report
              - type: terms
                field: crime
                objectType: report
                terms:
                  - theft
    highlighting:
      description: An example of the response from /highlighting. In this example, the user is looking for highlighting snippets on a given report object for a text query that targeted the top-level report field as well as the note field in the notes child object type.
      value:
        type: report
        id: 1698c5f2-86da-49f5-b762-2f1cf2a1f9e0
        query:
          type: text
          text: report:fox CHILD_QUERY(notes,%notes.note:jump%)
          language: lucene
          modes:
            - standard
        includeFieldHighlighting: true
        defaultChildEntityLimit: 10
        fieldHighlighting:
          report:
            - The quick brown <em>fox</em>
        childEntityHighlighting:
          notes:
            start: 1
            limit: 10
            count: 2
            childObjects:
              - id: c27a9862-d9e9-46ec-a3c1-bd0a1420a436
                highlighting:
                  note:
                    - <em>jumped</em> over the lazy dog
              - id: 91dae554-756b-43e8-ac13-db77f7ab0a59
                highlighting:
                  note:
                    - <em>jumped</em> over the sleeping horse
    highlightingRequest:
      description: An example of the request for /highlighing. In this example, the user is looking for highlighting snippets on a given report object for a text query that targeted the top-level report field as well as the note field in the notes child object type. Also refer to the query examples.
      value:
        type: report
        id: 1698c5f2-86da-49f5-b762-2f1cf2a1f9e0
        query:
          type: text
          text: report:fox CHILD_QUERY(notes,%notes.note:jump%)
          language: lucene
          modes:
            - standard
        includeFieldHighlighting: true
        defaultChildEntityLimit: 10
        childEntityHighlightingParameters:
          notes:
            start: 1
            limit: 10
    index:
      description: An example of the response from /admin/indices/{type} containing the name of the index for the `report` type.
      value:
        type: report
        name: sand__report__1468507165442
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/indices/report
            uri: /svi-sand/admin/indices/report
            type: application/vnd.sas.sand.index
          - method: POST
            rel: create
            href: /svi-sand/admin/indices/report?searchable=true
            uri: /svi-sand/admin/indices/report?searchable=true
            responseType: application/vnd.sas.sand.index
          - method: DELETE
            rel: delete
            href: /svi-sand/admin/indices/report
            uri: /svi-sand/admin/indices/report
    indexCollection:
      description: An example of a response from admin/indices returning a list of the newest indices for each type.
      value:
        links:
          - method: POST
            rel: self
            href: /svi-sand/admin/indices?start=0&limit=20
            uri: /svi-sand/admin/indices?start=0&limit=20
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.index
          - method: POST
            rel: collection
            href: /svi-sand/admin/indices
            uri: /svi-sand/admin/indices
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.index
          - method: POST
            rel: next
            href: /svi-sand/admin/indices?start=20&limit=20
            uri: /svi-sand/admin/indices?start=20&limit=20
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.index
          - method: POST
            rel: last
            href: /svi-sand/admin/indices?start=20&limit=20
            uri: /svi-sand/admin/indices?start=20&limit=20
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.index
        name: indices
        accept: application/vnd.sas.sand.index
        start: 0
        count: 2
        items:
          - type: document_link
            name: sand__document_link__1656665344057
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/indices/document_link
                uri: /svi-sand/admin/indices/document_link
                responseType: application/vnd.sas.sand.index
              - method: POST
                rel: create
                href: /svi-sand/admin/indices/document_link
                uri: /svi-sand/admin/indices/document_link
                responseType: application/vnd.sas.sand.index
              - method: POST
                rel: makeSearchable
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/indices/document_link
                uri: /svi-sand/admin/indices/document_link
          - type: shape
            name: sand__shape__1656608940265
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/indices/shape
                uri: /svi-sand/admin/indices/shape
                responseType: application/vnd.sas.sand.index
              - method: POST
                rel: create
                href: /svi-sand/admin/indices/shape
                uri: /svi-sand/admin/indices/shape
                responseType: application/vnd.sas.sand.index
              - method: POST
                rel: makeSearchable
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/indices/shape
                uri: /svi-sand/admin/indices/shape
        limit: 20
        version: 2
    indexFormatUpgradeResponse:
      description: An example of the response from /admin/indices/version requesting the index format version this service supports.
      value:
        upgradeRequired: true
        indexFormatVersion: 2
    multiBranchPathsRequest:
      description: An example of the request for /paths with a query starting point and multiple branches. In this example, the user wants to find all paths from the specified customer to active insurance policies that are involved in both claims and cases.
      value:
        types:
          - customer
        query:
          type: text
          language: lucene
          text: +forename:john +surname:smith
        mustMatchAllBranches: true
        nextLevel:
          vertexTypes:
            - policy
          vertexFilter:
            type: query
            query:
              type: text
              language: lucene
              text: policy_status:active
          nextLevels:
            - vertexTypes:
                - claim
            - vertexTypes:
                - case
    operationRequestMakeSearchable:
      description: An example of the request for /admin/operations that makes the newest `person` index searchable and deletes all older `person` indices.
      value:
        operation: makeIndexSearchable
        parameters:
          type: person
    operationRequestRefreshConfiguration:
      description: An example of the request for /admin/operations that retrieves the status of the cached configuration for the `person` object type.
      value:
        operation: refreshConfiguration
        parameters:
          type: person
          statusOnly: true
    operationResponseMakeSearchable:
      description: An example of the response from /admin/operations after the newest `person` index was made searchable and all older `person` indices were deleted.
      value:
        operation: makeIndexSearchable
        parameters:
          type: person
        results: {}
    operationResponseRefreshConfiguration:
      description: An example of the response from /admin/operations that shows the status of the cached configuration for the `person` object type.
      value:
        operation: refreshConfiguration
        parameters:
          type: person
          statusOnly: true
        results:
          person:
            refreshRequired: true
            reindexRequired: false
    path:
      description: An example of a path within the response from /paths.
      value:
        endpoints:
          - id: "10"
            type: claim
            typeLabel: Claim
            label: "Claim: 0009900136650"
            attachmentsCount: 3
            adjacent: 1
            degree: 1
          - id: "9"
            type: entityRelationship
            label: regarding
            endpoints:
              - id: "10"
                type: claim
              - id: "73"
                type: address
          - id: "73"
            type: address
            typeLabel: Address
            label: 1203 SAMUEL ADAMS CIR, CONCORD, NC
            attachmentsCount: 1
            adjacent: 3
            degree: 3
          - id: "11"
            type: entityRelationship
            label: regarding
            endpoints:
              - id: "4"
                type: claim
              - id: "73"
                type: address
          - id: "4"
            type: claim
            typeLabel: Claim
            label: "Claim: 0009900073608"
            attachmentsCount: 2
            adjacent: 1
            degree: 1
          - id: "5"
            type: resolvedEntityRelationship
            label: raised by
            compoundValues:
              - Smith 1982-03-14
            endpoints:
              - id: "4"
                type: claim
              - id: "115"
                type: person
          - id: "115"
            type: person
            typeLabel: Person
            compoundValues:
              - Smith 1982-03-14
            label: John Smith
            adjacent: 4
            degree: 4
    pathCollection:
      description: An example of the response from /paths.
      value:
        links:
          - method: POST
            rel: self
            href: /svi-sand/paths?start=0&limit=50
            uri: /svi-sand/paths?start=0&limit=50
            type: application/vnd.sas.sand.paths.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.path
          - method: POST
            rel: collection
            href: /svi-sand/paths
            uri: /svi-sand/paths
            type: application/vnd.sas.sand.paths.request
            responseType: application/vnd.sas.collection
            responseItemType: application/vnd.sas.sand.path
        name: paths
        accept: application/vnd.sas.sand.path
        start: 0
        count: 1
        items:
          - endpoints:
              - id: "10"
                type: claim
                typeLabel: Claim
                label: "Claim: 0009900136650"
                attachmentsCount: 3
                adjacent: 1
                degree: 1
              - id: "9"
                type: entityRelationship
                label: regarding
                endpoints:
                  - id: "10"
                    type: claim
                  - id: "73"
                    type: address
              - id: "73"
                type: address
                typeLabel: Address
                label: 1203 SAMUEL ADAMS CIR, CONCORD, NC
                attachmentsCount: 1
                adjacent: 3
                degree: 3
              - id: "11"
                type: entityRelationship
                label: regarding
                endpoints:
                  - id: "4"
                    type: claim
                  - id: "73"
                    type: address
              - id: "4"
                type: claim
                typeLabel: Claim
                label: "Claim: 0009900073608"
                attachmentsCount: 2
                adjacent: 1
                degree: 1
              - id: "5"
                type: resolvedEntityRelationship
                label: raised by
                compoundValues:
                  - Smith 1982-03-14
                endpoints:
                  - id: "4"
                    type: claim
                  - id: "115"
                    type: person
              - id: "115"
                type: person
                typeLabel: Person
                compoundValues:
                  - Smith 1982-03-14
                label: John Smith
                adjacent: 4
                degree: 4
        limit: 50
        version: 2
    queryPathsRequest:
      description: An example of the request for /paths with start objects being identified by a query. In this example, the user wants to find all paths from the matching report objects to an address via a person.
      value:
        types:
          - report
        query:
          type: text
          language: lucene
          text: +_type:report +subject:crime +reportedBy:officer49378
        nextLevel:
          vertexTypes:
            - person
          nextLevel:
            vertexTypes:
              - address
    queryRequest:
      description: An example of a request to /admin/data that deletes all objects containing `john` in the forename field and `smith` in the surname field.
      value:
        types:
          - person
        query:
          type: text
          language: lucene
          text: forename:john AND surname:smith
    queryTypeAnd:
      description: An example of an and query that finds objects matching both text queries.
      value:
        type: and
        queries:
          - type: text
            language: lucene
            text: forename:john AND surname:smith
          - type: text
            language: lucene
            text: eyecolour:brown
    queryTypeCompound:
      description: An example of a compound query that finds resolved objects with the given compound values.
      value:
        type: compound
        compoundValues:
          - name_address~JoeBloggs123ShortStreet
          - name_address~JillBlack345LongRoad
    queryTypeObject:
      description: An example of an object query that finds a person object and an address object by their identifiers.
      value:
        type: object
        objectIds:
          - type: person
            id: 9g8ds
          - type: address
            id: "420e9"
    queryTypeOr:
      description: An example of an or query that finds objects matching either the text query or the and query.
      value:
        type: or
        queries:
          - type: and
            queries:
              - type: text
                language: lucene
                text: forename:john AND surname:smith
              - type: text
                language: lucene
                text: eyecolour:brown
          - type: text
            language: lucene
            text: John Smith
    queryTypeText:
      description: An example of a free text query that finds objects containing `john` in the forename field and `smith` in the surname field.
      value:
        type: text
        language: lucene
        text: forename:john~ AND surname:smith~
    relatedObjectsRequest:
      description: An example of the request to /relatedObjects. In this example, the user wants to find all address objects one or two hops from the specified report objects.
      value:
        startTypes:
          - report
        startQuery:
          type: object
          objectIds:
            - type: report
              id: SDF46AS
            - type: report
              id: FN654A
        endTypes:
          - address
        endQuery:
          type: text
          language: lucene
          text: _type:address
        hops: 2
    searchRequest:
      description: An example of the request to /searches where the user wants to view the specified report objects as well as all incident and person objects that contain either of the terms, `John` and `Smith` on the Map and Table visualizations. The user would also like to use the Facets and Selection visualizations to determine what filters might be worth applying to reduce their result set or select particular results of interest.
      value:
        types:
          - report
          - person
          - incident
        query:
          type: or
          queries:
            - type: text
              language: lucene
              text: John Smith
            - type: object
              objectIds:
                - type: report
                  id: SDF46AS
                - type: report
                  id: FN654A
        visualizations:
          visualization1:
            type: map
          visualization2:
            type: table
            start: 1
            limit: 100
          visualization3:
            type: facets
            mode: filter
          visualization4:
            type: facets
            mode: selection
    searchResponse:
      description: An example of the response from /searches containing examples of the Summary and Facets visualizations.
      value:
        types:
          - report
          - person
          - incident
        query:
          type: or
          queries:
            - type: text
              language: lucene
              text: John Smith
            - type: object
              objectIds:
                - type: report
                  id: SDF46AS
                - type: report
                  id: FN654A
        visualizations:
          results:
            type: summary
            start: 1
            limit: 50
            hitCount: 6
            order:
              type: score
              direction: descending
            results:
              - id: ju0RrSsRQRqdSnrKO75AFQ
                type: person
                typeLabel: Person
                title: Smith, John
                attachmentsCount: 0
                fields:
                  - name: Forename
                    type: text
                    value: John
                highlighting:
                  full_name:
                    - <em>John</em> <em>Smith</em>
          facets:
            type: facets
            mode: filter
            facets:
              - objectType: _all
                facets:
                  - type: type
                    hitCount: 6
                    buckets:
                      - type: incident
                        hitCount: 3
                      - type: person
                        hitCount: 2
                      - type: report
                        hitCount: 1
              - objectType: person
                facets:
                  - type: range
                    field: age
                    hitCount: 2
                    min: 19
                    max: 43
                    ranges:
                      - description: <20
                        lt: 20
                        hitCount: 1
                      - description: "[20, 30)"
                        gte: 20
                        lt: 30
                        hitCount: 0
                      - description: "[30, 40)"
                        gte: 30
                        lt: 40
                        hitCount: 1
                      - description: ">=40"
                        gte: 40
                        hitCount: 0
                  - type: terms
                    field: gender
                    hitCount: 2
                    buckets:
                      - term: male
                        hitCount: 2
              - objectType: incident
                facets:
                  - type: terms
                    field: crime
                    hitCount: 3
                    buckets:
                      - term: assault
                        hitCount: 2
                      - term: theft
                        hitCount: 1
        errors: []
    selection:
      description: An example of the selection criteria. In this example, all report and person objects matching any of the filters that are not excluded by the exclude query or named explicitly in the exclude section is selected. All objects (regardless of their type) that match the include query or that are explicitly named in the include section, are selected as long as they do not match the exclude query or are explicitly named in the exclude section. Note, as shown, that multiple object type specific filters are combined using an OR filter (as opposed to an AND filter) as the intention is to maximize the possible selection rather than narrow it (as in the case of drilling down into the search results via the filter section of the search request).
      value:
        filter:
          type: or
          filters:
            - type: and
              filters:
                - type: type
                  types:
                    - report
                - type: terms
                  field: crime
                  objectType: report
                  terms:
                    - fraud
                    - theft
            - type: and
              filters:
                - type: type
                  types:
                    - person
                - type: or
                  filters:
                    - type: terms
                      field: flightRisk
                      objectType: person
                      terms:
                        - highly likely
                        - likely
                    - type: range
                      field: age
                      gte: 18
                      lt: 30
                    - type: range
                      field: age
                      gte: 50
                      lt: 60
        include:
          query: surname:smith
          objectIds:
            - type: report
              id: sdaf-sf8-ww-sca-d321
            - type: report
              id: wekj-r32-0899-uh-xjn
          compoundValues:
            - forename_surname:grant macdonald
            - surname_dob:edwards 1982-10-05
        exclude:
          query: forename:john
          objectIds:
            - type: report
              id: jeixm3-8ern1-kw7z4ie
            - type: report
              id: ncbw-is917-dkw03-elo
          compoundValues:
            - forename_surname:laura stevenson
    setting:
      description: An example of an application setting.
      value:
        name: phoneticSearchEnabled
        value: true
    settingCollection:
      description: An example of the request and response for /admin/settings.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/settings?start=0&limit=10
            uri: /svi-sand/admin/settings?start=0&limit=10
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.setting
          - method: GET
            rel: collection
            href: /svi-sand/admin/settings
            uri: /svi-sand/admin/settings
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.setting
          - method: POST
            rel: setSettings
            href: /svi-sand/admin/settings
            uri: /svi-sand/admin/settings
            type: application/vnd.sas.collection
            responseType: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.setting
            responseItemType: application/vnd.sas.sand.setting
        name: settings
        accept: application/vnd.sas.sand.setting
        start: 0
        count: 6
        items:
          - name: phoneticSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/phoneticSearchEnabled
                uri: /svi-sand/admin/settings/phoneticSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/phoneticSearchEnabled
                uri: /svi-sand/admin/settings/phoneticSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
          - name: phoneticDefaultSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/phoneticDefaultSearchEnabled
                uri: /svi-sand/admin/settings/phoneticDefaultSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/phoneticDefaultSearchEnabled
                uri: /svi-sand/admin/settings/phoneticDefaultSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
          - name: phoneticLabelSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/phoneticLabelSearchEnabled
                uri: /svi-sand/admin/settings/phoneticLabelSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/phoneticLabelSearchEnabled
                uri: /svi-sand/admin/settings/phoneticLabelSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
          - name: synonymSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/synonymSearchEnabled
                uri: /svi-sand/admin/settings/synonymSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/synonymSearchEnabled
                uri: /svi-sand/admin/settings/synonymSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
          - name: synonymDefaultSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/synonymDefaultSearchEnabled
                uri: /svi-sand/admin/settings/synonymDefaultSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/synonymDefaultSearchEnabled
                uri: /svi-sand/admin/settings/synonymDefaultSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
          - name: synonymLabelSearchEnabled
            value: false
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/settings/synonymLabelSearchEnabled
                uri: /svi-sand/admin/settings/synonymLabelSearchEnabled
                type: application/vnd.sas.sand.setting
              - method: PUT
                rel: update
                href: /svi-sand/admin/settings/synonymLabelSearchEnabled
                uri: /svi-sand/admin/settings/synonymLabelSearchEnabled
                type: application/vnd.sas.sand.setting
                responseType: application/vnd.sas.sand.setting
              - method: GET
                rel: up
                href: /svi-sand/admin/settings
                uri: /svi-sand/admin/settings
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.setting
        limit: 10
        version: 2
    singleObjectPathsRequest:
      description: An example of the request for /paths with a single start object. In this example, the user wants to find all paths from the specified report to an address via a person.
      value:
        type: report
        id: 6SA1FD1
        nextLevel:
          vertexTypes:
            - person
          nextLevel:
            vertexTypes:
              - address
    synonymCollection:
      description: An example of the request and response for /admin/config/synonyms.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/synonyms?start=0&limit=20
            uri: /svi-sand/admin/config/synonyms?start=0&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.synonym
          - method: GET
            rel: collection
            href: /svi-sand/admin/config/synonyms
            uri: /svi-sand/admin/config/synonyms
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.synonym
          - method: POST
            rel: createSynonyms
            href: /svi-sand/admin/config/synonyms
            uri: /svi-sand/admin/config/synonyms
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.synonym
          - method: DELETE
            rel: deleteSynonyms
            href: /svi-sand/admin/config/synonyms
            uri: /svi-sand/admin/config/synonyms
        name: synonyms
        accept: application/vnd.sas.sand.synonym
        start: 0
        count: 7
        items:
          - terms: ant,spider=>insect
          - terms: buffalo,cow,pig,sheep=>farm
          - terms: cat,deer,dog,donkey,elephant,fox,gorilla,horse,hound,lion,monkey,moose,mouse,rabbit,racoon,rat,tiger=>mammal
          - terms: shark,whale=>fish
          - terms: frog,toad=>amphibian
          - terms: dinosaur,dragon=>reptile
          - terms: eagle,parrot,pheasant,puffin,quail,owl=>bird
        limit: 20
        version: 2
    synonymContraction:
      description: An example of a synonym using the contraction approach.
      value:
        terms: bound,hop,leap=>jump
    synonymExpansion:
      description: An example of a synonym using the expansion approach.
      value:
        terms: bound,hop,leap,jump
    traversalRequest:
      description: An example of the request to /traversals where the user wants to expand a person and an address up to 2 levels to find all related theft reports.
      value:
        vertexTypes:
          - report
          - person
          - address
        vertexFilter:
          type: or
          filters:
            - type: type
              types:
                - person
                - address
            - type: and
              filters:
                - type: type
                  types:
                    - report
                - type: terms
                  field: crime
                  objectType: report
                  terms:
                    - theft
        edgeTypes:
          - entityRelationship
        query:
          type: object
          objectIds:
            - type: person
              id: 9g8ds
            - type: address
              id: "420e9"
        depth: 2
        extendedFormat: false
    type:
      description: An example of the request and response for /admin/config/types/{type}.
      value:
        solution: Insurance
        name: person
        displayName: Person
        category: entity
        fields:
          first_name:
            displayName: First Name
            type: text
            options:
              features:
                - search
                - sort
          last_name:
            displayName: Last Name
            type: text
            options:
              features:
                - search
                - facet
                - sort
          dob:
            displayName: Date of Birth
            type: date
            options:
              format: strict_date_optional_time||epoch_millis
          addresses:
            displayName: Addresses
            type: object
            innerFields:
              address:
                displayName: Address
                type: text
              city:
                displayName: City
                type: text
                options:
                  features:
                    - facet
              areaCode:
                displayName: Area Code
                type: text
                options:
                  features: []
              country:
                displayName: Country
                type: text
                options:
                  features: []
              lat:
                displayName: Latitude
                type: double
              lon:
                displayName: Longitude
                type: double
        options:
          number_of_replicas: 2
        config:
          summary:
            fields:
              - dob
            highlighting:
              first_name:
                highlighter: plain
                fragments: 3
                fragmentSize: 50
              last_name:
                highlighter: plain
                fragments: 3
                fragmentSize: 50
          table:
            fields:
              - first_name
              - last_name
              - dob
          facets:
            - type: terms
              field: last_name
              limit: 100
            - type: terms
              field: addresses.city
              limit: 100
          textAnalytics:
            fields:
              - first_name
              - last_name
          events:
            - fields:
                category: birthday
                label: "{first_name} {last_name}"
                description: Born on {dob}
                pointTimestamp: "{dob}"
            - root: addresses
              fields:
                category: address
                label: "{/first_name} {/last_name}"
                description: Resides at {address} in {city}, {country}
                latitude: lat
                longitude: lon
          label:
            template: "{0} {1}"
            values:
              - first_name
              - last_name
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/types/person
            uri: /svi-sand/admin/config/types/person
            type: application/vnd.sas.sand.type
          - method: PUT
            rel: update
            href: /svi-sand/admin/config/types/person
            uri: /svi-sand/admin/config/types/person
            type: application/vnd.sas.sand.type
          - method: DELETE
            rel: delete
            href: /svi-sand/admin/config/types/person
            uri: /svi-sand/admin/config/types/person
          - method: GET
            rel: up
            href: /svi-sand/admin/config/types
            uri: /svi-sand/admin/config/types
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
    typeCollection:
      description: An example of the response from /admin/config/types.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/types?start=0&limit=20
            uri: /svi-sand/admin/config/types?start=0&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: collection
            href: /svi-sand/admin/config/types
            uri: /svi-sand/admin/config/types
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: next
            href: /svi-sand/admin/config/types?start=20&limit=20
            uri: /svi-sand/admin/config/types?start=20&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: last
            href: /svi-sand/admin/config/types?start=20&limit=20
            uri: /svi-sand/admin/config/types?start=20&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
        name: types
        accept: application/vnd.sas.sand.type
        start: 0
        count: 27
        items:
          - solution: sas_visual_investigator_default
            name: address
            displayName: Address
            category: resolvedEntity
            options:
              dynamic: "true"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config: {}
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/address
                uri: /svi-sand/admin/config/types/address
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/address
                uri: /svi-sand/admin/config/types/address
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/address
                uri: /svi-sand/admin/config/types/address
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: business
            displayName: Business
            category: resolvedEntity
            options:
              dynamic: "true"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config: {}
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/business
                uri: /svi-sand/admin/config/types/business
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/business
                uri: /svi-sand/admin/config/types/business
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/business
                uri: /svi-sand/admin/config/types/business
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: business_customers
            displayName: Business Customer
            category: entity
            fields:
              aml_alert_count:
                displayName: AML Alert Count
                type: integer
                options: {}
              aml_alert_flag:
                displayName: AML Alert Flag
                type: text
                options:
                  features:
                    - search
              bus_cust_type:
                displayName: Business Customer Type
                type: text
                options:
                  features:
                    - search
                    - sort
                    - facet
              business_alt_industry1:
                displayName: Business Alt Industry 1
                type: integer
                options: {}
              business_alt_industry2:
                displayName: Business Alt Industry 2
                type: integer
                options: {}
              business_cntry_prim_op:
                displayName: Business Cntry Prim Op
                type: text
                options:
                  features:
                    - search
              business_country_registration:
                displayName: Business Country Registration
                type: text
                options:
                  features:
                    - search
                    - facet
              business_details_address:
                displayName: business_details_address
                type: nested
                options: {}
                innerFields:
                  address_id:
                    displayName: Address Id
                    type: text
                    options:
                      features: []
                  address_line_one:
                    displayName: Address Line One
                    type: text
                    options:
                      features:
                        - search
                  address_line_three:
                    displayName: Address Line Three
                    type: text
                    options:
                      features:
                        - search
                  city:
                    displayName: City
                    type: text
                    options:
                      features:
                        - search
                  consolidated_address:
                    displayName: Consolidated Address
                    type: text
                    options:
                      features:
                        - search
                  customer_id_number:
                    displayName: Customer ID Number
                    type: double
                    options: {}
                  latitude:
                    displayName: Latitude
                    type: double
                    options: {}
                  longitude:
                    displayName: Longitude
                    type: double
                    options: {}
                  postal_code:
                    displayName: Postal Code
                    type: text
                    options:
                      features:
                        - search
                  residence_country:
                    displayName: Residence Country
                    type: text
                    options:
                      features:
                        - search
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              business_details_email:
                displayName: business_details_email
                type: nested
                options: {}
                innerFields:
                  customer_id_number:
                    displayName: Customer Id Number
                    type: double
                    options: {}
                  email_address:
                    displayName: Email Address
                    type: text
                    options:
                      features:
                        - search
                  email_id:
                    displayName: Email Id
                    type: text
                    options:
                      features: []
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              business_details_telephon:
                displayName: business_details_telephon
                type: nested
                options: {}
                innerFields:
                  customer_id_number:
                    displayName: Customer Id Number
                    type: double
                    options: {}
                  phone_id:
                    displayName: Phone Id
                    type: text
                    options:
                      features: []
                  phone_number:
                    displayName: Phone Number
                    type: text
                    options:
                      features:
                        - search
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              business_incorporation_date:
                displayName: Business Incorporation Date
                type: date
                options: {}
              business_primary_industry:
                displayName: Business Primary Industry
                type: integer
                options: {}
              business_registered_name:
                displayName: Business Registered Name
                type: text
                options:
                  features:
                    - search
              business_registration_number:
                displayName: Business Registration Number
                type: integer
                options: {}
              customer_id_number:
                displayName: Customer Id Number
                type: double
                options: {}
              customer_name:
                displayName: Customer Name
                type: text
                options:
                  features:
                    - search
              customer_risk_rating:
                displayName: Customer Risk Rating
                type: integer
                options: {}
              customer_type:
                displayName: Customer Type
                type: text
                options:
                  features:
                    - search
                    - sort
                    - facet
              employee_flag:
                displayName: Employee Flag
                type: text
                options:
                  features:
                    - search
              fraud_alert_count:
                displayName: Fraud Alert Count
                type: integer
                options: {}
              fraud_alert_flag:
                displayName: Fraud Alert Flag
                type: text
                options:
                  features:
                    - search
              reg_disclosure_ind:
                displayName: Reg Disclosure Ind
                type: text
                options:
                  features:
                    - search
              residential_status:
                displayName: Residential Status
                type: text
                options:
                  features:
                    - search
              sanctions_alert_count:
                displayName: Sanctions Alert Count
                type: integer
                options: {}
              sanctions_alert_flag:
                displayName: Sanctions Alert Flag
                type: text
                options:
                  features:
                    - search
              special_category_code:
                displayName: Special Category Code
                type: text
                options:
                  features:
                    - search
              valid_from:
                displayName: Valid From
                type: date
                options: {}
              valid_to:
                displayName: Valid To
                type: date
                options: {}
              version:
                displayName: Version
                type: long
                options:
                  include_in_all: false
            options:
              dynamic: "false"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config:
              summary:
                fields:
                  - business_registration_number
                  - bus_cust_type
                  - customer_id_number
                  - customer_type
                highlighting:
                  bus_cust_type:
                    fragments: 3
                    fragmentSize: 150
                  business_cntry_prim_op:
                    fragments: 3
                    fragmentSize: 150
                  business_country_registration:
                    fragments: 3
                    fragmentSize: 150
                  business_registered_name:
                    fragments: 3
                    fragmentSize: 150
                  customer_name:
                    fragments: 3
                    fragmentSize: 150
                  customer_type:
                    fragments: 3
                    fragmentSize: 150
              table:
                fields:
                  - business_registration_number
                  - bus_cust_type
                  - customer_id_number
                  - customer_type
              facets:
                - type: terms
                  field: bus_cust_type
                  limit: 100
                - type: terms
                  field: business_country_registration
                  limit: 100
                  displayLimit: 10
                - type: terms
                  field: customer_type
                  limit: 100
                - type: dateRange
                  field: business_incorporation_date
                  accuracy: day
                  filter:
                    allowExact: true
                    allowRange: true
                    fromType: gte
                    toType: lte
                  ranges: []
              events:
                - id: 4b448832-ddaa-46ed-a65b-12ef62c36089
                  fields:
                    category: business incorporated
                    label: Business Incorporated
                    description: "<br>Registration Number: {business_registration_number}"
                    pointTimestamp: "{business_incorporation_date}"
                - id: f9f28b7c-de04-41a9-b962-95471e650df1
                  root: business_details_address
                  fields:
                    category: business address
                    label: "{/business_registered_name}"
                    description: "<br>Registration Number: {/business_registration_number}<br>Address: {consolidated_address}"
                    longitude: longitude
                    latitude: latitude
              label:
                template: "{0}"
                values:
                  - business_registered_name
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/business_customers
                uri: /svi-sand/admin/config/types/business_customers
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/business_customers
                uri: /svi-sand/admin/config/types/business_customers
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/business_customers
                uri: /svi-sand/admin/config/types/business_customers
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: email
            displayName: Email
            category: resolvedEntity
            options:
              dynamic: "true"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config: {}
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/email
                uri: /svi-sand/admin/config/types/email
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/email
                uri: /svi-sand/admin/config/types/email
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/email
                uri: /svi-sand/admin/config/types/email
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: employer
            displayName: Employer
            category: resolvedEntity
            options:
              dynamic: "true"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config: {}
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/employer
                uri: /svi-sand/admin/config/types/employer
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/employer
                uri: /svi-sand/admin/config/types/employer
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/employer
                uri: /svi-sand/admin/config/types/employer
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: individual
            displayName: Individual
            category: resolvedEntity
            options:
              dynamic: "true"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config: {}
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/individual
                uri: /svi-sand/admin/config/types/individual
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/individual
                uri: /svi-sand/admin/config/types/individual
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/individual
                uri: /svi-sand/admin/config/types/individual
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
          - solution: sas_visual_investigator_default
            name: individual_customers
            displayName: Individual Customers
            category: entity
            fields:
              aml_alert_count:
                displayName: AML Alert Count
                type: integer
                options: {}
              aml_alert_flag:
                displayName: AML Alert Flag
                type: text
                options:
                  features:
                    - search
              bus_cust_type:
                displayName: Business Customer Type
                type: text
                options:
                  features:
                    - search
                    - facet
              cust_emp_start_date:
                displayName: Employee Start Date
                type: date
                options: {}
              cust_graduation_date:
                displayName: Customer Graduation Date
                type: date
                options: {}
              customer_id_number:
                displayName: Customer Id Number
                type: double
                options: {}
              customer_name:
                displayName: Customer Name
                type: text
                options:
                  features:
                    - search
                    - sort
              customer_risk_rating:
                displayName: Customer Risk Rating
                type: integer
                options: {}
              customer_status:
                displayName: Customer Status
                type: text
                options:
                  features:
                    - search
                    - sort
              customer_type:
                displayName: Customer Type
                type: text
                options:
                  features:
                    - search
                    - sort
                    - facet
              date_of_birth:
                displayName: Date Of Birth
                type: date
                options: {}
              deceased_indicator:
                displayName: Deceased Indicator
                type: text
                options:
                  features:
                    - search
              dual_citizenship_ind:
                displayName: Dual Citizenship Ind
                type: text
                options:
                  features:
                    - search
              employee_flag:
                displayName: Employee Flag
                type: text
                options:
                  features:
                    - search
              employer_country:
                displayName: Employer Country
                type: text
                options:
                  features:
                    - search
              employer_name:
                displayName: Employer Name
                type: text
                options:
                  features:
                    - search
              employment_status:
                displayName: Employment Status
                type: text
                options:
                  features:
                    - search
              family_name:
                displayName: Family Name
                type: text
                options:
                  features:
                    - search
              forename:
                displayName: Forename
                type: text
                options:
                  features:
                    - search
              fraud_alert_count:
                displayName: Fraud Alert Count
                type: integer
                options: {}
              fraud_alert_flag:
                displayName: Fraud Alert Flag
                type: text
                options:
                  features:
                    - search
              full_name:
                displayName: Full Name
                type: text
                options:
                  features:
                    - search
              gender:
                displayName: Gender
                type: text
                options:
                  features:
                    - search
              individual_details_addres:
                displayName: individual_details_addres
                type: nested
                options: {}
                innerFields:
                  address_id:
                    displayName: Address Id
                    type: text
                    options:
                      features: []
                  address_line_one:
                    displayName: Address Line One
                    type: text
                    options:
                      features:
                        - search
                  address_line_three:
                    displayName: Address Line Three
                    type: text
                    options:
                      features:
                        - search
                  city:
                    displayName: City
                    type: text
                    options:
                      features:
                        - search
                  consolidated_address:
                    displayName: Consolidated Address
                    type: text
                    options:
                      features:
                        - search
                  customer_id_number:
                    displayName: Customer Id Number
                    type: double
                    options: {}
                  latitude:
                    displayName: Latitude
                    type: double
                    options: {}
                  longitude:
                    displayName: Longitude
                    type: double
                    options: {}
                  postal_code:
                    displayName: Postal Code
                    type: text
                    options:
                      features: []
                  residence_country:
                    displayName: Residence Country
                    type: text
                    options:
                      features:
                        - search
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              individual_details_email:
                displayName: individual_details_email
                type: nested
                options: {}
                innerFields:
                  customer_id_number:
                    displayName: Customer Id Number
                    type: double
                    options: {}
                  email_address:
                    displayName: Email Address
                    type: text
                    options:
                      features:
                        - search
                  email_id:
                    displayName: Email Id
                    type: text
                    options:
                      features: []
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              individual_details_teleph:
                displayName: individual_details_teleph
                type: nested
                options: {}
                innerFields:
                  customer_id_number:
                    displayName: Customer Id Number
                    type: double
                    options: {}
                  phone_id:
                    displayName: Phone Id
                    type: text
                    options:
                      features: []
                  phone_number:
                    displayName: Phone Number
                    type: text
                    options:
                      features: []
                  valid_from:
                    displayName: Valid From
                    type: date
                    options: {}
                  valid_to:
                    displayName: Valid To
                    type: date
                    options: {}
                  version:
                    displayName: Version
                    type: long
                    options:
                      include_in_all: false
              individual_title:
                displayName: Individual Title
                type: text
                options:
                  features:
                    - search
              kyc_monthly_net_income:
                displayName: KYC Monthly Net Income
                type: double
                options: {}
              kyc_monthly_outgoings:
                displayName: KYC Monthly Outgoings
                type: double
                options: {}
              maiden_name:
                displayName: Maiden Name
                type: text
                options:
                  features:
                    - search
              middle_name_one:
                displayName: Middle Name One
                type: text
                options:
                  features:
                    - search
              middle_name_two:
                displayName: Middle Name Two
                type: text
                options:
                  features:
                    - search
              name_suffix:
                displayName: Name Suffix
                type: text
                options:
                  features:
                    - search
              nationality:
                displayName: Nationality
                type: text
                options:
                  features:
                    - search
              personal_national_id_number:
                displayName: Personal National Id Number
                type: text
                options:
                  features:
                    - search
                    - sort
              proof_of_identification_type:
                displayName: Proof of Identification Type
                type: text
                options:
                  features:
                    - search
              reg_disclosure_ind:
                displayName: Reg Disclosure Ind
                type: text
                options:
                  features:
                    - search
              residential_status:
                displayName: Residential Status
                type: text
                options:
                  features:
                    - search
              sanctions_alert_count:
                displayName: Sanctions Alert Count
                type: integer
                options: {}
              sanctions_alert_flag:
                displayName: Sanctions Alert Flag
                type: text
                options:
                  features:
                    - search
              special_category_code:
                displayName: Special Category Code
                type: text
                options:
                  features:
                    - search
              valid_from:
                displayName: Valid From
                type: date
                options: {}
              valid_to:
                displayName: Valid To
                type: date
                options: {}
              version:
                displayName: Version
                type: long
                options:
                  include_in_all: false
            options:
              dynamic: "false"
              indexed_for_search: true
              number_of_replicas: 1
              number_of_shards: 1
              refresh_interval: 1
            config:
              summary:
                fields:
                  - personal_national_id_number
                  - full_name
                  - customer_type
                  - customer_status
                  - customer_risk_rating
                highlighting:
                  customer_name:
                    fragments: 3
                    fragmentSize: 150
                  customer_type:
                    fragments: 3
                    fragmentSize: 150
                  full_name:
                    fragments: 3
                    fragmentSize: 150
              table:
                fields:
                  - customer_name
                  - customer_type
                  - personal_national_id_number
                  - customer_risk_rating
                  - customer_status
              facets:
                - type: terms
                  field: bus_cust_type
                  limit: 100
                - type: terms
                  field: customer_type
                  limit: 100
                - type: dateRange
                  field: date_of_birth
                  accuracy: day
                  filter:
                    allowExact: true
                    allowRange: true
                    fromType: gte
                    toType: lte
                  ranges: []
              events:
                - id: 82d115eb-18ae-4ee7-9ddb-15e4edcb4647
                  fields:
                    category: customer dob
                    label: Customer Date of Birth
                    description: "<br>Name: {customer_name}<br>Type: {customer_type}"
                    pointTimestamp: "{date_of_birth}"
                - id: cbf46eb8-2f67-45da-900f-cb9318b167e7
                  root: individual_details_addres
                  fields:
                    category: customer address
                    label: "Customer: {/customer_name}"
                    description: "<br>Name: {/customer_name}<br>Type: {/customer_type}"
                    longitude: longitude
                    latitude: latitude
              label:
                template: "{0} {1}"
                values:
                  - forename
                  - family_name
            links:
              - method: GET
                rel: self
                href: /svi-sand/admin/config/types/individual_customers
                uri: /svi-sand/admin/config/types/individual_customers
                type: application/vnd.sas.sand.type
              - method: PUT
                rel: update
                href: /svi-sand/admin/config/types/individual_customers
                uri: /svi-sand/admin/config/types/individual_customers
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
              - method: POST
                rel: refresh
                href: /svi-sand/admin/operations
                uri: /svi-sand/admin/operations
                type: application/vnd.sas.sand.operation.request
                responseType: application/vnd.sas.sand.operation.response
              - method: DELETE
                rel: delete
                href: /svi-sand/admin/config/types/individual_customers
                uri: /svi-sand/admin/config/types/individual_customers
              - method: GET
                rel: up
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.collection
                itemType: application/vnd.sas.sand.type
              - method: POST
                rel: create
                href: /svi-sand/admin/config/types
                uri: /svi-sand/admin/config/types
                type: application/vnd.sas.sand.type
                responseType: application/vnd.sas.sand.type
        limit: 20
        version: 2
    typeCollectionNamesOnly:
      description: An example of the response from /admin/config/types?namesOnly=true.
      value:
        links:
          - method: GET
            rel: self
            href: /svi-sand/admin/config/types?start=0&limit=20
            uri: /svi-sand/admin/config/types?start=0&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: collection
            href: /svi-sand/admin/config/types
            uri: /svi-sand/admin/config/types
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: next
            href: /svi-sand/admin/config/types?start=20&limit=20
            uri: /svi-sand/admin/config/types?start=20&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
          - method: GET
            rel: last
            href: /svi-sand/admin/config/types?start=20&limit=20
            uri: /svi-sand/admin/config/types?start=20&limit=20
            type: application/vnd.sas.collection
            itemType: application/vnd.sas.sand.type
        name: types
        accept: application/vnd.sas.sand.type
        start: 0
        count: 27
        items:
          - name: address
            config: {}
          - name: business
            config: {}
          - name: business_customers
            config: {}
          - name: email
            config: {}
          - name: employer
            config: {}
          - name: individual
            config: {}
          - name: individual_customers
            config: {}
        limit: 20
        version: 2
    typeConfigurationEventIntervalGeoJson:
      description: An example of event configuration that extracts at most one event per array entry in the `old_addresses` field based on the root path. As the field specifiers are not delimited by /, each event is populated from the inner fields of the corresponding array entry. Since the tokenized text for the interval values refers to a single field, those fields must be of type date and contain valid ISO formatted date/time values. As `state` is a required field, events are extracted only if the array entry has a value for that field as well as either a valid GeoJSON value in the `location` field or values in both the `date_from` and `date_to` fields. The absence of a `city` field value causes that token to be removed from the description without being replaced with a value.
      value:
        root: old_addresses
        fields:
          category: Previous Address
          intervalStartTimestamp: "{date_from}"
          intervalEndTimestamp: "{date_to}"
          description: lived in {city}, {state}
          geoJson: location
        requiredFields:
          - state
    typeConfigurationEventLatLon:
      description: An example of event configuration that extracts a single event based on an object's top-level `lon`, `lat`, `city` and `state` fields. As there are no required fields defined, the event is extracted only if an object contains a numerical value in the `lon` field constituting a valid longitude and a numerical value in the `lat` field constituting a valid latitude value. The absence of `city` or `state` field values causes those tokens to be removed from the description without being replaced with a value.
      value:
        fields:
          category: Primary Address
          longitude: lon
          latitude: lat
          description: lives in {city}, {state}
    typeConfigurationEventPaths:
      description: An example of event configuration that shows how to mix absolute and relative paths in field specifiers. The example is based on an object with 4 levels of sub-objects (none of which are arrays); `level1` is a top-level field in the object containing a `level2` field and so on. In this case, a single event is extracted from the `level3` sub-object comprised of the `level3_date` time value and a description based on the `level3_text` field in this sub-object, the `level2_text` field from this sub-object's parent (`level2`) and the `level4_text` from this sub-object's child (`level4`). Given that pointTimestamp refers to a single field, that field must be of type date. As there are required fields, the event is extracted only if these have values as well as `level3_date` having a value.
      value:
        root: level1/level2/level3
        fields:
          category: Complex Path Example Event
          pointTimestamp: "{level3_date}"
          description: "this level: {level3_text} parent level: {/level1/level2/level2_text} child level: {level4/level4_text}"
        requiredFields:
          - level3_text
          - level4/level4_text
          - /level1/level2/level2_text
    typeConfigurationEventPointTimestamp:
      description: An example of event configuration that extracts a single event based on an object's top-level `opendate`, `account_holder_forename`, and `account_holder_surname` fields. Given that pointTimestamp refers to a single field, that field must be of type date thereby containing an ISO formatted date/time value. As there are no required fields defined, the event is extracted only if an object has a value for `opendate`. The absence of `account_holder_forename` or `account_holder_surname` field values causes those tokens to be removed from the description without being replaced with a value.
      value:
        fields:
          category: Account Opened
          pointTimestamp: "{opendate}"
          description: opened by {account_holder_forename} {account_holder_surname}
    typeConfigurationFacetDateRange:
      description: An example of the configuration for the date range facet based on a report date. In addition to the administrator defined ranges, the filter section suggests that clients are allowed to define their own range filters but not their own filter on an exact value.
      value:
        type: dateRange
        field: reported
        accuracy: day
        filter:
          allowExact: false
          allowRange: true
          fromType: gte
          toType: lte
          displayFormat: dd-MM-yyyy
        ranges:
          - description: Before 1980
            id: bdcaa922-3f90-4ae1-b6c0-4ba7de60c312
            lt: 1980-01-01
          - description: "[1980, 1985]"
            id: c3a442ce-ec8c-44c4-8015-1137ab4c83ad
            gte: 1980-01-01
            lte: 1985-12-31
          - description: "[1986, 1990]"
            id: 03834003-801f-48a9-a219-b2aa6376138c
            gte: 1986-01-01
            lte: 1990-12-31
          - description: "[1991, 2000]"
            id: 70c4b548-a275-409e-9c93-6279e29b6ac6
            gte: 1991-01-01
            lte: 2000-12-31
          - description: After 2000
            id: 31bda348-cf8c-46c8-85be-20809102c61f
            gt: 2000-01-01
    typeConfigurationFacetNumericalRange:
      description: An example of the configuration for the numerical range facet based on transaction amounts. In addition to the administrator defined ranges, the filter section suggests that clients are allowed to define their own range filters.
      value:
        type: range
        field: amount
        filter:
          allowExact: true
          allowRange: true
          fromType: gte
          toType: lte
          displayFormat: "####"
        ranges:
          - description: Less than 50
            id: 8fabe28c-3268-4ab2-bc1b-d073ce5312b2
            lt: 50
          - description: "[50, 100)"
            id: ce734c46-a869-4b60-8e00-e2e56a7a7c85
            gte: 50
            lt: 100
          - description: "[100, 150)"
            id: e6f824ff-313e-4b6d-bd43-654fda41bdcf
            gte: 100
            lt: 150
          - description: "[150, 200)"
            id: 399844ea-f03b-4e2d-aa3a-c07c93ba75fb
            gte: 150
            lt: 200
          - description: Greater than 200
            id: 27edf5c1-d54d-4c9e-b16a-0fcba599ae57
            gt: 200
    typeConfigurationFacetTerms:
      description: An example of the configuration for the terms facet that is based on the city field show casing how to order results highest count first.
      value:
        type: terms
        field: city
        limit: 50
        displayLimit: 10
        minDocCount: 1
        orderBy: count
        orderDirection: desc
    typeConfigurationFacetType:
      description: An example of the configuration for the type facet show casing how to sort results by alphabetical order.
      value:
        type: type
        displayLimit: 8
        minDocCount: 1
        orderBy: alpha
        orderDirection: asc
    typeConfigurationGraph:
      description: An example of the graph configuration that includes the specified fields in graph responses.
      value:
        fields:
          - firstName
          - lastName
          - dateOfBirth
    typeConfigurationLabel:
      description: An example of the label configuration that generates the templated label from the values in the specified fields.
      value:
        template: "{0} {1} born on {2}"
        values:
          - firstName
          - lastName
          - dateOfBirth
    typeConfigurationSummary:
      description: An example of the summary configuration that includes specific fields to return and well as a field to generate highlighting for when its content matches a search query.
      value:
        fields:
          - firstName
          - lastName
          - dateOfBirth
        highlighting:
          fullName:
            highlighter: plain
            fragments: 3
            fragmentSize: 100
    typeConfigurationTable:
      description: An example of the table configuration that includes the specified fields.
      value:
        fields:
          - firstName
          - lastName
          - dateOfBirth
    typeConfigurationTextAnalytics:
      description: An example of the text analytics configuration that includes the subject and body fields in the corpus and uses the from, to and cc fields for the Sankey diagrams.
      value:
        fields:
          - subject
          - body
        fromField: from
        toFields:
          - to
          - cc
    vertex:
      description: An example of the response from /vertices/{type}/{identifier} as well as more generally a vertex within the context of the Network visualization. Note the degree count is greater than the adjacent count when there are multiple edges between this and another vertex. The properties are always returned from /vertices but fewer properties are returned for other endpoints; for example, /traversals does not include adjacent, degree, adjacentByType or degreeByType unless its extendedFormat parameter is set to true.
      value:
        id: "337"
        type: report
        typeLabel: Report
        label: Theft of red bmw reported by John Smith
        attachmentsCount: 1
        adjacent: 4
        degree: 5
        adjacentByType:
          person: 1
          report: 3
        degreeByType:
          mentions: 2
          related to: 3
        fields:
          - name: reportedAt
            type: date
            value: 2012-01-05
        validFrom: 2001-08-16T05:00:00Z
        validTo: 2014-10-25T17:00:00Z
        selected: false
        style:
          iconName: reportIcon1
          markerColor: "#ffffff"
          backgroundColor: "#ffffff"
          shape: square
          scale: 1
          additionalLabel: Information Report
          indicatorIcons:
            - name: High Priority
              position: N
            - name: Verified
              position: S
    visualizationRequestTypeFacetsFilterMode:
      description: An example of the Facets visualization request in filter mode where the returned filters are restricted to the `person` and `report` types.
      value:
        type: facets
        mode: filter
        types:
          - person
          - report
    visualizationRequestTypeFacetsSelectionMode:
      description: An example of the Facets visualization request in selection mode.
      value:
        type: facets
        mode: selection
    visualizationRequestTypeHits:
      description: An example of the Hits visualization request.
      value:
        type: hits
    visualizationRequestTypeMap:
      description: An example of the Map visualization request with defined view and maximum number of features.
      value:
        type: map
        view:
          - - -2.35
            - 52.76
          - - 2.35
            - -52.76
        maxFeatures: 2000
    visualizationRequestTypeMapFeature:
      description: "An example of the Map Feature visualization request that asks for more information about the objects at the given location. "
      value:
        type: mapFeature
        lat: -2.35
        lon: 52.76
        maxEvents: 3
    visualizationRequestTypeSummary:
      description: An example of the Summary visualization request that sorts results by score.
      value:
        type: summary
        start: 1
        limit: 50
        order:
          type: score
          direction: descending
    visualizationRequestTypeTable:
      description: An example of the Table visualization request that sorts results by descending account opened date.
      value:
        type: table
        start: 1
        limit: 100
        order:
          type: field
          fields:
            - name: account_opened_date
              entityType: account
              direction: descending
    visualizationRequestTypeTimeline:
      description: An example of the Time Line visualization request. In this example, the time range is the 5-year period from 2007-09-27 until 2012-09-27. Since the `paddingFactor` is 2, the response includes the 10-year (2 x 5) period prior to 2007-09-27 and the 10-year period following 2012-09-27. Regarding the `intervalCount` and `minimumClusterSize`, if a given interval has 45 objects, then we show all objects. If a given interval has 52 objects, then we show all objects as we want to show at least 50, and having a cluster for the remaining 2 would be below the `minimumClusterSize` of 5. If a given interval has 70 objects, then we show 50 and cluster the remaining 20.
      value:
        type: timeline
        start: 1
        limit: 50
        order:
          type: doc
          direction: ascending
        startTimestamp: 2007-09-27
        endTimestamp: 2012-09-27
        intervalCount: 50
        minimumClusterSize: 5
        paddingFactor: 2
    visualizationRequestTypeTimebar:
      description: An example of the Time Bar visualization request. In this example, the time range is the 5-year period from 2007-09-27 until 2012-09-27. Since the `intervalCount` is 100, the response includes at most 100 time bar intervals. The exact number of intervals will be returned in the response.
      value:
        type: timebar
        startTimestamp: 2007-09-27
        endTimestamp: 2012-09-27
        intervalCount: 100
        geoEventsRequired: true
    visualizationResponseTypeFacetsFilter:
      description: An example of the Facets visualization response in filter mode with examples of the type, dateRange, terms and range facets.
      value:
        type: facets
        mode: filter
        facets:
          - objectType: _all
            facets:
              - type: type
                hitCount: 60
                buckets:
                  - type: person
                    hitCount: 40
                  - type: report
                    hitCount: 20
              - type: dateRange
                field: createdate
                accuracy: second
                filter:
                  displayFormat: dd-MM-yyyy HH:MM:SS
                  allowExact: false
                  allowRange: true
                  fromType: gte
                  toType: lte
          - objectType: person
            facets:
              - type: range
                field: age
                hitCount: 40
                min: 19
                max: 43
                ranges:
                  - description: <20
                    lt: 20
                    hitCount: 2
                  - description: "[20, 30)"
                    gte: 20
                    lt: 30
                    hitCount: 13
                  - description: "[30, 40)"
                    gte: 30
                    lt: 40
                    hitCount: 20
                  - description: ">=40"
                    gte: 40
                    hitCount: 5
              - type: terms
                field: gender
                hitCount: 40
                buckets:
                  - term: female
                    hitCount: 26
                  - term: male
                    hitCount: 14
          - objectType: report
            facets:
              - type: terms
                field: crime
                hitCount: 20
                buckets:
                  - term: assault
                    hitCount: 14
                  - term: theft
                    hitCount: 6
              - type: range
                field: risk
                hitCount: 20
                min: 1
                max: 10
                filter:
                  displayFormat: integer
                  allowExact: false
                  allowRange: true
                  fromType: gte
                  toType: lte
    visualizationResponseTypeHits:
      description: "An example of the Hits visualization response showing a total of 20 results: 12 person objects and 8 report objects."
      value:
        type: hits
        hitCount: 20
        hitsPerType:
          - type: person
            hitCount: 12
          - type: report
            hitCount: 8
    visualizationResponseTypeMapCluster:
      description: An example of the Map visualization response where there are too many results to be returned as a collection so that results are clustered. Only two clusters are shown for brevity.
      value:
        type: mapCluster
        view: []
        maxFeatures: 100
        hitCount: 4925
        eventCount: 4982
        featureCount: 4375
        approxGlobalFeatureCount: 4375
        clusters:
          - geohash: u
            bounds:
              - - 0.015556
                - 69.947798
              - - 28.93471
                - 45.002418
            count: 1791
            selectedCount: 239
          - geohash: r
            bounds:
              - - 135.413346
                - -10.897056
              - - 153.564517
                - -43.286318
            count: 1015
            selectedCount: 1015
    visualizationResponseTypeMapFeature:
      description: An example of the Map Feature visualization response.
      value:
        type: mapFeature
        maxEvents: 5
        lat: -41.25094
        lon: 147.190278
        features:
          type: FeatureCollection
          features:
            - type: Feature
              geometry:
                type: Point
                coordinates:
                  - 147.190278
                  - -41.25094
              properties:
                events:
                  - eventId: ce63176d-e0b6-420d-9f00-64d91bd7a4eb
                    eventCategory: policy_holder_address
                    eventLabel: John Smith resides at 1 Glasgow Road, Glasgow, UK
                    eventDescription: Semi-detached, 3 bedrooms, brick walls, tile roof
                    objectId: LK13R1R1N
                    objectType: insurance_claim
                    objectTypeLabel: Insurance Claim
                    objectLabel: Claim 9823 in relation to policy 32502
                    objectDescription: Claim for stolen vehicle filed on 2016-01-28
                    objectAttachmentsCount: 2
                  - eventId: 1312237e-7772-4eed-9722-3e63726deb86
                    eventCategory: policy_holder_address
                    eventLabel: John Smith resides at 1 Glasgow Road, Glasgow, UK
                    eventDescription: Semi-detached, 3 bedrooms, brick walls, tile roof
                    objectId: LK13R1R1N
                    objectType: insurance_claim
                    objectTypeLabel: Insurance Claim
                    objectLabel: Claim 8233 in relation to policy 98622
                    objectDescription: Claim for stolen vehicle filed on 2016-01-28
                    objectAttachmentsCount: 2
                eventCount: 2
                selectedEventCount: 1
    visualizationResponseTypeMapFeatureCollection:
      description: An example of the Map visualization response where the results are returned as a collection. Only a single feature is shown for brevity.
      value:
        type: map
        view: []
        maxFeatures: 10000
        hitCount: 4925
        eventCount: 4982
        featureCount: 4587
        approxGlobalFeatureCount: 4901
        features:
          type: FeatureCollection
          features:
            - type: Feature
              geometry:
                type: Point
                coordinates:
                  - 147.190278
                  - -41.25094
              properties:
                events:
                  - objectId: "37265789239"
                    objectType: customer
                    selected: false
                  - objectId: "89080643168"
                    objectType: customer
                    selected: true
                eventCount: 2
                selectedEventCount: 1
    visualizationResponseTypeSummary:
      description: An example of the Summary visualization response. The fields, highlighting and results parts of the response have been abbreviated for brevity.
      value:
        type: summary
        start: 1
        limit: 10
        hitCount: 20
        order:
          type: score
          direction: descending
        results:
          - id: ju0RrSsRQRqdSnrKO75AFQ
            type: person
            typeLabel: Person
            label: Smith, John
            attachmentsCount: 3
            fields:
              - name: Forename
                type: text
                value: John
            highlighting:
              full_name:
                - John <em>Smith</em>
    visualizationResponseTypeTable:
      description: An example of the Table visualization response. Only a few columns and data entries are shown for brevity.
      value:
        type: table
        start: 1
        limit: 100
        hitCount: 500
        order:
          type: field
          fields:
            - name: account_opened_date
              direction: descending
        columnHeadings:
          - field: _attachments_count
            label: Number of Attachments
            type: long
          - field: _label
            label: Label
            type: text
          - field: _type
            label: Object Type
            type: text
        data:
          - _type: business_account
            id: "321891465654"
            _label: "Account: 321891465654"
            _attachments_count: 0
          - _type: business_account
            id: "240512631306"
            _label: "Account: 240512631306"
            _attachments_count: 3
          - _type: business_account
            id: "108583739092"
            _label: "Account: 108583739092"
            _attachments_count: 1
    visualizationResponseTypeTimeline:
      description: An example of the Time Line visualization response. Only a single swim lane and swim lane entry are shown for brevity.
      value:
        type: timeline
        start: 1
        limit: 50
        order:
          type: doc
          direction: ascending
        intervalCount: 1
        minimumClusterSize: 2
        paddingFactor: 1
        interval: year
        hitCount: 2
        eventCount: 3
        globalMinTime: 1981-02-19T05:59:00.001Z
        globalMaxTime: 2014-07-11T01:02:03.123Z
        minTime: 1981-02-19T05:59:00.001Z
        maxTime: 2014-07-11T01:02:03.123Z
        swinLanes:
          - id: customer#24419536
            objectId: "24419536"
            objectType: customer
            objectTypeLabel: Customer
            label: ALEXANDR TE NIJE
            description: "National Id: 671042300 - Full Name: Alexandr te Nije - Risk: 2614"
            attachmentsCount: 1
        swimLaneEntries:
          - group: customers#24419536
            startTimestamp: 2009-11-14T00:00Z
            endTimestamp: 2009-11-14T00:00Z
            eventId: 1f933a25-de3f-4c20-87ab-6ccb909361a8
            eventCategory: customer_dob
            eventLabel: Customer Date of Birth
            eventDescription: "<br>Name: Alexandr Te Nije<br>Type: HS"
    visualizationResponseTypeTimebar:
      description: An example of the Time Bar visualization response. Only a few intervals are shown for brevity.
      value:
        type: timebar
        intervalCount: 50
        geoEventsRequired: false
        hitCount: 120
        eventCount: 240
        globalMinTime: 1980-01-21T00:00:00.000Z
        globalMaxTime: 1989-12-21T05:00:00.000Z
        interval: day
        intervalSize: 86400000
        timebarIntervals:
          - start: 1980-01-21T00:00:00.000Z
            hitCount: 2
          - start: 1980-01-22T00:00:00.000Z
            hitCount: 0
          - start: 1980-12-21T00:00:00.000Z
            hitCount: 2
