Cirrus Identity Identities API
v1.1.0/identities/v1Permissions
Identities API credentials are managed by organizational admins in the Cirrus Console.
Identities
Identity objects are parent records that track information or assets associated with a user.
Attribute Collections
Attribute collections are bundles of attributes associated with a specific authority, such as a department or a credential.
Remote Credentials
Remote credentials are a special type of attribute collection, used to pre-link an identity record with a credential issued by an authentication provider prior to that credential being seen by a Cirrus Proxy. Remote credentials ensure that authentication at a Proxy with a particular authentication provider credential results in association with the correct pre-provisioned identity record.
Because remote credential objects represent a remote (external) authentication provider, only the authority and UID (credential identifier) are permitted; no additional attributes may be provided.
Remote credential attribute collections are included in the response of read operations that include
attributeCollections in their output (i.e., GET /list/byAttributeCollection/{environment} and GET /fetch/{cirrusId}).
The attributes member of any remote credential attribute collection will always be an empty object (i.e., "attributes": {}).
OrgBrandedID
OrgBrandedID is a hosted authentication provider option included with many Cirrus Identity subscriptions.
Authentication
HTTPBasichttpScheme: basic
Miscellaneous
Fetch Permissions
Return permissions for the current credential.
Properties in the permissions object:
username: API credential username currently being used.orgDomain: the organizational domain for which the credential was provisioned.environments: eithertestorprod.environments.<environment>.permissions: an array of permissions in the specified identity environment.admin-all: All available identity record permissions, including permissions introduced in the future.read: Read access to identity records.write: Write access to identity records.
environments.<environment>.customerUidKeys: an array of customer-defined UID keys which the API credential may use when creating identities. Please contact Cirrus Identity Support for additional information.environments.<environment>.attributeAuthorities: an array of attribute authority identifiers which the API credential may use when creating identities or creating/modifying attribute collections. Please contact Cirrus Identity Support for additional information.
obid: an array of permissions for OBID accounts. These permissions apply in both thetestandprodenvironments.read: Read access to OBID account attribute collections.write: May auto-create an OBID account at identity creation time, or create an OBID account for a pre-existing identity.
Response
Success
Unauthorized
Internal Server Error
Authorization
HTTPBasichttp (basic)Identities
List Identities
List all identity records for a specific environment (test or prod).
Parameters
identity environment
page_ idxinteger>= 11queryrequested page index
page_ sizeinteger[1, 50]10queryrequested number of items per page
sort key
sort order
search_ termstring | nullqueryoptional search term
Response
Successful Response
Unauthorized
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)List Identities By Attr Collection
List all identity records associated with a specific
attributeCollectionAuthority (e.g., records containing an alumni attribute
collection), or a combination of attributeCollectionAuthority and uid (e.g.,
find the alumni record with alumni uid of '1234567').
Parameters
identity environment
attributeAuthoritystringrequiredqueryattribute authority identitifer
attributeAuthorityUidstringqueryunique UID assigned by attribute authority
page_ idxinteger>= 11querypage_ sizeinteger[1, 50]10queryResponse
Successful Response
Unauthorized
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Search Identities
List cirrusUid values for identity records matching search term. Search
includes attribute collections.
Parameters
identity environment
searchTermstringrequiredpathterm to use in search; will be sub-string matched against name and email fields in identity and linked attributeCollections
Response
Success
Unauthorized
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Fetch Identity
Retrieve a single identity record by cirrusUid.
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
Response
Successful Response
Unauthorized
Not Found
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Create Identity
Create an identity record, including optional additions as permitted for your credential:
obid- Create an OrgBrandedID sign-in credential for the identity, inviting the user to set a password for it, e.g.:"obid": truequiet- Suppress any user-facing emails that might be triggered as a result of account creation - e.g., an OrgBrandedID account setup email"quiet": trueattributeCollections- Create one or more authorized types of attribute collections for the identity, e.g.:"attributeCollections": [ { "attributeCollectionAuthority": "alumni", "uid": "al-12345", "attributes": { "alumniId": [ "al-12345" ], "givenName": [ "Alice" ], "sn": [ "Arcus" ] } } ]remoteCredentials- Create one or more remote credentials for the identity, e.g.:"remoteCredentials": [ { "remoteCredentialAuthority": "https://shib.athena-institute.net/idp/shibboleth", "uid": "hugohail123" } ]customerUidGen- Auto-generate an identifier with a format customized to your organization, e.g.:"customerUidGen": "athenaCustomId"
Body
model for creating a new identity record
mailstring<email>requiredemail address
aarcus@athena-institute.netgivenNamestringrequiredgiven name
Alicesnstringrequiredsurname
ArcuscustomerUidGenstring | nulloptional Cirrus-provided key for generating customer-defined UIDs
obidbooleanfalsewhether to create/link an OrgBrandedID account for mail value
quietbooleanfalsesuppress any user-facing emails that might be triggered as a result of account creation - e.g., an OrgBrandedID account setup email
allowDuplicateEmailbooleanfalsewhether to allow creation of an identity record with an email address already associated with another identity
attributeCollectionsArray<AttributeCollectionInput> | nulloptional list of attribute collections to create and link to identity record
remoteCredentialsArray<RemoteCredentialInput> | nulloptional list of remote credential (authority, uid) pairs to create and link to identity record
{
"mail": "aarcus@athena-institute.net",
"givenName": "Alice",
"sn": "Arcus",
"obid": false,
"quiet": false,
"allowDuplicateEmail": false
}Parameters
identity environment
Response
Successful Response
Unauthorized
Conflict
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Modify Identity
Modify core attributes of identity record.
The attributes that may be modified are:
givenNamesnmail
Any combination of these attributes may be provided; only provided attribute values will be updated. Attributes
with a value of null will be ignored (treated the same as omitting them).
If the mail attribute value is present on another identity in the same environment, a 409 Conflict error will
be returned. If you wish to override this behavior, and allow duplicate email values, pass true for the boolean
parameter, allowDuplicateEmail.
The updated identity record is returned upon success.
Body
model for modifying base properties on existing identity record
mailstring | nullemail address
givenNamestring | nullgiven name
snstring | nullsurname
allowDuplicateEmailbooleanfalsewhether to allow creation of an identity record with an email address already associated with another identity
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
Response
Successful Response
Unauthorized
Not Found
Conflict
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Attribute Collections
Create Attribute Collection
Create a new attribute collection under an authorized authority for an existing identity record.
Body
attribute collection model
attributeCollectionAuthoritystringrequiredidentifier of attribute collection authority
AthenaIDuidstringrequiredunique identifier for attribute authority collection instance
ai-12345attributesobject[object Object]object of attribute keys and list of values
{
"athenaId": [
"ai-12345"
],
"givenName": [
"Alice"
],
"sn": [
"Arcus"
]
}Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
Response
Successful Response
Unauthorized
Not Found
Conflict
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Modify Attribute Collection
Modify a specific attribute collection under an authorized authority for an identity record.
Body
attribute collection model
attributeCollectionAuthoritystringrequiredidentifier of attribute collection authority
AthenaIDuidstringrequiredunique identifier for attribute authority collection instance
ai-12345attributesobject[object Object]object of attribute keys and list of values
{
"athenaId": [
"ai-12345"
],
"givenName": [
"Alice"
],
"sn": [
"Arcus"
]
}Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
overwritebooleanfalsequerycompletely overwrite attributes (true) or merge (default, false)
Response
Successful Response
Unauthorized
Not Found
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Delete Attribute Collection
Delete a specific attribute collection under an authorized authority from an identity record.
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
attributeAuthoritystringrequiredqueryidentifier of attribute collection authority
attributeAuthorityUidstringrequiredqueryunique identifier for attribute collection
Response
Successful Response
Unauthorized
Not Found
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Remote Credentials
Create Remote Credential
Create a new remote credential under an existing identity record.
Body
remote credential model
remoteCredentialAuthoritystringrequiredidentifier of remote credential authority
https://athena-institute.net/idpurn:mace:incommon:athena-institute.netuidstringrequiredunique identifier at remote credential authority
ai-12345Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
Response
Successful Response
Unauthorized
Not Found
Conflict
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Delete Remote Credential
Delete a specific remote credential under an identity record.
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
remoteCredentialAuthoritystringrequiredqueryidentifier of remote credential authority
remoteCredentialUidstringrequiredqueryunique identifier at remote credential authority
Response
Successful Response
Unauthorized
Not Found
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Obid
Create Obid
Create a new OrgBrandedID sign-in credential for an existing identity record, sending an onboarding email to the designated email address. The quiet flag can be used to suppress the OrgBrandedID account setup email.
Body
model for creating a new OBID account
givenNamestring | nullfirst name
surnamestring | nulllast name
emailstring | nullemail address
quietbooleanfalsesuppress OrgBrandedID account setup email
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
Response
Success
Unauthorized
Not Found
Conflict
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Send Obid Credential Email
Send a credential email for the OBID account cuid associated with identity cirrusUid. If the OBID account is in
either the BOOTSTRAP or INACTIVE state, the "account activation" email will be sent. Otherwise, the "password
reset" email will be sent.
Parameters
cirrusUidstringrequiredpathcirrusUid of identity record
cuidstringrequiredpathidentifier of OBID account (begins with cuid-)
Response
Successful Response
Unauthorized
Not Found
Not Found
Validation Error
Internal Server Error
Authorization
HTTPBasichttp (basic)Models
AttributeCollectionCreateOrModifyOutput
objectwrapper for returning attribute collections along with cirrusUid
cirrusUidstringrequiredcirrusUid of identity record
a82113d1-7072-494f-91c5-be3dbe2db08dcreated/modified attributeCollection
AttributeCollectionInput
objectattribute collection model
attributeCollectionAuthoritystringrequiredidentifier of attribute collection authority
AthenaIDuidstringrequiredunique identifier for attribute authority collection instance
ai-12345attributesobject[object Object]object of attribute keys and list of values
{
"athenaId": [
"ai-12345"
],
"givenName": [
"Alice"
],
"sn": [
"Arcus"
]
}AttributeCollectionOutput
objectoutput attribute collection model
attributeCollectionAuthoritystringrequiredidentifier of attribute collection authority
AthenaIDuidstringrequiredunique identifier for attribute authority collection instance
ai-12345attributesobject[object Object]object of attribute keys and list of values
{
"athenaId": [
"ai-12345"
],
"givenName": [
"Alice"
],
"sn": [
"Arcus"
]
}createTimestring<date-time>requiredattribute collection creation timestamp
lastUpdateTimestring<date-time>requiredattribute collection last update timestamp
credentialLastUsedstring | nulllast time used, if attribute collection represents a credential
type of attribute collection authority
IdentitiesApiUserPermissionsModel
objectmodel for user/permissions model (for identities API)
usernamestringrequiredorgDomainstringrequiredenvironmentsobject[object Object]Map of linkgroup names to linkgroup permissions
obidArray<string>List of OBID permissions
IdentityCreateInput
objectmodel for creating a new identity record
mailstring<email>requiredemail address
aarcus@athena-institute.netgivenNamestringrequiredgiven name
Alicesnstringrequiredsurname
ArcuscustomerUidGenstring | nulloptional Cirrus-provided key for generating customer-defined UIDs
obidbooleanfalsewhether to create/link an OrgBrandedID account for mail value
quietbooleanfalsesuppress any user-facing emails that might be triggered as a result of account creation - e.g., an OrgBrandedID account setup email
allowDuplicateEmailbooleanfalsewhether to allow creation of an identity record with an email address already associated with another identity
attributeCollectionsArray<AttributeCollectionInput> | nulloptional list of attribute collections to create and link to identity record
remoteCredentialsArray<RemoteCredentialInput> | nulloptional list of remote credential (authority, uid) pairs to create and link to identity record
IdentityListSortKey
stringenum for allowed fields to sort identity list by
IdentityModel
objectfull identity model
cirrusUidstringrequiredcirrusUid of identity record
a82113d1-7072-494f-91c5-be3dbe2db08dmailstring | nullemail address
givenNamestring | nullgiven name
snstring | nullSurname
createTimestring<date-time>requiredidentity creation timestamp
lastUpdateTimestring<date-time>requiredidentity last update timestamp
attributeCollectionsArray<AttributeCollectionOutput> | nulllist of AttributeCollectionOutput
{
"attributeCollections": [
{
"attributeCollectionAuthority": "https://athena-guest.idp.cirrusidentity.com/idp",
"attributeCollectionAuthorityType": "obid",
"attributes": {
"scope": [
"athena-guest.idp.cirrusidentity.com"
],
"urn:oid:0.9.2342.19200300.100.1.1": [
"8a37d4f4-d09f-4ac5-bf67-9e38f987bf1c"
],
"urn:oid:0.9.2342.19200300.100.1.3": [
"aarcus@athena-institute.net"
],
"urn:oid:1.3.6.1.4.1.5923.1.1.1.6": [
"8a37d4f4-d09f-4ac5-bf67-9e38f987bf1c@athena-guest.idp.cirrusidentity.com"
],
"urn:oid:2.16.840.1.113730.3.1.241": [
"Alice Arcus"
],
"urn:oid:2.5.4.3": [
"Alice Arcus"
],
"urn:oid:2.5.4.4": [
"Arcus"
],
"urn:oid:2.5.4.42": [
"Alice"
]
},
"createTime": "2025-10-31T19:12:08+00:00",
"credentialLastUsed": "2026-06-04T17:16:35+00:00",
"lastUpdateTime": "2025-10-31T19:12:08+00:00",
"uid": "cuid-8a37d4f4-d09f-4ac5-bf67-9e38f987bf1c"
},
{
"attributeCollectionAuthority": "AthenaID",
"attributeCollectionAuthorityType": "sor",
"attributes": {
"athenaId": [
"ai-12345"
],
"givenName": [
"Alice"
],
"sn": [
"Arcus"
]
},
"createTime": "2025-11-02T01:24:00+00:00",
"lastUpdateTime": "2025-11-02T01:24:00+00:00",
"uid": "ai-12345"
}
],
"cirrusUid": "a82113d1-7072-494f-91c5-be3dbe2db08d",
"createTime": "2025-10-31T19:12:07+00:00",
"givenName": "Alice",
"lastUpdateTime": "2025-10-31T19:12:07+00:00",
"mail": "aarcus@athena-institute.net",
"sn": "Arcus"
}IdentityModelBase
objectbase identity model
cirrusUidstringrequiredcirrusUid of identity record
a82113d1-7072-494f-91c5-be3dbe2db08dmailstring | nullemail address
givenNamestring | nullgiven name
snstring | nullSurname
createTimestring<date-time>requiredidentity creation timestamp
lastUpdateTimestring<date-time>requiredidentity last update timestamp
{
"cirrusUid": "a82113d1-7072-494f-91c5-be3dbe2db08d",
"createTime": "2025-10-31T19:12:07+00:00",
"givenName": "Alice",
"lastUpdateTime": "2025-10-31T19:12:07+00:00",
"mail": "aarcus@athena-institute.net",
"sn": "Arcus"
}IdentityModifyInput
objectmodel for modifying base properties on existing identity record
mailstring | nullemail address
givenNamestring | nullgiven name
snstring | nullsurname
allowDuplicateEmailbooleanfalsewhether to allow creation of an identity record with an email address already associated with another identity
LinkGroup
objectlinkgroup model
permissionsArray<string>List of permissions for org + link group
customerUidKeysArray<string>List of Customer UID tenantShortName:attributeCollectionAuthority pairs
attributeAuthoritiesArray<string>List of Customer attribute authorities
OrgBrandedIdAccountCreateInput
objectmodel for creating a new OBID account
givenNamestring | nullfirst name
surnamestring | nulllast name
emailstring | nullemail address
quietbooleanfalsesuppress OrgBrandedID account setup email
Page_IdentityModelBase_
objectlist of items on this page
total_ itemsinteger>= 0requiredtotal number of items
page_ cntinteger>= 0requiredtotal number of pages
page_ sizeinteger>= 0requirednumber of items on this page
page_ idxinteger>= 1requiredcurrent page index
Page_IdentityModel_
objectlist of items on this page
total_ itemsinteger>= 0requiredtotal number of items
page_ cntinteger>= 0requiredtotal number of pages
page_ sizeinteger>= 0requirednumber of items on this page
page_ idxinteger>= 1requiredcurrent page index
