Skip to content

Linkage Matching

Provides functionalities for managing linkages across multiple data sources. These endpoints support creating Linkage Job and checking the Linkage Job Status.

Start Linkage Job

Request

Initiate a new linkage job

Security
apiKey
Bodyapplication/jsonrequired
patternSourcesArray of objects, non-empty(DataMatchingSource)

The source, in form of a BusinessPartner storage (at least one but can be more), to get the pattern records for the matching.

matchSourcesArray of objects, non-empty(DataMatchingSource)

The source, in form of a BusinessPartner storage (at least one but can be more), to get the match records for the matching.

countryShortNamesArray of strings

If set, only the records that belong to the countries identified by these short names are processed. By default all records of the storage (means from all countries) are processed (considering other filters).

dataMatchingDefinitionIdstring

ID of the DataMatchingDefinition that should be used to perform the link matching.

Example:"6461e6113b1865304b3038b6"
decisionLogIdsArray of strings

If set, feedback from listed Matching Decision Logs will be considered.

curl -i -X POST \
  https://api.cdq.com/data-matching/rest/linkagejobs \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "patternSources": [
      {
        "storageId": "72d6900fce6b326088f5d9d91049e3e6",
        "dataSourceIds": [
          "648824a691d8d2503d65103e"
        ]
      }
    ],
    "matchSources": [
      {
        "storageId": "72d6900fce6b326088f5d9d91049e3e6",
        "dataSourceIds": [
          "648824a691d8d2503d65103e"
        ]
      }
    ],
    "countryShortNames": [
      "CH"
    ],
    "dataMatchingDefinitionId": "6461e6113b1865304b3038b6",
    "decisionLogIds": [
      "65dcb1d68f01e37c2cf9bbb2"
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example:"35f23c03-1c22-45fe-9484-3ffe769325de"
patternSourcesArray of objects, non-empty(DataMatchingSource)

The source, in form of a BusinessPartner storage (at least one but can be more), to get the pattern records for the matching.

matchSourcesArray of objects, non-empty(DataMatchingSource)

The source, in form of a BusinessPartner storage (at least one but can be more), to get the match records for the matching.

countryShortNamesArray of strings

List of country short names.

dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example:"6461e6113b1865304b3038b6"
decisionLogIdsArray of strings

If set, feedback from listed Matching Decision Logs will be considered.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example:"2026-11-11T03:23:28Z"
createdBystring(CreatedBy)

Creator of a resource.

Example:"76248934691294444"
statusstring(JobStatus)

Curation Job execution status.

List of values:

  • ARCHIVED: The job is archived.
  • UNKNOWN: The job status is unknown.
  • CREATED: The job has been created.
  • PERSISTED: The job has been persisted.
  • SCHEDULED: The job is scheduled.
  • WAITING: The job is waiting.
  • COULDNT_START: The job could not be started.
  • RUNNING: The job is running.
  • FINISHED: The job has finished.
  • DIED: The job has died.
  • CANCELED: The job has been canceled.
  • FAILED: The job has failed.
Example:"RUNNING"
progressinteger, [ 0 .. 100 ](JobProgress)

Progress (%) of the job.

Example:"77"
Response
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "patternSources": [ { … } ], "matchSources": [ { … } ], "countryShortNames": [ "CH" ], "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "createdAt": "2026-11-11T03:23:28Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }