# Create contact

`POST /v1/contacts`

Creates a new contact (customer/supplier) for the authenticated company.

**Scopes:** any of `contacts:write`, `write:draft`, `write:ledger`

## Request

```bash
curl -X POST https://api.numina.app/v1/contacts \
  -H "Authorization: Bearer numi_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme ApS",
    "cvr": 12345678,
    "vat_number": "DK12345678",
    "country_code": "DK",
    "address_street": "Vestergade 1",
    "address_zip": "1456",
    "address_city": "Copenhagen",
    "address_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"
  }'
```

## Body (`application/json`)

- `name` (string, required): Contact name (required) (max 500 chars)
- `cvr` (integer, optional, nullable): Danish CVR number
- `vat_number` (string, optional, nullable): VAT number (international)
- `country_code` (string, optional, nullable): ISO country code
- `address_street` (string, optional, nullable): Street address
- `address_zip` (string, optional, nullable): Postal code
- `address_city` (string, optional, nullable): City
- `address_country` (string, optional, nullable): Country name
- `email` (string, optional, nullable): Contact email
- `phone` (string, optional, nullable): Contact phone number
- `attn_person` (string, optional, nullable): Attention person
- `e_invoice_number` (string, optional, nullable): E-invoice identifier (CVR or GLN)
- `e_invoice_scheme` (string, optional, nullable): E-invoice scheme (DK:CVR or GLN)

## Response `201`

Contact created successfully

```json
{
  "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
}
```

## Errors

- `400` Bad Request - Invalid input or validation failed
- `401` Unauthorized - Invalid or missing authentication
- `403` Forbidden - Missing scope, or the company is archived
- `429` Too Many Requests - Rate limit exceeded
- `500` Internal Server Error

See https://developers.numina.app/errors.md for the error format.
