Indykite Entity Matching API
Entity Matching Pipeline configuration
Entity Matching Pipeline configuration
openapi: 3.2.0
info:
contact: {}
description: Config API supports CRUD operations on config objects.
title: Config REST Application Agent Credentials Entity Matching 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:
- name: Entity Matching
description: Entity Matching Pipeline configuration
x-displayName: Entity Matching
paths:
/entity-matching-pipelines:
get:
tags:
- Entity Matching
operationId: listEntityMatchingPipelines
summary: List Entity Matching Pipelines
description: List Entity Matching Pipelines in provided Project with optional filtering.
parameters:
- description: Project ID where to search for Entity Matching Pipelines.
in: query
name: project_id
required: true
style: form
explode: true
schema:
type: string
- description: Full fetch of all data. If not provided, only metadata is returned.
in: query
name: full_fetch
required: false
style: form
explode: true
schema:
type: boolean
- description: List only objects, that contains given search query in name, display name or description
in: query
name: search
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.listConfigResponse-httpproxy_readEntityMatchingPipelineResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
'401':
description: Invalid ServiceAccount JWT in Authorization header
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
post:
tags:
- Entity Matching
operationId: createEntityMatchingPipeline
summary: Create Entity Matching Pipeline
description: Create Entity Matching Pipeline in provided Project.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.createEntityMatchingPipelineRequest'
description: Create Entity Matching Pipeline request
required: true
responses:
'201':
description: Created
headers:
etag:
description: Multiversion concurrency control version - etag
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.createConfigResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
'401':
description: Invalid ServiceAccount JWT in Authorization header
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
x-codegen-request-body-name: request
security:
- BearerToken: []
/entity-matching-pipelines/{id}:
delete:
tags:
- Entity Matching
operationId: deleteEntityMatchingPipeline
summary: Delete Entity Matching Pipeline
description: Delete Entity Matching Pipeline by provided ID. You can optionally can specify etag in If-Match header.
parameters:
- description: Entity Matching Pipeline ID
in: path
name: id
required: true
style: simple
explode: false
schema:
type: string
- description: Multiversion concurrency control version - etag
in: header
name: If-Match
required: false
style: simple
explode: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.deleteConfigResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
'401':
description: Invalid ServiceAccount JWT in Authorization header
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
get:
tags:
- Entity Matching
operationId: getEntityMatchingPipeline
summary: Read Entity Matching Pipeline
description: Read Entity Matching Pipeline identified by provided ID.
parameters:
- description: Entity Matching Pipeline ID or name
in: path
name: id
required: true
style: simple
explode: false
schema:
type: string
- description: Version of configuration to read. If not provided, latest version is returned.
in: query
name: version
required: false
style: form
explode: true
schema:
type: integer
- description: Parent project ID. Required when querying by name
in: query
name: location
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: OK
headers:
etag:
description: Multiversion concurrency control version - etag
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.readEntityMatchingPipelineResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
'401':
description: Invalid ServiceAccount JWT in Authorization header
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
security:
- BearerToken: []
put:
tags:
- Entity Matching
operationId: updateEntityMatchingPipeline
summary: Update Entity Matching Pipeline
description: Update Entity Matching Pipeline identified by provided ID and optionally etag in If-Match header.
parameters:
- description: Entity Matching Pipeline ID
in: path
name: id
required: true
style: simple
explode: false
schema:
type: string
- description: Multiversion concurrency control version - etag.
in: header
name: If-Match
required: false
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.updateEntityMatchingPipelineRequest'
description: Update Entity Matching Pipeline request.
required: true
responses:
'200':
description: OK
headers:
etag:
description: Multiversion concurrency control version - etag
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/httpproxy.updateConfigResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
'401':
description: Invalid ServiceAccount JWT in Authorization header
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.DetailedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/restapi.ErrorResponse'
x-codegen-request-body-name: request
security:
- BearerToken: []
components:
schemas:
httpproxy.updateConfigResponse:
properties:
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
id:
description: ID of configuration to update.
type: string
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
type: object
httpproxy.createEntityMatchingPipelineRequest:
properties:
description:
description: Description is optional description of configuration.
maxLength: 65000
minLength: 2
type: string
display_name:
description: DisplayName is optional human readable name of configuration.
maxLength: 254
minLength: 2
type: string
name:
description: 'Name is URL friendly identifier of configuration, must be unique in scope of parent entity.
Also is immutable and cannot be changed later.'
type: string
node_filter:
allOf:
- $ref: '#/components/schemas/httpproxy.entityMatchingPipelineNodeFilter'
description: NodeFilter contain a list of source types and a list target node types that will be evaluated.
project_id:
description: 'ProjectID is identifier of Project, formerly known as Application space,
where to place this new configuration object. Must be in GID format.'
type: string
rerun_interval:
description: RerunInterval is the time between scheduled re-runs (currently not supported).
type: string
similarity_score_cutoff:
description: SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched.
maximum: 1
minimum: 0
type: number
required:
- name
- node_filter
- project_id
- similarity_score_cutoff
type: object
httpproxy.deleteConfigResponse:
properties:
id:
description: ID of deleted configuration.
type: string
type: object
httpproxy.updateEntityMatchingPipelineRequest:
properties:
description:
description: 'Description is optional description of configuration. When kept null, it is not changed.
But when set to empty string, it will be removed.'
maxLength: 65000
type: string
display_name:
description: 'DisplayName is optional human readable name of configuration. When kept null, it is not changed.
But when set to empty string, it will be removed.'
maxLength: 254
type: string
rerun_interval:
description: RerunInterval is the time between scheduled re-runs (currently not supported).
type: string
similarity_score_cutoff:
description: SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched.
maximum: 1
minimum: 0
type: number
type: object
restapi.DetailedError:
properties:
errors:
items:
type: string
type: array
message:
type: string
type: object
httpproxy.entityMatchingPipelinePropertyMapping:
properties:
similarity_score_cutoff:
description: SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched.
type: number
source_node_property:
description: TargetNodeType is the node's type that will be compared to nodes of SourceNodeType.
type: string
source_node_type:
description: SourceNodeType is the node's type that will be compared to nodes of TargetNodeType.
type: string
target_node_property:
description: TargetNodeProperty is a target node property that will be compared to SourceNodeProperty.
type: string
target_node_type:
description: SourceNodeProperty is a source node's property that will be compared to TargetNodeProperty.
type: string
type: object
httpproxy.listConfigResponse-httpproxy_readEntityMatchingPipelineResponse:
properties:
data:
items:
$ref: '#/components/schemas/httpproxy.readEntityMatchingPipelineResponse'
type: array
type: object
restapi.ErrorResponse:
properties:
message:
example: Internal Server Error
type: string
type: object
httpproxy.entityMatchingPipelineNodeFilter:
properties:
source_node_types:
description: 'SourceNodeTypes is the list of node types that will be compared to nodes in the TargetNodeTypes list.
Currently, only the first node type will be taken into consideration.'
items:
type: string
minItems: 1
type: array
target_node_types:
description: 'TargetNodeTypes is the list of node types that will be compared to nodes in the SourceNodeTypes list.
Currently, only the first node type will be taken into consideration.'
items:
type: string
minItems: 1
type: array
required:
- source_node_types
- target_node_types
type: object
httpproxy.readEntityMatchingPipelineResponse:
properties:
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
description:
description: Description is optional description of configuration.
type: string
display_name:
description: DisplayName is optional human readable name of configuration. Is equal to Name if not set.
type: string
entity_matching_message:
description: Any error message from the entity matching analysis explaining the current entity_matching_status.
type: string
entity_matching_status:
description: EntityMatchingStatus is the status assigned to the pipeline's step that matches node entities.
type: string
id:
description: ID is globally unique identifier of configuration.
type: string
last_run_time:
description: LastRunTime is the time when the pipeline was last run.
type: string
name:
description: Name is URL friendly identifier of configuration.
type: string
node_filter:
allOf:
- $ref: '#/components/schemas/httpproxy.entityMatchingPipelineNodeFilter'
description: NodeFilter contain a list of source types and a list target node types that will be evaluated.
organization_id:
description: 'OrganizationID is globally unique identifier of organization, formerly known as customer,
under which configuration was created.'
type: string
project_id:
description: 'ProjectID is globally unique identifier of project, formerly known as application space,
under which configuration was created.
Might be empty, if configuration is created directly under organization.'
type: string
property_mapping_message:
description: Any error message from the property mapping analysis explaining the current property_mapping_status.
type: string
property_mapping_status:
description: PropertyMappingStatus is the status assigned to the pipeline's step that maps node types' properties.
type: string
property_mappings:
description: PropertyMappings contains the rules the pipeline will use to match source nodes with target nodes.
items:
$ref: '#/components/schemas/httpproxy.entityMatchingPipelinePropertyMapping'
type: array
report_type:
description: ReportType indicates the format in which the report is stored.
type: string
report_url:
description: ReportURL points to where the analysis report is stored.
type: string
rerun_interval:
description: RerunInterval is the time between scheduled re-runs (currently not supported).
type: string
similarity_score_cutoff:
description: SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched.
type: number
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
matched_entities:
description: MatchedEntities is the number of entities the pipeline has matched in its last run.
type: integer
type: object
httpproxy.createConfigResponse:
properties:
create_time:
description: CreateTime specify when configuration was created.
type: string
created_by:
description: CreatedBy specify who created configuration.
type: string
id:
description: ID is globally unique identifier of created configuration.
type: string
update_time:
description: UpdateTime specify when configuration was last time updated.
type: string
updated_by:
description: UpdatedBy specify who last time updated configuration.
type: string
type: object
securitySchemes:
BearerToken:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer token generated from Service Account credentials.
x-original-swagger-version: '2.0'