Indykite Capture API

Capture REST API represents the service interface for data capture.

OpenAPI Specification

indykite-capture-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  description: Config API supports CRUD operations on config objects.
  title: Config REST Application Agent Credentials Capture API
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1'
servers:
- url: https://eu.api.indykite.com/configs/v1
- url: https://us.api.indykite.com/configs/v1
security:
- BearerToken: []
tags:
- description: Capture REST API represents the service interface for data capture.
  name: Capture
  x-displayName: Capture API
paths:
  /capture/v1/nodes:
    post:
      tags:
      - Capture
      operationId: createCaptureV1Node
      summary: Batch node upsert endpoint
      description: Batch upsert nodes
      requestBody:
        description: Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.UpsertNodesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                    message:
                      type: string
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - type: object
                  properties:
                    message:
                      type: string
      x-codegen-request-body-name: request
  /capture/v1/nodes/delete:
    post:
      tags:
      - Capture
      operationId: createCaptureV1NodesDelete
      summary: Batch node delete endpoint
      description: Batch delete nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.DeleteNodesRequest'
        description: Request Body
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - properties:
                    errors:
                      items:
                        type: string
                      type: array
                    message:
                      type: string
                  type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - properties:
                    message:
                      type: string
                  type: object
      x-codegen-request-body-name: request
  /capture/v1/nodes/properties/delete:
    post:
      tags:
      - Capture
      operationId: createCaptureV1NodesPropertiesDelete
      summary: Batch node properties delete endpoint
      description: Batch delete node properties
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.DeleteNodePropertiesRequest'
        description: Request Body
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - properties:
                    errors:
                      items:
                        type: string
                      type: array
                    message:
                      type: string
                  type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - properties:
                    message:
                      type: string
                  type: object
      x-codegen-request-body-name: request
  /capture/v1/nodes/properties/metadata/delete:
    post:
      tags:
      - Capture
      operationId: createCaptureV1NodesPropertiesMetadataDelete
      summary: Batch node properties metadata delete endpoint
      description: Batch delete node properties metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.DeleteNodePropertyMetadataRequest'
        description: Request Body
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - properties:
                    errors:
                      items:
                        type: string
                      type: array
                    message:
                      type: string
                  type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - properties:
                    message:
                      type: string
                  type: object
      x-codegen-request-body-name: request
  /capture/v1/relationships:
    post:
      tags:
      - Capture
      operationId: createCaptureV1Relationship
      summary: Batch relationship upsert endpoint
      description: Batch upsert relationship
      requestBody:
        description: Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.UpsertRelationshipsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - type: object
                  properties:
                    errors:
                      type: array
                      items:
                        type: string
                    message:
                      type: string
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - type: object
                  properties:
                    message:
                      type: string
      x-codegen-request-body-name: request
  /capture/v1/relationships/delete:
    post:
      tags:
      - Capture
      operationId: createCaptureV1RelationshipsDelete
      summary: Batch relationship delete endpoint
      description: Batch delete relationships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.DeleteRelationshipsRequest'
        description: Request Body
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - properties:
                    errors:
                      items:
                        type: string
                      type: array
                    message:
                      type: string
                  type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - properties:
                    message:
                      type: string
                  type: object
      x-codegen-request-body-name: request
  /capture/v1/relationships/properties/delete:
    post:
      tags:
      - Capture
      operationId: createCaptureV1RelationshipsPropertiesDelete
      summary: Batch relationship properties delete endpoint
      description: Batch delete relationship properties
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capture.DeleteRelationshipPropertiesRequest'
        description: Request Body
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capture.BatchResults'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.DetailedError'
                - properties:
                    errors:
                      items:
                        type: string
                      type: array
                    message:
                      type: string
                  type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restapi.DetailedError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/restapi.ErrorResponse'
                - properties:
                    message:
                      type: string
                  type: object
      x-codegen-request-body-name: request
