Individuals

Types

The Base Individual object

Used when getting a list of individuals

Field Type Description
IndividualId int Identifier created by NBS
NBSId int Unique identifier created by NBS
FirstName string Required
MiddleName string
LastName string Required
EmployeeNumber string Must be unique within your entire company
UniqueNumber string Must be unique within your entire company
LogonId string Required. Must be unique within your entire company. Username may contain alpha numeric characters with a maximum length of 30 characters.
Password string Required on Insert. Must be between 6 and 20 characters and contain at least 2 numeric and 2 alpha characters.
DateOfBirth date
Gender string M or F or blank
JobTitleId int See Job Title Resource
DepartmentId int See Department Resource
LocaleId int See Locale Resource on left.
WorkShiftId int See WorkShift Resource
CompanyId int
IsEmployee int 1 for Yes. 0 for No.
WorkStatusId int See WorkStatus Resource
SupervisorId int Links to Individual Resource to set Primary Supervisor
Status string Required. Values are Active, LOA or Former.
HireDate date

The Full Individual object

This object contains individual contact info (phone, address, and email). Used when getting a single individual.

Field Type Description
IndividualId int Identifier created by NBS. Should not be provided for inserts.
NBSId int Unique identifier created by NBS. Should not be provided for inserts.
FirstName string Required
MiddleName string
LastName string Required
EmployeeNumber string Must be unique within your entire company
UniqueNumber string Must be unique within your entire company
LogonId string Required. Must be unique within your entire company. Username may contain alpha numeric characters with a maximum length of 30 characters.
Password string Required on Insert. Must be between 6 and 20 characters and contain at least 2 numeric and 2 alpha characters.
DateOfBirth date
HireDate date
Gender string M or F or blank
JobTitle string See Job Title Resource
JobTitleId int See Job Title Resource
Department string See Department Resource
DepartmentId int See Department Resource
Locale string See Locale Resource
LocaleId int See Locale Resource
WorkShift string See WorkShift Resource
WorkShiftId int See WorkShift Resource
CompanyId int Readonly value. Should not be provided for inserts.
IsEmployee int 1 for Yes. 0 for No.
WorkStatus int See WorkStatus resource
Status string Required. Values are Active, LOA or Former.
SupervisorId int Links to Individual Resource to set Primary Supervisor
SupervisorName string Last/First Names of Primary Supervisor
PhoneNumbers hash Not Required, but must be complete if provided. Valid PhoneTypes are: FAX, TOLLFREE, BUSINESS1, MOBILE1, HOME1, PAGER, BUSINESS2, MOBILE2, HOME2
Addresses hash Not Required, but must be complete if provided. Valid AddressTypes are: BUSINESS1, BUSINESS2, HOME1, HOME2
EmailAddresses hash Not Required, but must be complete if provided. Valid EmailTypes are: BUSINESS1, BUSINESS2, PERSONAL1, PERSONAL2

Endpoints

Get a List Of Individuals

