Create Non-Employee Request​
This request will create a non-employee request and notify the approver. Requires role context of idn:nesr:create
or the user must own the source.
- application/json
Request Body required
Non-Employee creation request body
- accountName string required
Requested identity account name.
- firstName string required
Non-Employee's first name.
- lastName string required
Non-Employee's last name.
- email string required
Non-Employee's email.
- phone string required
Non-Employee's phone.
- manager string required
The account ID of a valid identity to serve as this non-employee's manager.
- sourceId string required
Non-Employee's source id.
data object
Attribute blob/bag for a non-employee, 10 attributes is the maximum size supported.
property name*
string- startDate date-time required
Non-Employee employment start date.
- endDate date-time required
Non-Employee employment end date.
- 200
- 400
- 401
- 403
- 429
- 500
Non-Employee request creation object
- application/json
- Schema
- Example (from schema)
Schema
- id UUID
Non-Employee source id.
- sourceId string
Source Id associated with this non-employee source.
- name string
Source name associated with this non-employee source.
- description string
Source description associated with this non-employee source.
- accountName string
Requested identity account name.
- firstName string
Non-Employee's first name.
- lastName string
Non-Employee's last name.
- email string
Non-Employee's email.
- phone string
Non-Employee's phone.
- manager string
The account ID of a valid identity to serve as this non-employee's manager.
nonEmployeeSource object
id UUIDNon-Employee source id.
sourceId stringSource Id associated with this non-employee source.
name stringSource name associated with this non-employee source.
description stringSource description associated with this non-employee source.
data object
Attribute blob/bag for a non-employee.
property name*
stringapprovalItems object[]
List of approval item for the request
id UUIDNon-Employee approval item id
approver object
Reference to the associated Identity
type stringPossible values: [
GOVERNANCE_GROUP
,IDENTITY
]Identifies if the identity is a normal identity or a governance group
id stringIdentity id
accountName stringRequested identity account name
approvalStatus stringPossible values: [
APPROVED
,REJECTED
,PENDING
,NOT_READY
,CANCELLED
]Enum representing the non-employee request approval status
approvalOrder floatApproval order
comment stringcomment of approver
modified date-timeWhen the request was last modified.
created date-timeWhen the request was created.
- approvalStatus string
Possible values: [
APPROVED
,REJECTED
,PENDING
,NOT_READY
,CANCELLED
]Enum representing the non-employee request approval status
- comment string
comment of requester
- completionDate date-time
When the request was completely approved.
- startDate date-time
Non-Employee employment start date.
- endDate date-time
Non-Employee employment end date.
- modified date-time
When the request was last modified.
- created date-time
When the request was created.
{
"id": "a0303682-5e4a-44f7-bdc2-6ce6112549c1",
"sourceId": "2c91808568c529c60168cca6f90c1313",
"name": "Retail",
"description": "Source description",
"accountName": "william.smith",
"firstName": "William",
"lastName": "Smith",
"email": "william.smith@example.com",
"phone": "5555555555",
"manager": "jane.doe",
"nonEmployeeSource": {
"id": "a0303682-5e4a-44f7-bdc2-6ce6112549c1",
"sourceId": "2c91808568c529c60168cca6f90c1313",
"name": "Retail",
"description": "Source description"
},
"data": {
"description": "Auditing"
},
"approvalItems": [
{
"id": "2c1e388b-1e55-4b0a-ab5c-897f1204159c",
"approver": {
"type": "IDENTITY",
"id": "5168015d32f890ca15812c9180835d2e"
},
"accountName": "test.account",
"approvalStatus": "APPROVED",
"approvalOrder": 1,
"comment": "I approve",
"modified": "2019-08-23T18:52:59.162Z",
"created": "2019-08-23T18:40:35.772Z"
}
],
"approvalStatus": "APPROVED",
"comment": "approved",
"completionDate": "2020-03-24T11:11:41.139-05:00",
"startDate": "2020-03-24T00:00:00-05:00",
"endDate": "2021-03-25T00:00:00-05:00",
"modified": "2020-03-24T11:11:41.139-05:00",
"created": "2020-03-24T11:11:41.139-05:00"
}
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (from schema)
- 400.1 Bad Request Content
- 400.1.409 Reference conflict
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en",
"localeOrigin": "REQUEST",
"text": "firstName is required; accountName is required;"
}
]
}
{
"detailCode": "400.1.409 Reference conflict",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en",
"localeOrigin": "REQUEST",
"text": "Unable to create Non-Employee because the accountName \"existed\" is already being used."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (from schema)
Schema
- error
A message describing the error
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (from schema)
- 403
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
- application/json
- Schema
- Example (from schema)
Schema
- message
A message describing the error
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (from schema)
- 500
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}