components:
  schemas:
    capture.DeleteNodePropertyMetadata:
      required:
      - external_id
      - metadata_fields
      - property_type
      - type
      type: object
      properties:
        external_id:
          maxLength: 256
          minLength: 1
          type: string
        metadata_fields:
          maxItems: 250
          minItems: 1
          type: array
          items:
            type: string
        property_type:
          type: string
        type:
          maxLength: 64
          minLength: 2
          type: string
        location:
          maxLength: 32
          minLength: 2
          type: string
    capture.DeleteNode:
      type: object
      required:
      - external_id
      - type
      properties:
        external_id:
          maxLength: 256
          minLength: 1
          type: string
        location:
          maxLength: 32
          minLength: 2
          type: string
        type:
          maxLength: 64
          minLength: 2
          type: string
    capture.DeleteNodePropertiesRequest:
      required:
      - nodes
      type: object
      properties:
        nodes:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.DeleteNodeProperties'
    capture.Property:
      required:
      - type
      type: object
      properties:
        external_value:
          type: string
        metadata:
          $ref: '#/components/schemas/capture.Metadata'
        type:
          maxLength: 128
          type: string
        value:
          $ref: '#/components/schemas/capture.PropertyValue'
          description: Value can be either string, integer, float, boolean, or an array of any of those types
    capture.Result:
      properties:
        id:
          type: string
      type: object
    capture.DeleteNodePropertyMetadataRequest:
      required:
      - nodes
      type: object
      properties:
        nodes:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.DeleteNodePropertyMetadata'
    capture.DeleteNodesRequest:
      required:
      - nodes
      type: object
      properties:
        nodes:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.DeleteNode'
    capture.PropertyValue:
      oneOf:
      - type: string
      - type: integer
      - type: number
      - type: boolean
      - type: array
        items:
          oneOf:
          - type: string
          - type: integer
          - type: number
          - type: boolean
      description: Value can be either string, integer, float, boolean, or an array of any of those types
    capture.Metadata:
      type: object
      properties:
        assurance_level:
          type: integer
          enum:
          - 1
          - 2
          - 3
        custom_metadata:
          type: object
          additionalProperties:
            type: object
        source:
          type: string
        verified_time:
          type: string
    capture.DeleteNodeProperties:
      required:
      - external_id
      - property_types
      - type
      type: object
      properties:
        external_id:
          maxLength: 256
          minLength: 1
          type: string
        property_types:
          items:
            type: string
          maxItems: 250
          minItems: 1
          type: array
        type:
          maxLength: 64
          minLength: 2
          type: string
        location:
          maxLength: 32
          minLength: 2
          type: string
    capture.BatchResults:
      properties:
        results:
          items:
            $ref: '#/components/schemas/capture.Result'
          type: array
      type: object
    capture.UpsertRelationshipsRequest:
      required:
      - relationships
      type: object
      properties:
        relationships:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.Relationship'
        use_global_db:
          description: UseGlobalDB routes the relationships to the Global DB of a composite database deployment.
          type: boolean
    capture.DeleteRelationshipProperties:
      required:
      - property_types
      - source
      - target
      - type
      type: object
      properties:
        properties:
          type: array
          items:
            $ref: '#/components/schemas/capture.BaseProperty'
        property_types:
          maxItems: 250
          minItems: 1
          type: array
          items:
            type: string
        source:
          $ref: '#/components/schemas/capture.Node'
        target:
          $ref: '#/components/schemas/capture.Node'
        type:
          maxLength: 128
          type: string
    capture.UpsertNode:
      required:
      - external_id
      - type
      type: object
      properties:
        external_id:
          maxLength: 256
          minLength: 1
          type: string
        is_identity:
          type: boolean
        labels:
          items:
            type: string
          type: array
        location:
          maxLength: 32
          minLength: 2
          type: string
        properties:
          items:
            $ref: '#/components/schemas/capture.Property'
          type: array
        type:
          maxLength: 64
          minLength: 2
          type: string
    capture.DeleteRelationshipPropertiesRequest:
      required:
      - relationships
      type: object
      properties:
        relationships:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.DeleteRelationshipProperties'
        use_global_db:
          description: UseGlobalDB routes the relationship property deletes to the Global DB of a composite database deployment.
          type: boolean
    capture.DeleteRelationshipsRequest:
      required:
      - relationships
      type: object
      properties:
        relationships:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.Relationship'
        use_global_db:
          description: UseGlobalDB deletes the relationships from the Global DB of a composite database deployment.
          type: boolean
    capture.Relationship:
      required:
      - source
      - target
      - type
      type: object
      properties:
        properties:
          items:
            $ref: '#/components/schemas/capture.BaseProperty'
          type: array
        source:
          $ref: '#/components/schemas/capture.Node'
        target:
          $ref: '#/components/schemas/capture.Node'
        type:
          maxLength: 128
          type: string
    capture.BaseProperty:
      required:
      - type
      type: object
      properties:
        external_value:
          type: string
        type:
          maxLength: 128
          type: string
        value:
          $ref: '#/components/schemas/capture.PropertyValue'
          description: Value can be either string, integer, float, boolean, or an array of any of those types
    restapi.DetailedError:
      type: object
      properties:
        errors:
          type: array
          description: Errors are optional and may contain additional details.
          items:
            type: string
          examples:
          - - missing bearer token
        message:
          type: string
          description: Message describes the error.
          examples:
          - unauthorized request
    restapi.ErrorResponse:
      type: object
      properties:
        message:
          type: string
          examples:
          - Internal Server Error
    capture.Node:
      required:
      - external_id
      - type
      type: object
      properties:
        external_id:
          maxLength: 256
          minLength: 1
          type: string
        type:
          maxLength: 64
          minLength: 2
          type: string
        location:
          maxLength: 32
          minLength: 2
          type: string
    capture.UpsertNodesRequest:
      required:
      - nodes
      type: object
      properties:
        nodes:
          maxItems: 250
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/capture.UpsertNode'
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token generated from Service Account credentials.
x-original-swagger-version: '2.0'