Du er ikke logget på
Robinson Wash

The Robinson Wash API lets you check whether a person is registered on the Danish Robinson List (Robinsonlisten). The Robinson List is maintained by CPR and contains persons who have explicitly opted out of receiving unsolicited direct marketing material.

Before sending any direct marketing material to Danish recipients, your list should be washed against the Robinson List. The API accepts a name and an address as input, and returns whether that person is registered on the list at that address.

API Overview

The Robinson Wash API offers two ways to call it:

In both cases the robinson_level parameter controls how strictly the wash is applied. See Robinson Levels for a full explanation.

Authentication

All requests to the Wash API require authentication. See the technical documentation for details.

Single Record Wash

To check a single person, make a GET request to:

https://apps.conzoom.eu/api/v1/wash/dk/robinson?in_name={name}&in_adr={address}&robinson_level={level}

Required Parameters

Single Record Response

A successful call returns a JSON object:

{
    "is_on_robinson": boolean or null,
    "result_code": string
}

See Response Fields below for a description of each field.

Batch Wash

When washing many records, use the batch endpoint to submit them all in one request. Make a POST to:

https://apps.conzoom.eu/api/v1/wash/dk/robinson/batch?robinson_level={level}

The body must be a JSON object where each key is a client-provided record identifier and the value contains the input arguments for that record:

{
  "client_id_1": {
    "in_name": "name",
    "in_adr": "address"
  },
  "client_id_2": {
    "in_name": "name",
    "in_str": "street",
    "in_pcode": "postcode"
  },
  ...
}

There is an upper limit of 5MB per batch request. If you exceed this limit you must split your input into multiple requests.

Batch Response

The response maps each client ID to its individual wash result:

{
  "client_id_1": {
    "is_on_robinson": boolean or null,
    "result_code": string
  },
  "client_id_2": {
    "is_on_robinson": boolean or null,
    "result_code": string
  },
  ...
}

Results may be returned in a different order than the input. Always use the client IDs to match results back to your original records.

Response Fields

is_on_robinson

Indicates whether the person is on the Robinson list at the given address.

result_code

Describes the outcome of the wash attempt.

Robinson Levels

The robinson_level parameter selects the washing category to apply. The three levels differ in how precisely the person must match a Robinson registration:

Level value Danish name What gets marked
low Skånevasken A record is marked only when the full name matches a Robinson registration at the exact unit address (street, house number, floor and apartment). This is the least strict level — fewest records will be marked.
medium Den kulørte vask A record is marked when at least one name part matches at the unit address, or when at least two name parts match at the access address (street and house number, ignoring floor/apartment). More records are marked than with low.
high Kogevasken A record is marked when at least one name part matches any Robinson registration at the access address (street and house number only). This is the most strict level — the most records will be marked. Use this when you prefer to err on the side of caution.

If you are unsure which level to use, medium is a safe default for most direct marketing purposes.

Examples

Wash a single record against the Robinson list

To wash a single person, provide the name and address as query string arguments together with the desired Robinson level. For example, to check whether Hans Jensen living at Vestergade 18 1, 8700 Horsens is on the Robinson list at medium level:

https://apps.conzoom.eu/api/v1/wash/dk/robinson?in_name=Hans Jensen&in_adr=Vestergade 18 1, 8700 Horsens&robinson_level=medium

If the address is stored in separate fields, the call can equally be made by splitting the address across in_str and in_pcode:

https://apps.conzoom.eu/api/v1/wash/dk/robinson?in_name=Hans Jensen&in_str=Vestergade 18 1&in_pcode=8700 Horsens&robinson_level=medium

A successful response looks like this:

{
    "is_on_robinson": false,
    "result_code": "Success"
}

Here is_on_robinson is false, so Hans Jensen is not registered on the Robinson list at this address and may receive direct marketing material. If the value had been true, the record must be excluded from your mailing.

If the address cannot be found, result_code will be FailedAddressNotFound and is_on_robinson will be null. Records with a non-Success result code should be investigated — they cannot be assumed to be safe to contact.

Wash multiple records in a single request

When washing an entire mailing list, the batch endpoint is far more efficient than making individual requests. Submit all records in a single POST request to:

https://apps.conzoom.eu/api/v1/wash/dk/robinson/batch?robinson_level=medium

The body must be a JSON object where each key is a client-provided identifier and the value contains the input arguments for that record:

{
  "record_1": {
    "in_name": "Hans Jensen",
    "in_adr": "Vestergade 18 1, 8700 Horsens"
  },
  "record_2": {
    "in_name": "Lise Hansen",
    "in_str": "Nørrebrogade 22",
    "in_pcode": "2200 København N"
  },
  "record_3": {
    "in_name": "Jens Olsen",
    "in_adr": "Kongevej 5, 5000 Odense C"
  }
}

The response mirrors the structure of the request — each client ID maps to a wash result:

{
  "record_1": {
    "is_on_robinson": false,
    "result_code": "Success"
  },
  "record_2": {
    "is_on_robinson": true,
    "result_code": "Success"
  },
  "record_3": {
    "is_on_robinson": null,
    "result_code": "FailedAddressNotFound"
  }
}

In this example:

Results may be returned in a different order than the input. Always use the client IDs to match results back to your original records.