Skip to content
GET/{organizationId}/{mandateId}/crm/contacts/{contactId}

Get contact

Returns a specific contact with all of its details

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
contactIdstringrequired

Authentication: X-API-Key

Request

GET/{organizationId}/{mandateId}/crm/contacts/{contactId}
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/crm/contacts/{contactId}' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

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

200Successful response

Content-Type: application/json

ObjectId as string

createdAtdate-time | nulloptional
languagestringrequired

Options:

ende
namestringrequired

minLength: 1

maxLength: 80

nameNormalizedstringrequired

minLength: 1

nameSortstringrequired

minLength: 1

maxLength: 80

Additional properties are not allowed.

Additional properties are not allowed.

tagsstring arrayrequired

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

maxItems: 20

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

maxItems: 40

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

ObjectId as string

updatedAtdate-time | nulloptional

Response

200
{
  "_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": []
}

404Not found

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

404
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "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": []
}