Skip to main content
POST /api/v1/forward/identities/{identity_id} Updates mutable Identity fields. Omitted fields are unchanged. metadata is merged; a metadata value of an empty string deletes that key.

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>
Content-TypeYesapplication/json
Idempotency-KeyNoOptional idempotency key for unsafe requests.

Path parameters

ParameterTypeRequiredDescription
identity_idstringYesForward Identity ID.

Body parameters

ParameterTypeRequiredDescription
external_idstringNoReplaces the existing end-user ID.
namestringNoReplaces the display name.
enabledbooleanNoUpdates whether the Identity can be used.
metadataobjectNoMerge updates custom metadata. Empty string values delete keys.

Example request

curl -s -X POST 'https://api.qoder.com/api/v1/forward/identities/idn_019eabc123' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example User",
    "enabled": false,
    "metadata": {
      "channel": "app"
    }
  }'

Example response

HTTP 200 OK
{
  "id": "idn_019eabc123",
  "external_id": "user_456",
  "name": "Example User",
  "enabled": false,
  "metadata": {
    "channel": "app"
  },
  "created_at": "2026-06-18T10:00:00Z",
  "updated_at": "2026-06-18T10:30:00Z"
}

Response fields

Returns the updated Identity object.

Errors

HTTPTypeTrigger
400invalid_request_errorInvalid request body.
401authentication_errorPAT invalid or expired.
404not_found_errorIdentity does not exist.
409conflict_errorIdentity conflicts with an existing record.

Notes

  • enabled=false prevents new operations that require an active Identity.
  • Historical sessions and audit records are not modified.

Get an identity

Delete an identity