The Employments data point can contain valuable information about your users' employment status. Employment data is most often retrieved from government services and institutions as well as payroll platforms connected by your user to Smile.

Smile returns employment information as-is from the platform, such as start and end dates, employer names, job titles, and other information. Access to verified data from government services and partnering this with information from payroll platforms can give you a definitive view of your user's employment status.

Employment data does not include jobs taken in gig platforms such as ride sharing apps and the like.

After the user connects an Account via Smile, Smile retrieves the user's Employment data from the Provider and makes it available for retrieval. You may listen for the appropiate events and webhooks (outlined below) in order to determine when their Employment data is ready.

Verifying Employment

Most platforms will contain at least a start date and employer name. If assessing employment status from social security accounts, you may match these against contributions made in order to verify the length of employment and current status.

Fallback Methods

If the sources provided by your user are not enough, you can also make use of Smile's Archive API to encourage the user to upload payslips or company IDs.

The Employment object

AttributeTypeDescription
idstringUnique ID of the employment information on the Smile Network
namestringWork performed, if available from the provider. Null if not available
descriptionstringDescription of the work performed, if available from the provider. Null if not available
jobTitlestringJob title or position with the employer, if available from the provider. Null if not available
departmentstringDepartment of the user with the employer, if available from the provider. Null if not available
employeeNumberstringEmployee number of the user with the employer, if available from the provider. Null if not available
employerstringCompany or business name of the employer, if available from the provider. Null if not available.
statusstringStatus of the user's employment, if available from the provider. Null if not available
startDatedateStart date of the user's employment with the employer, if available from the provider. Null if not available
endDatedateEnd date of the user's employment with the employer, if available from the provider. Null if not available
metadataobjectContains data about this employment data point. See object below

The Meta Data object

AttributeTypeDescription
createdAtdate-timeDate/time when the account record was created
itemCreatedAtdate-timeDate/time when the employment record was created
accountId DeprecatedstringID of the user's account in the Smile Network
sourceIdstringID of the user's account or archive in the Smile Network
sourceTypestringIndicates whether the source associated with this object is an account or archive. Possible values: ACCOUNT, UPLOAD, ARCHIVE
providerIdstringID of the data provider of the user's account
userIdstringID of the user on the Smile Network

Sample Employment data

{
    "id": "e-123abc456def789abc123def456abc78",
    "startDate": "2022-07-01",
    "name": "Security",
    "description": null,
    "jobTitle": "Security Guard",
    "department": null,
    "employeeNumber": "EMP-123456",
    "employer": "ABC Corporation",
    "status": "Permanent",
    "endDate": "2022-07-31",
    "metadata": {
        "createdAt": "2022-09-01T01:44:18Z",
        "itemCreatedAt": "2022-08-24T05:24:37Z",
        "sourceId": "a-123abc456def789abc123def456abc78",
        "sourceType": "ACCOUNT",
        "userId": "tenantId-123abc456def789abc123def456abc78",
        "providerId": "abccorp",
        "accountId": "a-123abc456def789abc123def456abc78"
    }
}

Endpoints

Endpoint
List all employmentsGET /employments
Retrieve one employmentGET /employments/{id}

Webhooks

EMPLOYMENTS_ADDED

Sent when employment data shared by a user is added from the provider.

{
  "id": "et-123abc456def789abc123def456abc78",
  "version": 1,
  "type": "EMPLOYMENTS_ADDED",
  "createdAt": "2021-04-14T09:30:24Z",
  "data": {
    "userId": "tenantId-123abc456def789abc123def456abc78",
    "accountId": "a-123abc456def789abc123def456abc78",
    "count": 0,
    "providers": [
      "abccorp"
    ]
  }
}

TASK_FINISHED

Sent when the full data sync task process for a user's account is finished.

{
  "id": "et-123abc456def789abc123def456abc78",
  "version": 1,
  "type": "TASK_FINISHED",
  "createdAt": "2021-04-14T09:30:24Z",
  "data": {
    "userId": "tenantId-123abc456def789abc123def456abc78",
    "sourceId": "a-123abc456def789abc123def456abc78",
    "sourceType": "ACCOUNT",
    "providers": [
      "abccorp"
    ],
    "datapoints": [
      "IDENTITIES",
      "EMPLOYMENTS"
    ]
  }
}