curl --request POST \
--url https://app.orgo.space/api/v1/identity/{id}/update-document \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/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}/update-document"
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/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/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}/update-document', 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}/update-document",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/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}/update-document"
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("POST", url, payload)
req.Header.Add("Api-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.orgo.space/api/v1/identity/{id}/update-document")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/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}/update-document")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/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"
}Update identity document
Replaces the front or back document image of an existing identity verification. Set mediaBack=true in the payload to update the back side. Validates the uploaded file is a valid image format, triggers OCR processing via Lambda, and optimizes the new media. If the identity was previously rejected, automatically resets status to PENDING.
curl --request POST \
--url https://app.orgo.space/api/v1/identity/{id}/update-document \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/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}/update-document"
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/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/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}/update-document', 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}/update-document",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/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}/update-document"
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("POST", url, payload)
req.Header.Add("Api-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.orgo.space/api/v1/identity/{id}/update-document")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/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}/update-document")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/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 new Identity resource
"/api/v1/towns/1"
Response
Identity resource created
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

