Unify and manage your data

Delete a source system

Learn how to delete an existing source system in a configuration.

Use the Delete a source system operation to remove a source type's data, crosswalks, and configuration from a tenant. The option query parameter determines whether the operation deletes only attribute values or also deletes crosswalks and the source type definition. When the deletion requires processing existing records, Reltio schedules a background task and returns its identifiers so you can track progress.

Note: When you use option=purgeAllData, the operation removes the source type definition and then validates the tenant configuration. If other configuration properties still reference the deleted source, the request fails with the error SURVIVORSHIP_SOURCE_NOT_FOUND.

For example, if you're deleting configuration/sources/AHA, remove its URI from all configuration properties that reference it, such as sourcesUriOrder, sourcesForOv, and winnerSourceType, before sending the DELETE request. If the URI remains in any of these properties, the request fails validation. This cleanup isn't required when you use option=purgeAttributes, because the operation retains the source type definition.

HTTP method and endpoint

Use the following HTTP method and endpoint path to delete a source system.

DELETE {TenantURL}/configuration/sources/{sourceType}

Replace {TenantURL} with your tenant's base URL.

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
sourceTypeStringYesThe short name of the source system to delete, such as AHA.

Query parameters

The following table describes the query parameters and their values.

ParameterTypeRequiredDescriptionAccepted values / Default
optionStringNoDetermines whether the operation deletes only attribute values or also deletes crosswalks and the source type definition.

purgeAttributes (default value): Deletes attribute values but retains crosswalks and the source type definition

purgeAllData (accepted value): Deletes attribute values and crosswalks and removes the source type definition.

acceptInheritedTypesBooleanNoDetermines whether the operation can purge a source type defined in a parent tenant configuration layer.true or false

Default: false

Request headers

The following request headers must be included.

HeaderValueRequired
Content-Typeapplication/jsonYes
AuthorizationBearer <access_token>Yes

Request body

This operation does not require a request body.

Example request

Use the following example to see how a complete request is structured.

DELETE {TenantURL}/configuration/sources/AHA?option=purgeAllData&acceptInheritedTypes=false

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
sourceTypeObjectSource type that the operation deletes.
sourceType.uriStringURI of the deleted Source type
sourceType.labelStringDisplay label of the deleted source type.
sourceType.descriptionStringDescription of the source type, as defined in the tenant's configuration.
sourceType.abbreviationStringAbbreviation of the source type.
sourceType.iconStringRelative path to the icon image associated with the source type.
ResponseStringMessage describing the result of the operation and, when applicable, indicating that a background task was scheduled.
Background taskObjectDefinition of the background task that has started. Returned only when purgeAllData is used.
Background task.idStringUnique identifier of the background task. Empty until the task is scheduled.
Background task.groupIdStringIdentifier of the task group to which the background task belongs.
Background task.createdTimeUTC timestamp, msTime the background task was created.
Background task.createdByStringID of the user or process that started the background task.
Background task.updatedTimeUTC timestamp, ms Time when the background task was last updated.
Background task.updatedByStringID of the user or process that last updated the task, such as the user who canceled or paused it.
Background task.typeStringFully qualified task type. For this operation, the value is always com.reltio.businesslogic.tasks.delete.PurgeSourceDataTask.
Background task.statusStringCurrent status of the background task.
Background task.nameStringGenerated name of the background task.
Background task.createdOnHostStringHost name of the API node where the task was created.
Background task.parallelExecutionBooleanIndicates whether the task can run simultaneously with another task for the same tenant. The default is false.
Background task.nodesGroupStringNode group where the task runs.
Background task.parameters.tenantIdStringID of the tenant against which the operation was run. This value is taken from the request path and is not a separate input.
Background task.parameters.sourceTypeStringFull URI of the source being deleted (for example, configuration/sources/AHA). This value is taken from the request path and is not a separate input.
Background task.parameters.purgeDataOnlyString ("true"/"false")Indicates whether the operation purges only attribute values. The value is "true" when option=purgeAttributes or when the option parameter is omitted. The value is "false" when option=purgeAllData.
Background task.parameters.metadataTypesStringsObject types that reference the source type and were processed by the task, such as entities, relations, groups, and interactions.
Background task.currentStateObjectCurrent progress information for the task, such as numberOfProcessedObjects. The object is empty ({}) while the task is SCHEDULED.
Background task.durationString Elapsed time of the background task.

Example response

The following example shows a response for a source deletion that scheduled a background purge task.

{
   "sourceType": {
      "uri": "configuration/sources/AHA",
      "label": "AHA",
      "description": "AMERICAN HOSPITAL association",
      "abbreviation": "AHA",
      "icon": "images/source/source_s.png"
   },
   "Response": "Source type 'configuration/sources/AHA' deletion background task scheduled. To see its status please use the tasks endpoints.",
   "Background task": {
      "id": "{taskId}",
      "groupId": "{groupId}",
      "createdTime": 1687803875041,
      "createdBy": "{user}",
      "updatedTime": 1687803875041,
      "updatedBy": "{user}",
      "type": "com.reltio.businesslogic.tasks.delete.PurgeSourceDataTask",
      "status": "SCHEDULED",
      "name": "Purge data by 'AHA' source type background task. Started by {user}",
      "createdOnHost": "{host}",
      "parallelExecution": false,
      "nodesGroup": "default",
      "parameters": {
         "tenantId": "{tenantId}",
         "sourceType": "configuration/sources/AHA",
         "purgeDataOnly": "false",
         "metadataTypes": "[\"entities\",\"groups\",\"relations\",\"interactions\"]"
      },
      "currentState": {},
      "duration": "0s"
   }
}

The following table lists the possible error responses returned by this API.

HTTP statusError codeDescriptionRecommended action
400 Bad RequestINVALID_REQUEST_ERROR (2003)Returned when option is set to a value other than purgeAttributes or purgeAllData. Also returned when option is purgeAllData, the source type is inherited from a parent tenant configuration, and acceptInheritedTypes is false.Provide a valid option value. If the source type is inherited, set acceptInheritedTypes to true.
119 TYPE_IS_NOT_FOUNDReturned when the specified source system is not found in the tenant configuration.Verify the source system URI in the tenant configuration before you retry the delete.