Provision and manage user accounts

Prev
Post
/webhooks
Security
HTTP
Type basic

To pass the authentication step you will need to provide the following:

Username is the Tenant ID (i.e. eu-west-2_AbcdEfghI) Password is the secret you would have received

Body parameters
user_joined

User has joined the organisation

This event is for creating a user or unsuspending a user

"{\n  \"id\": \"UNIQUEREFERENCE111000\",\n  \"timestamp\": \"2020-03-09T22:18:26.625Z\",\n  \"eventType\": \"user_joined\",\n  \"content\": {\n    \"user\": {\n      \"ref\": \"UID30084022\",\n      \"email\": \"user@thrivelearning.com\",\n      \"firstName\": \"Thomas\",\n      \"lastName\": \"Jefferson\",\n      \"jobTitle\": \"Director\",\n      \"managerRef\": \"UID0034234555\",\n      \"startDate\": \"2021-08-19T18:00:00.000Z\",\n      \"timeZone\": \"Europe/London\",\n      \"languageCode\": \"en-gb\"\n    }\n  }\n}\n"
user_updated

User information has changed

This event is for updating an existing user

"{\n  \"id\": \"UNIQUEREFERENCE111000\",\n  \"timestamp\": \"2020-03-09T22:18:26.625Z\",\n  \"eventType\": \"user_updated\",\n  \"content\": {\n    \"user\": {\n      \"ref\": \"UID30084022\",\n      \"email\": \"user@thrivelearning.com\"\n    }\n  }\n}\n"
user_suspended

User has left the organisation

This event is to suspend a user account when they leave the organisation

"{\n  \"id\": \"UNIQUEREFERENCE111000\",\n  \"timestamp\": \"2020-03-09T22:18:26.625Z\",\n  \"eventType\": \"user_suspended\",\n  \"content\": {\n    \"user\": {\n      \"ref\": \"UID30084022\"\n    }\n  }\n}\n"
user_deleted

User has been deleted from the organisation

This event will obfuscate the user record while keeping the training history

"{\n  \"id\": \"UNIQUEREFERENCE111000\",\n  \"timestamp\": \"2020-03-09T22:18:26.625Z\",\n  \"eventType\": \"user_deleted\",\n  \"content\": {\n    \"user\": {\n      \"ref\": \"UID30084022\"\n    }\n  }\n}\n"
Expand All
object

An envelope containing information about the event and the event requirements

