Skip to main content
POST
/
contacts
/
upsert
Upsert a contact
curl --request POST \
  --url https://incoming.qomon.app/contacts/upsert \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": {
    "actions": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "address": {
      "addition": "<string>",
      "building": "<string>",
      "city": "<string>",
      "citycode": "<string>",
      "country": "<string>",
      "county": "<string>",
      "door": "<string>",
      "floor": "<string>",
      "housenumber": "<string>",
      "id": 1,
      "infos": "<string>",
      "latitude": "<string>",
      "longitude": "<string>",
      "pollingstation": "<string>",
      "postalcode": "<string>",
      "state": "<string>",
      "street": "<string>"
    },
    "age_category": 123,
    "birthcity": "<string>",
    "birthcountry": "<string>",
    "birthdate": "<string>",
    "birthdept": "<string>",
    "black_list": true,
    "consents": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "custom_fields": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "firstname": "<string>",
    "forms": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "id": 1,
    "mail": "jsmith@example.com",
    "married_name": "<string>",
    "mobile": "<string>",
    "name_presences": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "nationality": "<string>",
    "nationbuilderid": 123,
    "notes": [
      {
        "content": "<string>",
        "id": 1,
        "pinned": true
      }
    ],
    "phone": "<string>",
    "status": [
      {
        "id": 1,
        "label": "<string>",
        "value": "<string>"
      }
    ],
    "surname": "<string>",
    "tags": [
      {
        "name": "<string>"
      }
    ]
  },
  "kind": "contact"
}
'
{
  "detail": "<string>",
  "errors": [
    {
      "location": "<string>",
      "message": "<string>",
      "value": "<unknown>"
    }
  ],
  "instance": "<string>",
  "status": 123,
  "title": "<string>",
  "type": "about:blank"
}

Authorizations

Authorization
string
header
required

OAuth2 access token. Pass the token in the Authorization header as Bearer <token>. The token is looked up in Redis to resolve the caller identity.

Body

application/json
data
object
required

Contact payload to create or update asynchronously.

kind
enum<string>
required

Resource kind.

Available options:
contact
Example:

"contact"

Response

Accepted

Last modified on June 16, 2026