Skip to content

Online Data

Online Data submits removal requests to data brokers on the user's behalf. Every call is app-authenticated — obtain an app token via SSO first. The account's plan must include the Online Data product.

Flow overview

All calls send Authorization: Bearer {app_token}.

1. Create or update the removal profile

http
POST /api/v1/delete-my-data
Authorization: Bearer {app_token}
Content-Type: application/json

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone": "+46701234567",
  "street": "Testgatan 1",
  "zip": "11122",
  "city": "Stockholm"
}

Read or update the profile:

http
GET /api/v1/delete-my-data
PUT /api/v1/delete-my-data

Required fields follow the integration spec for your API version — only omit a field when the schema marks it optional.

2. Status and sites

http
GET /api/v1/delete-my-data/status
GET /api/v1/delete-my-data/sites

3. Scan the brokers

http
POST /api/v1/delete-my-data/scan
GET  /api/v1/delete-my-data/scan/status

Retry a single failed site:

http
POST /api/v1/delete-my-data/scan/{siteId}/retry

Site statuses

GET /api/v1/delete-my-data/scan/status returns one entry per site under sites[]. Each site carries two independent status dimensions.

1. Scan statussites[].scan_result.status, where the scan stands for that site:

StatusMeaning
SCAN_NOT_STARTEDNo scan has run for this site yet.
SCAN_INITIATEDA scan is queued or in progress.
SCAN_FAILEDThe scan failed — retry with POST .../scan/{siteId}/retry.
SCAN_COMPLETEDThe scan finished — check is_data_found and comparison.

When is_data_found is true, scan_result.data is an object of the matched personal data (firstName, lastName, email, ssn, phone, street, zip, city); otherwise it is an empty array ([]).

2. Removal statussites[].removal_requests[].status, where a deletion request stands once you submit one for that site:

StatusMeaning
POA_SENT_TO_SITEThe deletion request / power of attorney was sent to the site.
USER_MANUAL_INSTRUCTIONS_SENTThe site requires manual user action; see manual_instructions.
DATA_REMOVED_VERIFIEDThe data was confirmed removed from the site.
DATA_REAPPEARED_DETECTEDPreviously removed data was detected again on the site.

can_send_deletion_request on each site indicates whether a removal request can be submitted for it yet. A site only appears in removal_requests[] once a request exists, so an empty array means none has been raised.

Initiate signing — typically opens a BankID-style flow in your UI:

http
POST /api/v1/delete-my-data/signatures/initiate

Poll signing state:

http
GET /api/v1/delete-my-data/signature/status
GET /api/v1/delete-my-data/signature-order

5. Submit and track removals

http
POST /api/v1/delete-my-data/removal-requests
GET  /api/v1/delete-my-data/removal-requests
GET  /api/v1/delete-my-data/events

Tearing down

To remove the profile entirely:

http
DELETE /api/v1/delete-my-data

CRM tokens cannot call Online Data

Online Data is strictly app-scoped. Your backend must hold the user's app token, or run the signing step in a user-facing web view.

Next step

Alarms — monitor identity events alongside Online Data.

For API access and technical questions, contact Defentry through your account manager.