id
string Required
ExampleUNIQUEREFERENCE111000
timestamp
string Required
Example2020-03-09T22:18:26.625Z
eventType
string Required
Valid values[ "user_joined", "user_updated", "user_suspended", "user_deleted" ]
content
OneOf
UserSuspendedEventBody
object (UserSuspendedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
endDate
string (date-time)

The date this individual left your organisation

object
object
id
string Required
ExampleUNIQUEREFERENCE111000
timestamp
string Required
Example2020-03-09T22:18:26.625Z
eventType
string Required
Valid values[ "user_joined", "user_updated", "user_suspended", "user_deleted" ]
content
OneOf
UserSuspendedEventBody
object (UserSuspendedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
endDate
string (date-time)

The date this individual left your organisation

object
object Recursive
content
object
user
object (UserBody)

The input to create, update or suspend a user.

You may provide additional properties however they must match the configured custom fields.

ref
string Required

Your organisation's unique identifier for this individual

ExampleUID30084022
email
string Required

The email address for the user

Exampleuser@thrivelearning.com
firstName
string Required

The given name of the individual

ExampleThomas
lastName
string Required

The family name of the individual

ExampleJefferson
jobTitle
string

The name of this individual's role in your organisation

ExampleDirector
managerRef
string

Your organisation's unique identifier for this individual's line manager

ExampleUID0034234555
startDate
string (date-time)

The date this individual started working with your organisation

Example2021-08-19T18:00:00Z
endDate
string (date-time)

The date this individual left your organisation

timeZone
string

The user’s preferred timezone. If not provided the tenant default is used

Defaultnull
ExampleEurope/London
languageCode
string

The user’s preferred language. If not provided the tenant default is used.

One caveat is that the tenant may only use the languages they have requested.

Valid values[ "cs", "de", "en-gb", "en-us", "es", "es-mx", "fi", "fr", "hu", "id", "it", "ja", "ja-jp", "kn-in", "ms-my", "nl", "pl", "pt", "sk", "sv", "th", "tr", "zh-cn" ]
Defaultnull
Exampleen-gb
sso
boolean

Whether this account is managed by an Authentication provider or not.

Exampletrue
domain
string

The domain this individual is associated with

Defaultnull
Exampletenant.learn.link
object
object Recursive
content
object
user
object (UserBody)

The input to create, update or suspend a user.

You may provide additional properties however they must match the configured custom fields.

ref
string Required

Your organisation's unique identifier for this individual

ExampleUID30084022
email
string Required

The email address for the user

Exampleuser@thrivelearning.com
firstName
string Required

The given name of the individual

ExampleThomas
lastName
string Required

The family name of the individual

ExampleJefferson
jobTitle
string

The name of this individual's role in your organisation

ExampleDirector
managerRef
string

Your organisation's unique identifier for this individual's line manager

ExampleUID0034234555
startDate
string (date-time)

The date this individual started working with your organisation

Example2021-08-19T18:00:00Z
endDate
string (date-time)

The date this individual left your organisation

timeZone
string

The user’s preferred timezone. If not provided the tenant default is used

Defaultnull
ExampleEurope/London
languageCode
string

The user’s preferred language. If not provided the tenant default is used.

One caveat is that the tenant may only use the languages they have requested.

Valid values[ "cs", "de", "en-gb", "en-us", "es", "es-mx", "fi", "fr", "hu", "id", "it", "ja", "ja-jp", "kn-in", "ms-my", "nl", "pl", "pt", "sk", "sv", "th", "tr", "zh-cn" ]
Defaultnull
Exampleen-gb
sso
boolean

Whether this account is managed by an Authentication provider or not.

Exampletrue
domain
string

The domain this individual is associated with

Defaultnull
Exampletenant.learn.link
UserDeletedEventBody
object (UserDeletedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
object
object
id
string Required
ExampleUNIQUEREFERENCE111000
timestamp
string Required
Example2020-03-09T22:18:26.625Z
eventType
string Required
Valid values[ "user_joined", "user_updated", "user_suspended", "user_deleted" ]
content
OneOf
UserSuspendedEventBody
object (UserSuspendedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
endDate
string (date-time)

The date this individual left your organisation

object
object Recursive
content
object
user
object (UserBody)

The input to create, update or suspend a user.

You may provide additional properties however they must match the configured custom fields.

ref
string Required

Your organisation's unique identifier for this individual

ExampleUID30084022
email
string Required

The email address for the user

Exampleuser@thrivelearning.com
firstName
string Required

The given name of the individual

ExampleThomas
lastName
string Required

The family name of the individual

ExampleJefferson
jobTitle
string

The name of this individual's role in your organisation

ExampleDirector
managerRef
string

Your organisation's unique identifier for this individual's line manager

ExampleUID0034234555
startDate
string (date-time)

The date this individual started working with your organisation

Example2021-08-19T18:00:00Z
endDate
string (date-time)

The date this individual left your organisation

timeZone
string

The user’s preferred timezone. If not provided the tenant default is used

Defaultnull
ExampleEurope/London
languageCode
string

The user’s preferred language. If not provided the tenant default is used.

One caveat is that the tenant may only use the languages they have requested.

Valid values[ "cs", "de", "en-gb", "en-us", "es", "es-mx", "fi", "fr", "hu", "id", "it", "ja", "ja-jp", "kn-in", "ms-my", "nl", "pl", "pt", "sk", "sv", "th", "tr", "zh-cn" ]
Defaultnull
Exampleen-gb
sso
boolean

Whether this account is managed by an Authentication provider or not.

Exampletrue
domain
string

The domain this individual is associated with

Defaultnull
Exampletenant.learn.link
object
object Recursive
content
object
user
object (UserBody)

The input to create, update or suspend a user.

You may provide additional properties however they must match the configured custom fields.

ref
string Required

Your organisation's unique identifier for this individual

ExampleUID30084022
email
string Required

The email address for the user

Exampleuser@thrivelearning.com
firstName
string Required

The given name of the individual

ExampleThomas
lastName
string Required

The family name of the individual

ExampleJefferson
jobTitle
string

The name of this individual's role in your organisation

ExampleDirector
managerRef
string

Your organisation's unique identifier for this individual's line manager

ExampleUID0034234555
startDate
string (date-time)

The date this individual started working with your organisation

Example2021-08-19T18:00:00Z
endDate
string (date-time)

The date this individual left your organisation

timeZone
string

The user’s preferred timezone. If not provided the tenant default is used

Defaultnull
ExampleEurope/London
languageCode
string

The user’s preferred language. If not provided the tenant default is used.

One caveat is that the tenant may only use the languages they have requested.

Valid values[ "cs", "de", "en-gb", "en-us", "es", "es-mx", "fi", "fr", "hu", "id", "it", "ja", "ja-jp", "kn-in", "ms-my", "nl", "pl", "pt", "sk", "sv", "th", "tr", "zh-cn" ]
Defaultnull
Exampleen-gb
sso
boolean

Whether this account is managed by an Authentication provider or not.

Exampletrue
domain
string

The domain this individual is associated with

Defaultnull
Exampletenant.learn.link
UserDeletedEventBody
object (UserDeletedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
UserDeletedEventBody
object (UserDeletedEventBody)
user
object
ref
string

Your organisation's unique identifier for this individual

ExampleUID30084022
Responses
200

OK

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
content
object
user
object (UserResource)

A user resource

id
string
Example6143eedfd39243e830bdbb8c
ref
string
ExampleUID30084022
email
string
Exampleuser@thrivelearning.com
firstName
string
ExampleThomas
lastName
string
ExampleJefferson
jobTitle
string
ExampleDirector
managerRef
string
ExampleUID0034234555
startDate
string (date-time)
Example2021-01-01T09:00:00Z
endDate
string (date-time)
Example2021-06-11T16:00:00Z
timeZone
string
Defaultnull
ExampleEurope/London
languageCode
string

The user’s preferred language. If not provided the tenant default is used.

One caveat is that the tenant may only use the languages they have requested.

Valid values[ "cs", "de", "en-gb", "en-us", "es", "es-mx", "fi", "fr", "hu", "id", "it", "ja", "ja-jp", "kn-in", "ms-my", "nl", "pl", "pt", "sk", "sv", "th", "tr", "zh-cn" ]
Defaultnull
Exampleen-gb
active
boolean

Whether the account is active or suspended

Exampletrue
createdAt
string

The date and time the user was created

Example2021-08-18T13:48:00+00:00
updatedAt
string

The date and time the user was last modified

Example2021-08-19T18:00:00.000Z
singleSignOn
boolean
Exampletrue
domain
string

The domain this individual is associated with

Exampletenant.learn.link
400

Bad Request

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
error
object (BadRequestError)

The request is invalid

status
number
Example400.0
error
string
ExampleBad Request
message
string
ExampleInvalid JSON on line 1
401

Unauthorized

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
message
object (UnauthorizedError)

You must be authorized to process this request

status
number
Example401.0
error
string
ExampleUnauthorized
message
string
ExampleInvalid client_id
404

Resource could not be found

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
message
object (NotFoundError)

The resource cannot be found or does not exist

status
number
Example404.0
error
string
ExampleNot Found
message
string
ExampleCould not find user with ref
409

Conflict

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
error
object (ConflictError)

There was a conflict with the request and the resource

status
number
Example409.0
error
string
ExampleConflict
message
string
ExampleThe resource already exists
422

Unable to process the requested entity

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
message
object (UnprocessableEntityError)

The request could not be processed due to a validation error

status
number
Example422.0
error
string
ExampleUnprocessable Entity
message
string
ExampleThe startDate must be in a valid ISO 8601 format
default

An unexpected error has occurred

When any default error occurs it may be a system failure and persistent errors may require support.

Expand All
object
id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
message
object (InternalServerError)

The server is unable to process the request

status
number
Example500.0
error
string
ExampleInternal Server Error