List contacts
GET
/v1/contactsReturns the company's contacts, including archived ones, ordered by name. An out-of-range limit or offset is clamped rather than refused: limit to 1-500, and 0 or a value that is not a number falls back to the default.
Requires one ofcontacts:readread:ledger
Query parameters
- searchstringPart of the name, or the exact CVR number
- Maximum number of results (default 100). Clamped to 1-500.
Default
100 - Number of results to skip for pagination
Default
0
Errors
401Invalid or missing authentication403Missing scope, or the company is archived429Rate limit exceeded500Internal Server Error
Every error has the same shape. See Errors.
curl https://api.numina.app/v1/contacts \
-H "Authorization: Bearer numi_YOUR_API_KEY"const response = await fetch("https://api.numina.app/v1/contacts", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUMINA_API_KEY}`,
},
});
const data = await response.json();import os
import requests
response = requests.get(
"https://api.numina.app/v1/contacts",
headers={
"Authorization": f"Bearer {os.environ['NUMINA_API_KEY']}",
},
)
data = response.json()Response
{
"contacts": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Acme ApS",
"cvr": 12345678,
"vat_number": "DK12345678",
"country_code": "DK",
"address_street": "Vestergade 1",
"address_zip": "1456",
"address_city": "Copenhagen",
"country": "Denmark",
"email": "billing@acme.dk",
"phone": "+45 12 34 56 78",
"attn_person": "Jane Doe",
"e_invoice_number": "12345678",
"e_invoice_scheme": "DK:CVR",
"archived": false
}
],
"has_more": false,
"next_offset": 0
}