SAML API

Introduced in GitLab 15.5.

API for accessing SAML features.

Get SAML identities for a group

GET /groups/:id/saml/identities

Fetch SAML identities for a group.

Supported attributes:

AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group

If successful, returns 200 and the following response attributes:

AttributeTypeDescription
extern_uidstringExternal UID for the user
user_idstringID for the user

Example request:

curl --location --request GET "https://gitlab.example.com/api/v4/groups/33/saml/identities" --header "PRIVATE-TOKEN: <PRIVATE-TOKEN>"

Example response:

[
    {
        "extern_uid": "4",
        "user_id": 48
    }
]

Get a single SAML identity

Introduced in GitLab 16.1.

GET /groups/:id/saml/:uid

Supported attributes:

AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group
uidstringyesExternal UID of the user.

Example request:

curl --location --request GET "https://gitlab.example.com/api/v4/groups/33/saml/sydney_jones" --header "PRIVATE-TOKEN: <PRIVATE TOKEN>"

Example response:

{
    "extern_uid": "4",
    "user_id": 48
}

Update extern_uid field for a SAML identity

Update extern_uid field for a SAML identity:

SAML IdP attributeGitLab field
id/externalIdextern_uid
PATCH /groups/:id/saml/:uid

Supported attributes:

AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group
uidstringyesExternal UID of the user.

Example request:

curl --location --request PATCH "https://gitlab.example.com/api/v4/groups/33/saml/sydney_jones" \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--form "extern_uid=sydney_jones_new"