Skip to main content

Services

RPC methods exposed by this API.

ExternalSyncService

MethodRequestResponseDescription
SyncOrganizationSyncOrganizationRequestSyncOrganizationResponse
GenerateTokenGenerateTokenRequestGenerateTokenResponse
GetExternalSyncGetExternalSyncRequestGetExternalSyncResponse
ListExternalSyncTokensListExternalSyncTokensRequestListExternalSyncTokensResponse
ListExternalSyncRunsListExternalSyncRunsRequestListExternalSyncRunsResponse
GetExternalSyncRunGetExternalSyncRunRequestGetExternalSyncRunResponse
GetIsOrgExternallyProvisionedGetIsOrgExternallyProvisionedRequestGetIsOrgExternallyProvisionedResponseOrganization admins (Admin role in the org) and platform admins may call. Returns whether the org has IdP/SCIM external sync configured (users should be provisioned via the identity provider). Organization is taken from request context.

Messages

Data models used across requests/responses.

ExternalSync

FieldTypeLabelDescription
organization_idstring
most_recent_sync_dategoogle.protobuf.Timestampoptional
most_recent_sync_by_user_idstringoptional
scim_server_urlstring
token_created_dategoogle.protobuf.Timestampoptional
token_lifetime_secondsuint32
most_recent_token_by_user_idstringoptional

ExternalSyncGroupRef

Sift user group identity for display (group_name) and stable API use (user_group_id).
FieldTypeLabelDescription
user_group_idstring
group_namestring

ExternalSyncMembershipChange

One membership edge that changed during the sync.
FieldTypeLabelDescription
user_idstring
user_namestring
user_group_idstring
group_namestring

ExternalSyncRun

FieldTypeLabelDescription
external_sync_run_idstring
synced_atgoogle.protobuf.Timestamp
trigger_typeExternalSyncRunTriggerType
triggered_by_user_idstringoptional
diffExternalSyncRunDiff

ExternalSyncRunDiff

Snapshot of membership and lifecycle changes from one external sync run. Identifiers are Sift user_id / user_group_id UUIDs and human-readable names as stored in Sift (not Keycloak SCIM ids). Older stored runs may have empty ids with names only.
FieldTypeLabelDescription
users_activatedExternalSyncUserRefrepeated
users_deactivatedExternalSyncUserRefrepeated
groups_createdExternalSyncGroupRefrepeated
groups_deletedExternalSyncGroupRefrepeated
users_added_to_groupsExternalSyncMembershipChangerepeated
users_removed_from_groupsExternalSyncMembershipChangerepeated

ExternalSyncRunSummary

FieldTypeLabelDescription
external_sync_run_idstring
synced_atgoogle.protobuf.Timestamp
trigger_typeExternalSyncRunTriggerType
triggered_by_user_idstringoptional
users_activated_countuint32
users_deactivated_countuint32
groups_created_countuint32
groups_deleted_countuint32
users_added_to_groups_countuint32
users_removed_from_groups_countuint32

ExternalSyncToken

The actual token value is not returned after it is first generated.
FieldTypeLabelDescription
token_idstring
lifetime_secondsuint32
created_dategoogle.protobuf.Timestamp
created_by_user_idstring

ExternalSyncUserRef

Sift user identity for display (user_name) and stable API use (user_id).
FieldTypeLabelDescription
user_idstring
user_namestring

GenerateTokenRequest

This message has no fields.

GenerateTokenResponse

FieldTypeLabelDescription
external_syncExternalSync
tokenstring

GetExternalSyncRequest

This message has no fields.

GetExternalSyncResponse

FieldTypeLabelDescription
successbool
external_syncExternalSync

GetExternalSyncRunRequest

FieldTypeLabelDescription
external_sync_run_idstring

GetExternalSyncRunResponse

FieldTypeLabelDescription
external_sync_runExternalSyncRun

GetIsOrgExternallyProvisionedRequest

This message has no fields.

GetIsOrgExternallyProvisionedResponse

FieldTypeLabelDescription
is_externally_provisionedbool

ListExternalSyncRunsRequest

FieldTypeLabelDescription
page_sizeuint32
page_tokenstring
filterstring
order_bystring

ListExternalSyncRunsResponse

FieldTypeLabelDescription
external_sync_run_summariesExternalSyncRunSummaryrepeated
next_page_tokenstring

ListExternalSyncTokensRequest

FieldTypeLabelDescription
page_sizeuint32The maximum number of tokens to return. The service may return fewer than this value. If unspecified, at most 50 tokens will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. Optional.
page_tokenstringA page token, received from a previous ListExternalSyncTokens call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListExternalSyncTokens must match the call that provided the page token. Optional.
filterstringA Common Expression Language (CEL) filter string. There are currently no available fields. For further information about how to use CELs, please refer to this guide.
order_bystringHow to order the retrieved user defined functions. Formatted as a comma-separated string i.e. “FIELD_NAME[ desc],…”. Available field to order_by is created_date. If left empty, items are ordered by created_date in descending order (newest-first). For more information about the format of this field, read this Example: “created_date asc”.

ListExternalSyncTokensResponse

FieldTypeLabelDescription
external_sync_tokensExternalSyncTokenrepeated
next_page_tokenstring

SyncOrganizationRequest

This message has no fields.

SyncOrganizationResponse

FieldTypeLabelDescription
external_syncExternalSync
existing_user_countuint32
added_to_organization_user_idsstringrepeated
created_userssift.common.type.v1.Userrepeated
deactivated_user_idsstringrepeated
existing_group_countuint32
created_user_groupssift.user_groups.v2.UserGrouprepeated
deleted_user_group_namesstringrepeated

Enums

Allowed constant values used in message fields.

ExternalSyncRunTriggerType

NameNumberDescription
EXTERNAL_SYNC_RUN_TRIGGER_TYPE_UNSPECIFIED0
EXTERNAL_SYNC_RUN_TRIGGER_TYPE_MANUAL_USER1User triggered sync via the Sift UI or API.
EXTERNAL_SYNC_RUN_TRIGGER_TYPE_SCHEDULED2