Record an external lifecycle signal.
curl --request POST \ --url https://auth.example.com/api/admin/field-mapping/lifecycle-signals \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "sourceType": "scim", "sourceId": "workday", "sourceEventId": "evt_123", "signalType": "scim_active_false", "targetType": "account", "targetId": "account_123" }'Records an authoritative lifecycle signal from an external source and evaluates the resulting account, membership, entitlement, or permission decision. Duplicate source events are handled idempotently. An account suspension returns success only after the canonical account result is confirmed. Its first accepted target and observation time remain fixed across retries. A conflicting replay, changed account placement, a newer lifecycle change, or an older event without sufficient execution evidence returns 409; the event is retained without reapplying a new suspension. Confirmed completed events remain idempotent after later lifecycle changes. Cached HTTP responses also require stored completion evidence; missing evidence returns 409 without reapplying the suspension. Storage failures or an unconfirmed result return 500. Account targets use the internal account ID; optional accountId and subjectId must match the canonical account and primary subject. Session logout delivery follows the existing best-effort suspension behavior.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Idempotency key for state-changing operations that support replay protection.
Request Body required
Section titled “Request Body required ”object
For an account suspension, a nonnegative safe integer Unix timestamp in milliseconds.
Example
{ "sourceType": "scim", "sourceId": "workday", "sourceEventId": "evt_123", "signalType": "scim_active_false", "targetType": "account", "targetId": "account_123"}Responses
Section titled “ Responses ”Lifecycle signal processing response.
object
object
Example generated
{ "result": { "signalEventId": "example", "decision": "example", "reasonCodes": [ "example" ], "idempotent": true }}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}