Request
GET https://api.ninthbrain.com/Individual/GetList
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
[
  {
    "IndividualId": 0,
    "NBSId": 0,
    "FirstName": "",
    "MiddleName": "",
    "LastName": "",
    "DateOfBirth": "",
    "CompanyId": 0,
    "IsEmployee": 0,
    "Status": 30,
    "HireDate": "",
    "PhoneNumbers": [
      {
        "PhoneId": 0,
        "PhoneType": "",
        "Number": "",
        "Country": ""
      }
    ],
    "Addresses": [
      {
        "AddressId": 0,
        "AddressType": "",
        "AddressLine1": "",
        "AddressLine2": "",
        "City": "",
        "State": "",
        "Country": "",
        "ZipCode": ""
      }
    ],
    "EmailAddresses": [
      {
        "EmailId": 0,
        "EmailType": "",
        "EmailAddress": "",
        "AlertFormat": 0
      }
  }
]
Errors
  • not_found (HTTP 404) - individual does not exist
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • bad request (HTTP 400) - unknown error occurred

Get a List Of Supervisors

Request
GET https://api.ninthbrain.com/Individual/GetSupervisorList
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
[
  {
    "IndividualId": 0,
    "NBSId": 0,
    "FirstName": "",
    "MiddleName": "",
    "LastName": "",
    "DateOfBirth": "",
    "CompanyId": 0,
    "IsEmployee": 0,
    "Status": 30,
    "HireDate": "",
    "PhoneNumbers": [
      {
        "PhoneId": 0,
        "PhoneType": "",
        "Number": "",
        "Country": ""
      }
    ],
    "Addresses": [
      {
        "AddressId": 0,
        "AddressType": "",
        "AddressLine1": "",
        "AddressLine2": "",
        "City": "",
        "State": "",
        "Country": "",
        "ZipCode": ""
      }
    ],
    "EmailAddresses": [
      {
        "EmailId": 0,
        "EmailType": "",
        "EmailAddress": "",
        "AlertFormat": 0
      }
  }
]
Errors
  • not_found (HTTP 404) - individual does not exist
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • bad request (HTTP 400) - unknown error occurred

Get a Individual By NBS Id

Request
GET https://api.ninthbrain.com/Individual/GetByNBSId?nbsId={nbsId}
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Gender": "",
  "JobTitleId": 0,
  "JobTitle": "",
  "Department": "",
  "LocaleId": 0,
  "Locale": "",
  "WorkShift": "",
  "Supervisor": "",
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "WorkStatus": "",
  "Status": 30,
  "HireDate": "",
  "DateOfBirth": "",
  "PhoneNumbers": [
    {
      "PhoneId": 0,
      "PhoneType": "",
      "Number": "",
      "Country": ""
    }
  ],
  "Addresses": [
    {
      "AddressId": 0,
      "AddressType": "",
      "AddressLine1": "",
      "AddressLine2": "",
      "City": "",
      "State": "",
      "Country": "",
      "ZipCode": ""
    }
  ],
  "EmailAddresses": [
    {
      "EmailId": 0,
      "EmailType": "",
      "EmailAddress": "",
      "AlertFormat": 0
    }
  ]
}
Errors
  • not_found (HTTP 404) - individual does not exist
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied

Get a Individual By Unique Identifier

Request
GET https://api.ninthbrain.com/Individual/GetByUniqueIdentifier?uniqueIdentifier={uniqueIdentifier}
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Gender": "",
  "JobTitleId": 0,
  "JobTitle": "",
  "Department": "",
  "LocaleId": 0,
  "Locale": "",
  "WorkShift": "",
  "Supervisor": "",
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "WorkStatus": "",
  "Status": 30,
  "HireDate": "",
  "DateOfBirth": "",
  "PhoneNumbers": [
    {
      "PhoneId": 0,
      "PhoneType": "",
      "Number": "",
      "Country": ""
    }
  ],
  "Addresses": [
    {
      "AddressId": 0,
      "AddressType": "",
      "AddressLine1": "",
      "AddressLine2": "",
      "City": "",
      "State": "",
      "Country": "",
      "ZipCode": ""
    }
  ],
  "EmailAddresses": [
    {
      "EmailId": 0,
      "EmailType": "",
      "EmailAddress": "",
      "AlertFormat": 0
    }
  ]
}
Errors
  • not_found (HTTP 404) - individual does not exist
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • bad request (HTTP 400) - unknown error occurred
  • too_many_requests (HTTP 429) - API calls quota exceeded

Get a Individual By Employee Number

Request
GET https://api.ninthbrain.com/Individual/GetByEmployeeNumber?employeeNumber={employeeNumber}
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Gender": "",
  "JobTitleId": 0,
  "JobTitle": "",
  "Department": "",
  "LocaleId": 0,
  "Locale": "",
  "WorkShift": "",
  "Supervisor": "",
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "WorkStatus": "",
  "Status": 30,
  "HireDate": "",
  "DateOfBirth": "",
  "PhoneNumbers": [
    {
      "PhoneId": 0,
      "PhoneType": "",
      "Number": "",
      "Country": ""
    }
  ],
  "Addresses": [
    {
      "AddressId": 0,
      "AddressType": "",
      "AddressLine1": "",
      "AddressLine2": "",
      "City": "",
      "State": "",
      "Country": "",
      "ZipCode": ""
    }
  ],
  "EmailAddresses": [
    {
      "EmailId": 0,
      "EmailType": "",
      "EmailAddress": "",
      "AlertFormat": 0
    }
  ]
}
Errors
  • not_found (HTTP 404) - individual does not exist
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • bad request (HTTP 400) - unknown error occurred

