Aller au contenu

Créer une ancre locale ou référencée

POST
/relation-tiers/v1/actors
curl --request POST \
--url https://example.com/relation-tiers/v1/actors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--data '{ "identityMode": "REFERENCE_DOMAINE", "actorNature": "LEGAL_ENTITY", "ownerReference": { "domain": "example", "objectType": "example", "objectId": "example" }, "localIdentity": { "legalName": "example", "jurisdiction": "example" }, "displayLabel": "example" }'
X-Tenant-Id
string

Facultatif — le tenant fait foi dans le jeton ; s’il est fourni, il doit être identique, et le corps ne peut jamais le choisir.

X-Correlation-Id
string
Idempotency-Key
required
string

La clé d’idempotence de la commande — liée à l’intention métier, pas à la tentative réseau ; même clé et même contenu rejouent le résultat initial, même clé et contenu différent font 409 IDEMPOTENCY_CONFLICT.

Media typeapplication/json
object
identityMode
required
string
Allowed values: REFERENCE_DOMAINE IDENTITE_LOCALE
actorNature
required
string
Allowed values: LEGAL_ENTITY NATURAL_PERSON COLLECTIVE TECHNICAL_PARTY
ownerReference
object
domain
required
string
objectType
required
string
objectId
required
string
localIdentity

L’identité professionnelle locale, strictement limitée au besoin relationnel — exclusive d’une ownerReference.

object
legalName
string
jurisdiction
string
displayLabel

Non opposable — sa modification ne change pas l’identité source.

string

L’ancre est créée — identifiant canonique, version, statut.

Media typeapplication/json
object
actorId
required
string
identityMode
required
string
Allowed values: REFERENCE_DOMAINE IDENTITE_LOCALE
actorNature
required
string
Allowed values: LEGAL_ENTITY NATURAL_PERSON COLLECTIVE TECHNICAL_PARTY
ownerReference
object
domain
required
string
objectType
required
string
objectId
required
string
displayLabel
string
status
required
string
aggregateVersion
required
integer
redirectedTo

L’ancre canonique si une redirection logique est active.

string
Example
{
"identityMode": "REFERENCE_DOMAINE",
"actorNature": "LEGAL_ENTITY"
}

Aucune identité présentée (401).

L’identité présentée n’a pas la famille d’accès requise (403). Les 403 croisés entre familles sont prouvés par les tests d’assemblage. Un écart de tenant ne produit jamais ce code sur une ressource — il produit 404 (ne rien révéler).

Version obsolète (CONCURRENT_MODIFICATION), chevauchement interdit (PERIOD_OVERLAP) ou clé d’idempotence réutilisée avec un contenu différent (IDEMPOTENCY_CONFLICT).

Media typeapplication/json

L’enveloppe d’erreur du catalogue (Problem Details) — le texte n’expose ni l’existence d’un objet d’un autre tenant, ni une donnée sensible.

object
type
required
string
title
required
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
required
string
retryable
boolean
violations
Array<object>
object
field
string
reason
string
ruleId
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"retryable": true,
"violations": [
{
"field": "example",
"reason": "example",
"ruleId": "example"
}
]
}

Donnée comprise mais non admissible — règle identifiée (BUSINESS_RULE_VIOLATION), référence externe non résolue (REFERENCE_UNRESOLVED) ou preuve insuffisante (CAPACITY_INDETERMINATE).

Media typeapplication/json

L’enveloppe d’erreur du catalogue (Problem Details) — le texte n’expose ni l’existence d’un objet d’un autre tenant, ni une donnée sensible.

object
type
required
string
title
required
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
required
string
retryable
boolean
violations
Array<object>
object
field
string
reason
string
ruleId
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"retryable": true,
"violations": [
{
"field": "example",
"reason": "example",
"ruleId": "example"
}
]
}