Module: user

Copyright 2020 Parsable, Inc
API address: /api/users
APIs to get information about a user.

ModuleServicesData typesConstants
userUserService
BulkUserUploadStatus
BulkUserUploadSummary
BulkUserUploadSummaryRequest
EmailExists
TeamMembership
TeamRole
User
UserFetchResult
UserKey
UserModular
UserOrder
UserOrderBy
UserParams
UserQueryResult
UserSelectOpts
UserStats
UserTextSearch
UserWhereOpts

Enumerations

Enumeration: TeamRole

The user's role(s) in a team

ADMIN1
AUTHOR2
JOBCREATOR3
EXECUTOR4
PARSABLE_ADMIN5
WORKFLOW_PLANNER6
ANALYTICS_EDITOR7
ANALYTICS_VIEWER8
IT_ADMIN9
PUBLISHER10

Enumeration: UserOrderBy


NAME1
EMAIL2

Enumeration: BulkUserUploadStatus


PARTIAL1
FAILURE2
SUCCESSFUL3

Data structures

Struct: User

KeyFieldTypeDescriptionRequirednessDefault value
1idstringdefault
2emailstringdefault
3namestringdefault
4validatedAti64Not validated, if 0 default
5isAutomaticallyProvisionedbooloptional
6regionIdstringoptional
7isSSOAuthbooloptional

Information about the user

Union: UserKey

KeyFieldTypeDescriptionRequirednessDefault value
1idstringdefault
2emailstringdefault

Struct: TeamMembership

KeyFieldTypeDescriptionRequirednessDefault value
1addedAti64default
2updatedAti64default
3removedAti64Not removed, if 0 default
4roleslist<TeamRole>default

Team membership information

Struct: UserStats

KeyFieldTypeDescriptionRequirednessDefault value
1completedJobsi32default
2activeJobsi32default

Stats for user (per team)

Struct: UserModular

KeyFieldTypeDescriptionRequirednessDefault value
1idstringdefault
2emailstringdefault
3namestringdefault
4validatedAti64Not validated, if 0 default
5isAutomaticallyProvisionedbooloptional
6regionIdstringoptional
7isSSOAuthbooloptional
101teamIdToMembershipmap<string, TeamMembership>optional
102teamIdToStatsmap<string, UserStats>optional
103teamIdToAttributesmap<string, list<abac.AbacAttribute>>optional
104teamIdToMetadatamap<string, map<string, metadata.MetadataEntry>>optional

Information about a user, modular

Struct: UserParams

KeyFieldTypeDescriptionRequirednessDefault value
1namestringoptional

Information about a new user

Struct: UserSelectOpts

KeyFieldTypeDescriptionRequirednessDefault value
1includeTeamMembershipbooldefault
2includeStatsbooldefault
3includeAttributesbooldefault
4includeMetadatabooldefault

Struct: UserOrder

KeyFieldTypeDescriptionRequirednessDefault value
1fieldUserOrderBydefault
2ascbooldefaulttrue

Struct: UserTextSearch

KeyFieldTypeDescriptionRequirednessDefault value
1querystringdefault

Struct: UserWhereOpts

KeyFieldTypeDescriptionRequirednessDefault value
1teamIdstringoptional
2teamRoleslist<TeamRole>optional
3isRemovedbooloptional
4txtUserTextSearchoptional
5attributeslist<abac.AbacAttribute>optional
6metadatalist<metadata.MetadataEntry>optional
20pageReqcommon.PageReqoptional

Options for choosing records

Struct: UserQueryResult

KeyFieldTypeDescriptionRequirednessDefault value
1userslist<UserModular>default
2pageInfocommon.PageInfooptional

Union: UserFetchResult

KeyFieldTypeDescriptionRequirednessDefault value
1userUserModulardefault
2errcommon.SystemExceptiondefault

Result from fetch APIs

Struct: BulkUserUploadSummary

KeyFieldTypeDescriptionRequirednessDefault value
1totali32default
2addedi32optional
3caveatsi32optional
4errorsi32optional

Struct: BulkUserUploadSummaryRequest

KeyFieldTypeDescriptionRequirednessDefault value
1fileNamestringdefault
2importStartTimei64default
3importFinishTimei64default
4contentsstringdefault
5statusBulkUserUploadStatusdefault
6uploadSummaryBulkUserUploadSummarydefault

Struct: EmailExists

KeyFieldTypeDescriptionRequirednessDefault value
1existsbooldefault

response from checkEmailExists

Services

Service: UserService

Function: UserService.query

UserQueryResult query(UserSelectOpts selectOpts,
                      UserWhereOpts whereOpts,
                      list<UserOrder> order)
    throws common.SystemException
Query a list of Team Users

Function: UserService.fetch

map<string, UserFetchResult> fetch(list<string> userIds)
    throws common.SystemException
Fetch a specific list of Team Users with no team-specific information; allowed for any users on a shared team (EXECUTION use case)

Function: UserService.fetchByTeam

map<string, UserFetchResult> fetchByTeam(UserSelectOpts selectOpts,
                                       string teamId,
                                       list<string> userIds)
    throws common.SystemException
Fetch a specific list of Team Users for a team; allows getting additional team-specific data via SelectOpts (ADMIN use case, requires ADMIN or JOBCREATOR role)

Function: UserService.updateWithPassword

User updateWithPassword(User details,
                        string password)
    throws common.SystemException
Update a user

Function: UserService.updateAttribute

list<abac.AbacAttribute> updateAttribute(common.UUID userId,
                                         common.UUID teamId,
                                         string attributeId,
                                         list<abac.AbacAttributeValue> values,
                                         abac.AbacUploadBehaviour behave)
    throws common.SystemException
Update a single attribute on a user on a team return value will always be a list with a single attribute determined by which attribute was updated param userId: user to update param teamId: team on which to update the users attributes param attributeId: the AttributeId of the team level attribute to be updated param values: the new AttributeValues to associated with Attribute attributeId on user userId param behave: determine the behaviour of the endpoint, merge or clobber. Default: clobber

Function: UserService.updateMetadata

map<string, metadata.MetadataEntry> updateMetadata(common.UUID userId,
                                                 common.UUID teamId,
                                                 map<string, metadata.MetadataValue> updated,
                                                 list<string> removedIds)
    throws common.SystemException
Update a user's metadata. Updated are the values to be added or updated on the user. RemovedIds are the IDs of the values to be removed from the user.