Check if an Individual Exists

Checks if an employee with the provided unique identifier exists and returns simple true or false.

Request
GET https://api.ninthbrain.com/Individual/Exists?uniqueIdentifier={uniqueIdentifier}
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
true
Errors
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • bad request (HTTP 400) - unknown error occurred
  • too_many_requests (HTTP 429) - API calls quota exceeded

Insert Individual

Request
POST https://api.ninthbrain.com/Individual/Insert
Request Body
{
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Password": "",
  "DateOfBirth": "2014-04-15T07:29:49.6656798-04:00",
  "Gender": "",
  "JobTitleId": 0,
  "DepartmentId": 0,
  "LocaleId": 0,
  "WorkShiftId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "SupervisorId": 0,
  "Status": 30,
  "HireDate": "2014-04-15T07:29:49.66968-04:00"
}
Example response
HTTP/1.1 201 Created
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Gender": "",
  "JobTitleId": 0,
  "JobTitle": "",
  "Department": "",
  "LocaleId": 0,
  "Locale": "",
  "WorkShift": "",
  "Supervisor": "",
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "WorkStatus": "",
  "Status": 30,
  "HireDate": "",
  "DateOfBirth": "",
  "PhoneNumbers": [
    {
      "PhoneId": 0,
      "PhoneType": "",
      "Number": "",
      "Country": ""
    }
  ],
  "Addresses": [
    {
      "AddressId": 0,
      "AddressType": "",
      "AddressLine1": "",
      "AddressLine2": "",
      "City": "",
      "State": "",
      "Country": "",
      "ZipCode": ""
    }
  ],
  "EmailAddresses": [
    {
      "EmailId": 0,
      "EmailType": "",
      "EmailAddress": "",
      "AlertFormat": 0
    }
  ]
}
Errors
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • not_modified (HTTP 304) - error occurred
  • bad request (HTTP 400) - unknown error occurred

Update Individual

Updates an indivdual in Ninth Brain. While you can construct the request from scratch, a more reliable workflow is to get the current indivdual using the ‘GetByEmployeeNumber’ endpoint, update as needed and then post to the Update endpoint. This is will ensure only the fields you expect change.

Request
POST https://api.ninthbrain.com/Individual/Update
Request Body
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Password": "",
  "DateOfBirth": "2014-04-15T07:29:49.6656798-04:00",
  "Gender": "",
  "JobTitleId": 0,
  "DepartmentId": 0,
  "LocaleId": 0,
  "WorkShiftId": 0,
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "SupervisorId": 0,
  "Status": 30,
  "HireDate": "2014-04-15T07:29:49.66968-04:00"
}
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1342521939
{
  "IndividualId": 0,
  "NBSId": 0,
  "FirstName": "",
  "MiddleName": "",
  "LastName": "",
  "EmployeeNumber": "",
  "UniqueNumber": "",
  "LogonId": "",
  "Gender": "",
  "JobTitleId": 0,
  "JobTitle": "",
  "Department": "",
  "LocaleId": 0,
  "Locale": "",
  "WorkShift": "",
  "Supervisor": "",
  "CompanyId": 0,
  "IsEmployee": 0,
  "WorkStatusId": 0,
  "WorkStatus": "",
  "Status": 30,
  "HireDate": "",
  "DateOfBirth": "",
  "PhoneNumbers": [
    {
      "PhoneId": 0,
      "PhoneType": "",
      "Number": "",
      "Country": ""
    }
  ],
  "Addresses": [
    {
      "AddressId": 0,
      "AddressType": "",
      "AddressLine1": "",
      "AddressLine2": "",
      "City": "",
      "State": "",
      "Country": "",
      "ZipCode": ""
    }
  ],
  "EmailAddresses": [
    {
      "EmailId": 0,
      "EmailType": "",
      "EmailAddress": "",
      "AlertFormat": 0
    }
  ]
}
Errors
  • unauthorized (HTTP 401) - invalid credentials (bearer token) supplied
  • not_modified (HTTP 304) - error occurred
  • bad request (HTTP 400) - unknown error occurred