curl --request PATCH \
--url https://app.orgo.space/api/v1/identity/{id}/validate \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/merge-patch+json' \
--data '
{
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": "/api/v1/towns/1",
"idNumberSecure": "string"
}
'import requests
url = "https://app.orgo.space/api/v1/identity/{id}/validate"
payload = {
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": "/api/v1/towns/1",
"idNumberSecure": "string"
}
headers = {
"Api-Token": "<api-key>",
"Content-Type": "application/merge-patch+json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/merge-patch+json'},
body: JSON.stringify({
firstName: 'James',
lastName: 'Patterson',
personalNumber: 'string',
personalNumberSecure: 'string',
idSerial: 'string',
idNumber: 'string',
idType: 'string',
idStartDate: '2026-01-15T10:30:00+00:00',
idEndDate: '2026-01-15T10:30:00+00:00',
rejectedCause: 'string',
dateBirth: '2026-01-15T10:30:00+00:00',
addressStreet: '123 Beacon Street, Boston, MA 02108',
addressDetails: '123 Beacon Street, Boston, MA 02108',
idTown: '/api/v1/towns/1',
idNumberSecure: 'string'
})
};
fetch('https://app.orgo.space/api/v1/identity/{id}/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.orgo.space/api/v1/identity/{id}/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => 'James',
'lastName' => 'Patterson',
'personalNumber' => 'string',
'personalNumberSecure' => 'string',
'idSerial' => 'string',
'idNumber' => 'string',
'idType' => 'string',
'idStartDate' => '2026-01-15T10:30:00+00:00',
'idEndDate' => '2026-01-15T10:30:00+00:00',
'rejectedCause' => 'string',
'dateBirth' => '2026-01-15T10:30:00+00:00',
'addressStreet' => '123 Beacon Street, Boston, MA 02108',
'addressDetails' => '123 Beacon Street, Boston, MA 02108',
'idTown' => '/api/v1/towns/1',
'idNumberSecure' => 'string'
]),
CURLOPT_HTTPHEADER => [
"Api-Token: <api-key>",
"Content-Type: application/merge-patch+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/identity/{id}/validate"
payload := strings.NewReader("{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Api-Token", "<api-key>")
req.Header.Add("Content-Type", "application/merge-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.orgo.space/api/v1/identity/{id}/validate")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/merge-patch+json")
.body("{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/identity/{id}/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/merge-patch+json'
request.body = "{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"uploadedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"uploadedByExternal": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"phone": "+1 415 555 0142",
"organisation": "Civic Collective",
"role": "ROLE_USER",
"twitter": "https://twitter.com/jpatterson",
"linkedin": "https://linkedin.com/in/james-patterson",
"instagram": "https://instagram.com/jpatterson",
"country": {
"name": "Boston Chapter"
},
"isNewsletterSubscribed": true,
"town": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"isCreateAccount": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"professionOrganisationRole": "Civic Collective",
"companyRegNo": "DE-HRB-12345",
"fullName": "James Patterson",
"firstName": "James",
"lastName": "Patterson"
},
"uploadedDate": "2026-01-15T10:30:00+00:00",
"type": "MEMBER",
"isValidated": true,
"hasUploadedDocument": true,
"validatedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"validatedDate": "2026-01-15T10:30:00+00:00",
"member": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"contact": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"phone": "+1 415 555 0142",
"organisation": "Civic Collective",
"role": "ROLE_USER",
"twitter": "https://twitter.com/jpatterson",
"linkedin": "https://linkedin.com/in/james-patterson",
"instagram": "https://instagram.com/jpatterson",
"country": {
"name": "Boston Chapter"
},
"isNewsletterSubscribed": true,
"town": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"isCreateAccount": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"professionOrganisationRole": "Civic Collective",
"companyRegNo": "DE-HRB-12345",
"fullName": "James Patterson",
"firstName": "James",
"lastName": "Patterson"
},
"updatedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"updatedDate": "2026-01-15T10:30:00+00:00",
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"idAddress": "123 Beacon Street, Boston, MA 02108",
"status": "ACTIVE",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"media": {
"id": 42,
"entityId": 42,
"contentUrl": "https://civic-collective.example.com",
"type": "MEMBER",
"originalName": "Boston Chapter"
},
"idNumberSecure": "string",
"mediaBack": {
"id": 42,
"entityId": 42,
"contentUrl": "https://civic-collective.example.com",
"type": "MEMBER",
"originalName": "Boston Chapter"
},
"hash": "a3f8b2c4d6e8f1a3b5c7d9e1f3a5b7c9"
}Validate an identity
Marks an identity verification as validated by an admin. Requires all mandatory fields (name, ID number, personal number, dates, ID type). Validates that the ID is not expired, the issue date is in the past, and the person is at least 18 years old. Updates linked subscription profiles to IDENTITY_VALIDATED status and captures pending Stripe payments. Sends a validation notification email to the member.
curl --request PATCH \
--url https://app.orgo.space/api/v1/identity/{id}/validate \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/merge-patch+json' \
--data '
{
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": "/api/v1/towns/1",
"idNumberSecure": "string"
}
'import requests
url = "https://app.orgo.space/api/v1/identity/{id}/validate"
payload = {
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": "/api/v1/towns/1",
"idNumberSecure": "string"
}
headers = {
"Api-Token": "<api-key>",
"Content-Type": "application/merge-patch+json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/merge-patch+json'},
body: JSON.stringify({
firstName: 'James',
lastName: 'Patterson',
personalNumber: 'string',
personalNumberSecure: 'string',
idSerial: 'string',
idNumber: 'string',
idType: 'string',
idStartDate: '2026-01-15T10:30:00+00:00',
idEndDate: '2026-01-15T10:30:00+00:00',
rejectedCause: 'string',
dateBirth: '2026-01-15T10:30:00+00:00',
addressStreet: '123 Beacon Street, Boston, MA 02108',
addressDetails: '123 Beacon Street, Boston, MA 02108',
idTown: '/api/v1/towns/1',
idNumberSecure: 'string'
})
};
fetch('https://app.orgo.space/api/v1/identity/{id}/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.orgo.space/api/v1/identity/{id}/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => 'James',
'lastName' => 'Patterson',
'personalNumber' => 'string',
'personalNumberSecure' => 'string',
'idSerial' => 'string',
'idNumber' => 'string',
'idType' => 'string',
'idStartDate' => '2026-01-15T10:30:00+00:00',
'idEndDate' => '2026-01-15T10:30:00+00:00',
'rejectedCause' => 'string',
'dateBirth' => '2026-01-15T10:30:00+00:00',
'addressStreet' => '123 Beacon Street, Boston, MA 02108',
'addressDetails' => '123 Beacon Street, Boston, MA 02108',
'idTown' => '/api/v1/towns/1',
'idNumberSecure' => 'string'
]),
CURLOPT_HTTPHEADER => [
"Api-Token: <api-key>",
"Content-Type: application/merge-patch+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/identity/{id}/validate"
payload := strings.NewReader("{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Api-Token", "<api-key>")
req.Header.Add("Content-Type", "application/merge-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.orgo.space/api/v1/identity/{id}/validate")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/merge-patch+json")
.body("{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/identity/{id}/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/merge-patch+json'
request.body = "{\n \"firstName\": \"James\",\n \"lastName\": \"Patterson\",\n \"personalNumber\": \"string\",\n \"personalNumberSecure\": \"string\",\n \"idSerial\": \"string\",\n \"idNumber\": \"string\",\n \"idType\": \"string\",\n \"idStartDate\": \"2026-01-15T10:30:00+00:00\",\n \"idEndDate\": \"2026-01-15T10:30:00+00:00\",\n \"rejectedCause\": \"string\",\n \"dateBirth\": \"2026-01-15T10:30:00+00:00\",\n \"addressStreet\": \"123 Beacon Street, Boston, MA 02108\",\n \"addressDetails\": \"123 Beacon Street, Boston, MA 02108\",\n \"idTown\": \"/api/v1/towns/1\",\n \"idNumberSecure\": \"string\"\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"uploadedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"uploadedByExternal": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"phone": "+1 415 555 0142",
"organisation": "Civic Collective",
"role": "ROLE_USER",
"twitter": "https://twitter.com/jpatterson",
"linkedin": "https://linkedin.com/in/james-patterson",
"instagram": "https://instagram.com/jpatterson",
"country": {
"name": "Boston Chapter"
},
"isNewsletterSubscribed": true,
"town": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"isCreateAccount": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"professionOrganisationRole": "Civic Collective",
"companyRegNo": "DE-HRB-12345",
"fullName": "James Patterson",
"firstName": "James",
"lastName": "Patterson"
},
"uploadedDate": "2026-01-15T10:30:00+00:00",
"type": "MEMBER",
"isValidated": true,
"hasUploadedDocument": true,
"validatedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"validatedDate": "2026-01-15T10:30:00+00:00",
"member": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"contact": {
"id": 42,
"name": "Boston Chapter",
"email": "james.patterson@example.com",
"phone": "+1 415 555 0142",
"organisation": "Civic Collective",
"role": "ROLE_USER",
"twitter": "https://twitter.com/jpatterson",
"linkedin": "https://linkedin.com/in/james-patterson",
"instagram": "https://instagram.com/jpatterson",
"country": {
"name": "Boston Chapter"
},
"isNewsletterSubscribed": true,
"town": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"isCreateAccount": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"professionOrganisationRole": "Civic Collective",
"companyRegNo": "DE-HRB-12345",
"fullName": "James Patterson",
"firstName": "James",
"lastName": "Patterson"
},
"updatedBy": {
"id": 42,
"firstName": "James",
"lastName": "Patterson",
"dateBirth": "2026-01-15T10:30:00+00:00",
"localCenter": {
"alias": "string",
"id": 42,
"name": "Boston Chapter"
},
"localCenterParent": "/api/v1/units/1",
"fullName": "James Patterson",
"townCurrent": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common"
},
"updatedDate": "2026-01-15T10:30:00+00:00",
"firstName": "James",
"lastName": "Patterson",
"personalNumber": "string",
"personalNumberSecure": "string",
"idSerial": "string",
"idNumber": "string",
"idType": "string",
"idStartDate": "2026-01-15T10:30:00+00:00",
"idEndDate": "2026-01-15T10:30:00+00:00",
"idAddress": "123 Beacon Street, Boston, MA 02108",
"status": "ACTIVE",
"rejectedCause": "string",
"dateBirth": "2026-01-15T10:30:00+00:00",
"addressStreet": "123 Beacon Street, Boston, MA 02108",
"addressDetails": "123 Beacon Street, Boston, MA 02108",
"idTown": {
"id": 42,
"name": "Boston Chapter",
"nameWithCounty": "Boston Chapter"
},
"media": {
"id": 42,
"entityId": 42,
"contentUrl": "https://civic-collective.example.com",
"type": "MEMBER",
"originalName": "Boston Chapter"
},
"idNumberSecure": "string",
"mediaBack": {
"id": 42,
"entityId": 42,
"contentUrl": "https://civic-collective.example.com",
"type": "MEMBER",
"originalName": "Boston Chapter"
},
"hash": "a3f8b2c4d6e8f1a3b5c7d9e1f3a5b7c9"
}Authorizations
Server-to-server authentication. Generate a token in the admin UI at
Settings → Developers → API Access. Send the raw token in the
Api-Token header — there is no Bearer prefix.
Tokens can be marked read-only at creation time, in which case the API
rejects any non-GET request with 403 Forbidden.
Path Parameters
Identity identifier
Body
The updated Identity resource
"/api/v1/towns/1"
Response
Identity resource updated
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

