Skip to content

Update a federation trust source.

PUT
/api/admin/field-mapping/federation-trust-sources/{trustSourceId}
Code sample: Shell / cURL
curl --request PUT \
--url https://auth.example.com/api/admin/field-mapping/federation-trust-sources/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "expectedUpdatedAt": 1788249600000, "sourceType": "saml_metadata", "sourceKey": "partner-idp", "displayName": "Partner IdP metadata", "lifecycleState": "active", "protocolPayload": { "metadataUrl": "https://idp.example.com/metadata", "metadataUrlPatterns": [ "https://idp.example.com/metadata" ], "policy": "strict", "polling": { "mode": "automatic", "intervalSeconds": 21600 } } }'

Updates federation trust source metadata, lifecycle state, protocol payload, anchors, and scope bindings. Only polling mode and interval are operator-controlled; HTTP validators, timestamps, failure counters, and lifecycle observations are reset and maintained by the metadata poller.

trustSourceId
required
string

Federation trust source identifier.

Idempotency-Key
string

Idempotency key for state-changing operations that support replay protection.

Media type application/json
object
sourceType
required
string
Allowed values: saml_aggregate saml_metadata saml_federation
sourceKey
required
string
displayName
required
string
lifecycleState
string
Allowed values: draft active retired
protocolPayload
object
description
string | null
metadataUrl
string | null format: uri
metadataUrlPatterns
Array<string>
policy
string
Allowed values: strict warn disabled
polling
object
mode
required
string
Allowed values: automatic manual
intervalSeconds
required
integer
>= 900 <= 604800
nextRefreshAt
integer
lastAttemptAt
integer
lastSuccessAt
integer
consecutiveFailures
integer
sourceState
string
Allowed values: healthy stale error expired missing identity_change_pending
lastErrorCode
string
etag
string
lastModified
string
validatorSourceUrl
string format: uri
acceptedValidUntil
string format: date-time
suspendedByMetadataSync

True when metadata lifecycle automation disabled the provider.

boolean
key
additional properties
runtimeResolution
object
mode
required

Inventory_only stores verified entities without using them for authentication. automatic permits runtime entityID resolution subject to this policy.

string
Allowed values: inventory_only automatic
roles
required
Array<string>
unique items
Allowed values: saml_idp saml_sp
priority
integer
0 >= -1000 <= 1000
idpFieldMappingSetId

Required when automatic resolution includes saml_idp.

string
spFieldMappingSetId

Required when automatic resolution includes saml_sp.

string
defaultAttributePresetId
string
Allowed values: basic.v1 academic_publisher.v1 enterprise_saas.v1 research_federation.v1
registrationAuthorities
Array<string>
<= 100 items unique items
entityCategoryPolicy
object
defaultDecision
required
string
Allowed values: allow deny
rules
required
Array<object>
<= 100 items
object
entityCategory
required
string
decision
required
string
Allowed values: allow deny
attributePresetId
string
Allowed values: basic.v1 academic_publisher.v1 enterprise_saas.v1 research_federation.v1
key
additional properties
key
additional properties
key
additional properties
certificates
Array<object>
object
key
additional properties
key
additional properties
anchors
Array<object>
object
key
additional properties
scopeBindings
Array<object>
object
key
additional properties
expectedUpdatedAt
required

Required on update; the last observed source revision in Unix milliseconds.

integer
Example
{
"expectedUpdatedAt": 1788249600000,
"sourceType": "saml_metadata",
"sourceKey": "partner-idp",
"displayName": "Partner IdP metadata",
"lifecycleState": "active",
"protocolPayload": {
"metadataUrl": "https://idp.example.com/metadata",
"metadataUrlPatterns": [
"https://idp.example.com/metadata"
],
"policy": "strict",
"polling": {
"mode": "automatic",
"intervalSeconds": 21600
}
}
}

Federation trust source mutation response.

Media type application/json
object
result
required
object
id
required
string
tenantId
required
string
sourceType
required
string
Allowed values: saml_aggregate saml_metadata saml_federation
sourceKey
required
string
displayName
required
string
lifecycleState
required
string
protocolPayload
Any of:
object
description
string | null
metadataUrl
string | null format: uri
metadataUrlPatterns
Array<string>
policy
string
Allowed values: strict warn disabled
polling
object
mode
required
string
Allowed values: automatic manual
intervalSeconds
required
integer
>= 900 <= 604800
nextRefreshAt
integer
lastAttemptAt
integer
lastSuccessAt
integer
consecutiveFailures
integer
sourceState
string
Allowed values: healthy stale error expired missing identity_change_pending
lastErrorCode
string
etag
string
lastModified
string
validatorSourceUrl
string format: uri
acceptedValidUntil
string format: date-time
suspendedByMetadataSync

True when metadata lifecycle automation disabled the provider.

boolean
key
additional properties
runtimeResolution
object
mode
required

Inventory_only stores verified entities without using them for authentication. automatic permits runtime entityID resolution subject to this policy.

string
Allowed values: inventory_only automatic
roles
required
Array<string>
unique items
Allowed values: saml_idp saml_sp
priority
integer
0 >= -1000 <= 1000
idpFieldMappingSetId

Required when automatic resolution includes saml_idp.

string
spFieldMappingSetId

Required when automatic resolution includes saml_sp.

string
defaultAttributePresetId
string
Allowed values: basic.v1 academic_publisher.v1 enterprise_saas.v1 research_federation.v1
registrationAuthorities
Array<string>
<= 100 items unique items
entityCategoryPolicy
object
defaultDecision
required
string
Allowed values: allow deny
rules
required
Array<object>
<= 100 items
object
entityCategory
required
string
decision
required
string
Allowed values: allow deny
attributePresetId
string
Allowed values: basic.v1 academic_publisher.v1 enterprise_saas.v1 research_federation.v1
key
additional properties
key
additional properties
key
additional properties
certificates
Array<object>
object
key
additional properties
key
additional properties
createdAt
integer
updatedAt
integer
snapshotHash
string
key
additional properties
key
additional properties
Example
{
"result": {
"sourceType": "saml_aggregate",
"protocolPayload": {
"policy": "strict",
"polling": {
"mode": "automatic",
"sourceState": "healthy"
},
"runtimeResolution": {
"mode": "inventory_only",
"roles": [
"saml_idp"
],
"priority": 0,
"defaultAttributePresetId": "basic.v1",
"entityCategoryPolicy": {
"defaultDecision": "allow",
"rules": [
{
"decision": "allow",
"attributePresetId": "basic.v1"
}
]
}
}
}
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}