/{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
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:
endenamestringrequired 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
{
"_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
{
"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
{
"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
{
"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
{
"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
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}