Skip to content
POST/{organizationId}/{mandateId}/crm/contacts/list

List contacts

Returns a list of contacts for the mandate

Required permissions:

  • mandate.read

Permissions depending on contact type:

  • contact:member

  • contact:address

  • contact:customer

  • contact:sponsor

  • contact:contributor

  • contact:employee

  • contact:supplier

Path Parameters

organizationIdstringrequired
mandateIdstringrequired

Request Body required

Content-Type: application/json

limitintegeroptional

Default: 50

minimum: 0

maximum: 100

offsetintegeroptional

Default: 0

minimum: 0

maximum: 9007199254740991

returnCountbooleanoptional

Default: false

searchTermstringoptional
userAssignedbooleanoptional

A stringified json object representing a property filter

teamIdstringoptional

Authentication: X-API-Key

Request

POST/{organizationId}/{mandateId}/crm/contacts/list
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/crm/contacts/list' \
  --header 'X-API-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "sort": {},
  "limit": 50,
  "offset": 0
}'

Responses

This endpoint returns different response codes based on the request outcome.

200Successful response

Content-Type: application/json

countintegerrequired

minimum: 0

maximum: 9007199254740991

Response

200
{
  "count": 0,
  "contacts": [
    {
      "_id": "000000000000000000000001",
      "mandates": [
        "000000000000000000000001"
      ],
      "types": [
        "member"
      ],
      "language": "en",
      "name": "string",
      "nameNormalized": "string",
      "nameSort": "string",
      "debtor": {
        "account": 1,
        "name": "string",
        "nameNormalized": "string",
        "nameSort": "string",
        "totalOwedFromDebtor": -9007199254740991,
        "totalOwedToDebtor": -9007199254740991,
        "totalDeposit": -9007199254740991
      },
      "creditor": {
        "account": 1,
        "name": "string",
        "nameNormalized": "string",
        "nameSort": "string",
        "totalOwedToCreditor": -9007199254740991,
        "totalOwedFromCreditor": -9007199254740991
      },
      "groups": [
        {
          "type": "000000000000000000000001",
          "number": "string",
          "name": "string",
          "contacts": 0,
          "segments": [
            "string"
          ],
          "contactSegmentCounters": {},
          "group": "000000000000000000000001"
        }
      ],
      "proofs": [
        {
          "type": "000000000000000000000001",
          "typeName": "string",
          "proof": "000000000000000000000001",
          "status": "requested"
        }
      ],
      "certificates": [
        {
          "type": "000000000000000000000001",
          "typeName": "string",
          "certificate": "000000000000000000000001",
          "status": "valid"
        }
      ],
      "segments": [
        "string"
      ],
      "tags": "string",
      "teams": [
        {
          "team": "000000000000000000000001",
          "role": "000000000000000000000001",
          "roleName": "string",
          "joinedAt": "2026-06-15T22:30:00Z"
        }
      ],
      "user": {
        "token": "",
        "claimedAt": "2026-06-15T22:30:00Z",
        "actor": {
          "name": "string",
          "type": "user",
          "userId": "string",
          "image": {
            "resource": "string"
          }
        }
      },
      "image": {
        "resource": "string"
      },
      "address": {
        "country": "string",
        "zip": "string",
        "city": "string",
        "addressLine": "string"
      },
      "communication": {
        "email": "",
        "phone": "",
        "mobilePhone": "",
        "mailing": true,
        "mailingTags": "string",
        "mailingUnsubscriptions": [
          {
            "email": "string",
            "unsubscribedAt": "2026-06-15T22:30:00Z",
            "tags": [
              "string"
            ],
            "all": true
          }
        ],
        "greetings": "string"
      },
      "alternativeCommunications": [
        {
          "email": "",
          "phone": "",
          "mobilePhone": "",
          "mailing": true,
          "mailingTags": "string",
          "mailingUnsubscriptions": [
            {
              "email": "string",
              "unsubscribedAt": "2026-06-15T22:30:00Z",
              "tags": [
                "string"
              ],
              "all": true
            }
          ],
          "id": "string",
          "contact": "000000000000000000000001",
          "contactTypes": [
            "member"
          ],
          "name": "string",
          "description": "string"
        }
      ],
      "customFields": {},
      "institution": {
        "type": "business",
        "name": "string"
      },
      "person": {
        "salutation": "string",
        "gender": "male",
        "title": "string",
        "firstName": "string",
        "lastName": "string",
        "institutionName": "string",
        "printInstitutionOnAddress": true,
        "birthdate": "string",
        "age": 0,
        "birthdateDayOfYear": 1
      },
      "member": {
        "entryAt": "string",
        "exitAt": "string",
        "terminatedAt": "string",
        "terminationReason": {
          "code": "string",
          "message": "string"
        },
        "membershipDuration": 0,
        "entryAtDayOfYear": 1,
        "exitAtDayOfYear": 1
      },
      "employee": {
        "type": "internal",
        "status": "active",
        "position": "string",
        "probationStartAt": "string",
        "probationEndAt": "string",
        "employmentStartAt": "string",
        "employmentEndAt": "string",
        "contractEndAt": "string",
        "terminatedAt": "string",
        "lastWorkingDayAt": "string"
      },
      "contributor": {
        "status": "active",
        "roleTitle": "string",
        "contributionStartAt": "string",
        "contributionEndAt": "string"
      },
      "contactNumbers": {},
      "departments": [
        {
          "department": "000000000000000000000001",
          "name": "string",
          "color": "string",
          "contactTypes": [
            "member"
          ],
          "entryAt": "string",
          "exitAt": "string"
        }
      ],
      "activeDepartments": [
        "000000000000000000000001"
      ],
      "contactNumbersSort": {},
      "issuedPasses": {},
      "contracts": [
        {
          "startAt": "string",
          "endAt": "string",
          "pause": {
            "ruleId": "string",
            "startAt": "string",
            "endAt": "string"
          },
          "contract": "000000000000000000000001",
          "paymentInterval": "month",
          "plan": {
            "plan": "000000000000000000000001",
            "name": "string"
          }
        }
      ],
      "portalSynchronization": {
        "ignore": true,
        "status": "synchronized",
        "lastSynchronizedAt": "2026-06-15T22:30:00Z",
        "lastSeenAt": "2026-06-15T22:30:00Z",
        "activatedAt": "2026-06-15T22:30:00Z",
        "failedReason": "string",
        "mailStatus": "pending",
        "mailId": "string",
        "mailError": "string",
        "mailSentAt": "2026-06-15T22:30:00Z"
      },
      "eventim": {
        "tixxId": "string",
        "tixxCustomerNo": "string",
        "communication": {
          "mobilePhoneId": "string",
          "phoneId": "string"
        }
      },
      "network": {
        "joinedAt": "2026-06-15T22:30:00Z",
        "visibleFields": [
          "string"
        ],
        "reviewedAt": "2026-06-15T22:30:00Z",
        "remindedAt": "2026-06-15T22:30:00Z"
      },
      "oldContactId": "000000000000000000000001"
    }
  ]
}

400Invalid input data

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

400
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}

401Authorization not provided

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

401
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}

403Insufficient access

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

403
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}

500Internal server error

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}