Back to top

Kamana V2 API

Getting Started

Authentication

The Kamana API requires a Bearer access token.

Getting a token

You will need to contact suppport to receive one.

Using your token

The token is used as a Bearer token, passed along in the Authorization header on each API request. The header should look like this, Authorization: Bearer <token>, where <token> is substituted with your token.

Versioning

Our API is versioned using the Accepts header. The header specifies the version in the following way, Accept: application/vnd.api.v2+json. Using a version that is not supported by this scheme, or does not exist, will result in an error.

Available API Versions

Currently available versions are:

  • application/vnd.api.v2+json

Requests

The API accepts JSON formatted data and requires the Accept: application/json header on any request sending data.

Related resources are not included by default. To hydrate related resources, please use the "include" parameter as it is described in the JSON:API spec. The related resources that can be include'd will be defined in the documentation for the endpoint.

Responses

All responses are returned in JSON format and adhere to the JSON:API specification.

Required Fields

All required fields will be documented in the Request section of the endpoint. You will find a Schema sub-section that defines the data types, and in the schema there will be a "required" key that lists any required fields. If there is no "required" key then there are no requirements.

Pagination

Basic Usage

We use cursor-based pagination for paginating results. A request with paginated results will return a cursor in the meta.cursor field. This cursor can then be sent as the after query parameter on the next request to get the next set, and the pagination will continue in this way until meta.cursor returns null, which indicates the end of the dataset.

Paginated Responses

The paginated response will look the same as any other list response, with the exception that there will be a meta.cursor field that points to the next page.

V2 Clients

This API allows CRUD operations on Clients.

List Clients

List Clients
GET/clients

Returns a list of clients linked to the account associated wth the current session. Results are sorted by name, ascending order.

Pagination

Pages are specified by page[number] and page[size] parameters. page[size] specifies how many items you want in each page. By default we return 50 items per page. The page[number] parameter specifies which “page” of page[size] to fetch.

For example, to get the first page of items where each page contains 10 items you might use:

page[size]=10 & page[number]=1

To get the second page:

page[size]=10 & page[number]=2

Example URI

GET https://www.kamana.app/api/clients
URI Parameters
HideShow
page[number]
number (optional) Default: 1 Example: 1

Desired page of clients

page[size]
number (optional) Default: 50 Example: 10

Number of clients to retrieve in each page

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "name": "The Client of Clients",
        "type": "custom",
        "updated_at": "2023-01-19T18:56:51"
      },
      "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
      "type": "client"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Show Client

Show Client
GET/clients/{client_id}

Returns a single client.

Example URI

GET https://www.kamana.app/api/clients/client_id
URI Parameters
HideShow
client_id
string (required) 

ID of the client

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "name": "The Client of Clients",
      "type": "custom",
      "updated_at": "2023-01-19T18:56:51"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Create Client

Create Client
POST/clients

Create a new client object.

Example URI

POST https://www.kamana.app/api/clients
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "account_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
  "name": "Some Name",
  "type": "msp",
  "facility_id": "efa4a661-3168-4482-85ea-ae63263c0766",
  "integrated_delivery_network_id": "efa4a661-3168-4482-85ea-ae63263c0766",
  "managed_service_provider_id": "efa4a661-3168-4482-85ea-ae63263c0766"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "msp",
        "idn",
        "facility",
        "custom",
        "custom"
      ]
    },
    "facility_id": {
      "type": "string"
    },
    "integrated_delivery_network_id": {
      "type": "string"
    },
    "managed_service_provider_id": {
      "type": "string"
    }
  },
  "required": [
    "account_id",
    "name",
    "type"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "do_not_hire?": false,
      "do_not_hire_user_id": null,
      "inserted_at": "2023-01-19T18:56:51",
      "primary_contact_id": "e50e53e1-ec70-499d-978f-2812efe20165",
      "profile_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
      "source": "Direct",
      "status": "interested",
      "status_changed_at": null,
      "status_reason": null,
      "sub_status": null,
      "updated_at": "2023-01-19T18:56:51"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Client Contacts

This API allows CRUD operations on ClientContacts.

List Clients

List Clients
GET/clients/{client_id}/contacts

Returns a list of clients linked to the account associated wth the current session. Results are sorted by name, ascending order.

Pagination

Pages are specified by page[number] and page[size] parameters. page[size] specifies how many items you want in each page. By default we return 50 items per page. The page[number] parameter specifies which “page” of page[size] to fetch.

For example, to get the first page of items where each page contains 10 items you might use:

page[size]=10 & page[number]=1

To get the second page:

page[size]=10 & page[number]=2

Example URI

GET https://www.kamana.app/api/clients/client_id/contacts
URI Parameters
HideShow
client_id
string (required) 

ID of the client

page[number]
number (optional) Default: 1 Example: 1

Desired page of clients

page[size]
number (optional) Default: 50 Example: 10

Number of clients to retrieve in each page

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "first_name": "Joe",
        "last_name": "Schmo",
        "email": "jschmo@email.org",
        "phone_number": "12345678900",
        "phone_number_extension": "123",
        "mobile_number": "15555555555",
        "notes": "Some notes"
      },
      "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
      "type": "client_contact"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Create ClientContact

Create ClientContact
POST/clients/{client_id}/contacts

Create a new client contact object.

Example URI

POST https://www.kamana.app/api/clients/client_id/contacts
URI Parameters
HideShow
client_id
string (required) 

ID of the client

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "first_name": "Joe",
  "last_name": "Schmo",
  "email": "jschmo@email.org",
  "phone_number": "12345678900",
  "phone_number_extension": "123",
  "mobile_number": "155555555555",
  "notes": "Some notes"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phone_number": {
      "type": "string"
    },
    "phone_number_extension": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "email",
    "phone_number"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "first_name": "Joe",
      "last_name": "Schmo",
      "email": "jschmo@email.org",
      "phone_number": "12345678900",
      "phone_number_extension": "123",
      "mobile_number": "15555555555",
      "notes": "Some notes"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client_contact"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Client Contact

Show ClientContact
GET/clients/{client_id}/contacts/{contact_id}

Returns a single client contact.

Example URI

GET https://www.kamana.app/api/clients/client_id/contacts/contact_id
URI Parameters
HideShow
client_id
string (required) 

ID of the client

contact_id
string (required) 

ID of the client contact

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "first_name": "Joe",
      "last_name": "Schmo",
      "email": "jschmo@email.org",
      "phone_number": "12345678900",
      "phone_number_extension": "123",
      "mobile_number": "15555555555",
      "notes": "Some notes"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client_contact"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Update ClientContact
PATCH/clients/{client_id}/contacts/{contact_id}

Updates a client contact object.

Example URI

PATCH https://www.kamana.app/api/clients/client_id/contacts/contact_id
URI Parameters
HideShow
client_id
string (required) 

ID of the client

contact_id
string (required) 

ID of the client contact

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "first_name": "Joe",
  "last_name": "Schmo",
  "email": "jschmo@email.org",
  "phone_number": "12345678900",
  "phone_number_extension": "123",
  "mobile_number": "155555555555",
  "notes": "Some notes"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phone_number": {
      "type": "string"
    },
    "phone_number_extension": {
      "type": "string"
    },
    "mobile_number": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "first_name": "Joe",
      "last_name": "Schmo",
      "email": "jschmo@email.org",
      "phone_number": "12345678900",
      "phone_number_extension": "123",
      "mobile_number": "15555555555",
      "notes": "Some notes"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client_contact"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Delete Client Contact
DELETE/clients/{client_id}/contacts/{contact_id}

Deletes a single client contact.

Example URI

DELETE https://www.kamana.app/api/clients/client_id/contacts/contact_id
URI Parameters
HideShow
client_id
string (required) 

ID of the client

contact_id
string (required) 

ID of the client contact

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "first_name": "Joe",
      "last_name": "Schmo",
      "email": "jschmo@email.org",
      "phone_number": "12345678900",
      "phone_number_extension": "123",
      "mobile_number": "15555555555",
      "notes": "Some notes"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "client_contact"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Account Relationships

This API allows users to create and update a Relationship between an Account and a Talent Profile.

Create an Account -> Profile Relationship

Create an Account -> Profile Relationship
POST/accounts/{account_id}/relationships

Create a new relationship object.

The body of the request must contain:

  • One of talent_profile_id or talent_profile_email

  • One of primary_contact_user_id or primary_contact_email

Example URI

POST https://www.kamana.app/api/accounts/account_id/relationships
URI Parameters
HideShow
account_id
string (required) 

ID of the account

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "talent_profile_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
  "talent_profile_email": "talent@some.com",
  "primary_contact_user_id": "e50e53e1-ec70-499d-978f-2812efe20165",
  "primary_contact_email": "contact@some.com"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "talent_profile_id": {
      "type": "string"
    },
    "talent_profile_email": {
      "type": "string"
    },
    "primary_contact_user_id": {
      "type": "string"
    },
    "primary_contact_email": {
      "type": "string"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "do_not_hire?": false,
      "do_not_hire_user_id": null,
      "inserted_at": "2023-01-19T18:56:51",
      "primary_contact_id": "e50e53e1-ec70-499d-978f-2812efe20165",
      "profile_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
      "source": "Direct",
      "status": "interested",
      "status_changed_at": null,
      "status_reason": null,
      "sub_status": null,
      "updated_at": "2023-01-19T18:56:51"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "relationship"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Update an Account -> Profile Relationship

Update an Account -> Profile Relationship
PATCH/accounts/{account_id}/relationships/{relationship_id}

Update an existing relationship object.

The body of the request can contain:

  • status fields:

    • status
      • one of:
        • interested
        • prospect
        • engaged
        • review
        • archived
    • sub_status (required if status is set)
    • status_reason (required if status is set)
  • do_not_hire status:

    • do_not_hire?
    • do_not_hire_user_id (required if do_not_hire? is set)
  • primary contact:

    • primary_contact_user_id OR
    • primary_contact_email

Example URI

PATCH https://www.kamana.app/api/accounts/account_id/relationships/relationship_id
URI Parameters
HideShow
account_id
string (required) 

ID of the account

relationship_id
string (required) 

ID of the relationship

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "talent_profile_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
  "talent_profile_email": "talent@some.com",
  "primary_contact_user_id": "e50e53e1-ec70-499d-978f-2812efe20165",
  "primary_contact_email": "contact@some.com"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "talent_profile_id": {
      "type": "string"
    },
    "talent_profile_email": {
      "type": "string"
    },
    "primary_contact_user_id": {
      "type": "string"
    },
    "primary_contact_email": {
      "type": "string"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "do_not_hire?": false,
      "do_not_hire_user_id": null,
      "inserted_at": "2023-01-19T18:56:51",
      "primary_contact_id": "e50e53e1-ec70-499d-978f-2812efe20165",
      "profile_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
      "source": "Direct",
      "status": "interested",
      "status_changed_at": null,
      "status_reason": null,
      "sub_status": null,
      "updated_at": "2023-01-19T18:56:51"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "relationship"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Engagements

This API allows users to view Engagements.

Engagements Collection

A Collection of engagement.

Single Engagement

Get Single Engagement
GET/engagements/{engagement_id}

Get a single engagement by id.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

Request
HideShow
Headers
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "client_contract_id": "5a9a37bf-53e0-4627-889f-15dbd6982651",
      "compensation_comments": "no comments",
      "contract_length": 20,
      "ends_on": "2023-10-27",
      "inserted_at": "2022-08-18T21:37:15",
      "job_requisition_id": "ac54a4d6-20aa-47e8-a625-fa5d7135eec3",
      "profile_id": "bb9cb832-d7b1-4ca3-b405-7fb3fb8dc535",
      "regular_hourly_rate": "140",
      "starts_on": "2022-08-19",
      "status": "qualifying",
      "sub_status": null,
      "travel_reimbursement": "7000",
      "updated_at": "2022-12-01T22:09:35",
      "weekly_gross_pay": "5000",
      "weekly_housing_stipend": "1000",
      "weekly_per_diem": "200"
    },
    "id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
    "type": "engagement"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Update an Engagement
PUT/engagements/{engagement_id}

Update an engagement.

NOTE

The client_contract_id can only be updated if there is not one currently set (ie, the current value is null). Attempting to update it when it is already set will return an error.

Example URI

PUT https://www.kamana.app/api/engagements/engagement_id
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

Request
HideShow
{
  "client_contract_id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
  "compensation_comments": "Last day of the month",
  "contract_length": 10,
  "ends_on": "2023-01-01",
  "hours_per_week": 32,
  "regular_hourly_rate": "110",
  "shift_end_time": 15,
  "shift_start_time": 9,
  "starts_on": "2023-010-01",
  "travel_reimbursement": "1000",
  "weekly_gross_pay": "2500",
  "weekly_housing_stipend": "500",
  "weekly_per_diem": "400"
}
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "client_contract_id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
  "compensation_comments": "Paid on the first of the month",
  "contract_length": 1,
  "ends_on": "2023-08-01",
  "hours_per_week": 1,
  "regular_hourly_rate": 121,
  "shift_end_time": 16,
  "shift_start_time": 8,
  "starts_on": "2023-01-22",
  "travel_reimbursement": "7707",
  "weekly_gross_pay": "5000",
  "weekly_housing_stipend": "222",
  "weekly_per_diem": "200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "client_contract_id": {
      "type": "string"
    },
    "compensation_comments": {
      "type": "string"
    },
    "contract_length": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        },
        {
          "type": "string",
          "enum": [
            "20"
          ]
        }
      ]
    },
    "ends_on": {
      "type": "string"
    },
    "hours_per_week": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            8,
            12,
            16,
            24,
            32,
            36,
            40,
            48,
            56,
            58,
            60
          ]
        },
        {
          "type": "string",
          "enum": [
            "32"
          ]
        }
      ]
    },
    "regular_hourly_rate": {
      "type": "number"
    },
    "shift_end_time": {
      "type": "number"
    },
    "shift_start_time": {
      "type": "number"
    },
    "starts_on": {
      "type": "string"
    },
    "travel_reimbursement": {
      "type": "string"
    },
    "weekly_gross_pay": {
      "type": "string"
    },
    "weekly_housing_stipend": {
      "type": "string"
    },
    "weekly_per_diem": {
      "type": "string"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "client_contract_id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
      "profile_id": "bb9cb832-d7b1-4ca3-b405-7fb3fb8dc535",
      "compensation_comments": "Last day of the month",
      "contract_length": 10,
      "ends_on": "2023-01-01",
      "hours_per_week": 32,
      "regular_hourly_rate": "110",
      "shift_end_time": 15,
      "shift_start_time": 9,
      "starts_on": "2023-010-01",
      "travel_reimbursement": "1000",
      "weekly_gross_pay": "2500",
      "weekly_housing_stipend": "500",
      "weekly_per_diem": "400",
      "status": "qualifying",
      "sub_status": null,
      "inserted_at": "2022-08-18T21:37:15",
      "updated_at": "2022-12-03T22:09:35"
    },
    "id": "208472a7-72a6-44ed-94bc-fd3eb75ed4ea",
    "type": "engagement"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Engagement Extensions

This API allows users to create and read Engagement Extensions.

Engagement Extensions Collection

A Collection of Engagement Extensions.

List All Engagement Extensions
GET/engagements/{engagement_id}/extensions

Retrieves all Engagement Extensions.

Example URI

GET https://www.kamana.app/api/engagements/ed1e5081-62bc-4dff-9242-c202aad015ad/extensions
URI Parameters
HideShow
engagement_id
string (required) Example: ed1e5081-62bc-4dff-9242-c202aad015ad

The ID of the engagment that has the extension.

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "ends_on": "2022-12-31",
        "engagement_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
        "inserted_at": "2022-11-29T18:57:03",
        "starts_on": "2022-11-29",
        "updated_at": "2022-11-29T18:57:03"
      },
      "id": "18853e84-7241-4288-a598-664faea60fee",
      "type": "engagement_extension"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Single Engagement Extension

Get Single EngagementExtension
GET/engagements/{engagement_id}/extensions/{id}

Get a single Engagement Extension by id.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id/extensions/id
URI Parameters
HideShow
engagement_id
string (required) 

The ID of the engagment that has the extension.

id
string (required) 

ID of the Engagement Extension

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "ends_on": "2022-12-31",
      "engagement_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
      "inserted_at": "2022-11-29T18:57:03",
      "starts_on": "2022-11-29",
      "updated_at": "2022-11-29T18:57:03"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "engagement_extension"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Create an Engagement Extension
POST/engagements/{engagement_id}/extensions

Create a new engagement extension.

Example URI

POST https://www.kamana.app/api/engagements/engagement_id/extensions
URI Parameters
HideShow
engagement_id
string (required) 

The ID of the engagment that has the extension.

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "ends_on": "2022-12-31",
  "starts_on": "2022-11-29"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ends_on": {
      "type": "string"
    },
    "starts_on": {
      "type": "string"
    }
  },
  "required": [
    "ends_on",
    "starts_on"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "ends_on": "2022-12-31",
      "engagement_id": "ed1e5081-62bc-4dff-9242-c202aad015ad",
      "inserted_at": "2022-08-18T21:48:28",
      "starts_on": "2022-11-29",
      "updated_at": "2022-08-18T21:48:28"
    },
    "id": "070215f4-1e03-4c59-9034-88fdc41fd445",
    "type": "engagement_extension"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Engagement Notes

This API allows users to view Engagement Notes.

Engagement Notes Collection

A Collection of engagement notes.

List All Engagement Notes
GET/engagements/{engagement_id}/notes?{include}

Retrieves all engagement notes for an engagement.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id/notes?creator
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

include
array (optional) Example: creator

A string of comma-seperated values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "content": "Hello notes 1",
        "creator_id": "065c5f7a-7fe4-410c-b4be-0c7de000d8bf",
        "inserted_at": "2022-10-24T22:10:40",
        "type": "note",
        "updated_at": "2022-10-24T22:10:40"
      },
      "id": "ff6f2dba-d643-4f40-a212-1e62e7426691",
      "type": "engagement_note"
    },
    {
      "attributes": {
        "content": "call note",
        "creator_id": "065c5f7a-7fe4-410c-b4be-0c7de000d8bf",
        "inserted_at": "2022-10-25T23:01:37",
        "type": "call",
        "updated_at": "2022-10-25T23:01:37"
      },
      "id": "e17d8128-3164-46b6-ad9a-c7f4d56d8c96",
      "type": "engagement_note"
    },
    {
      "attributes": {
        "content": "SMS note",
        "creator_id": "065c5f7a-7fe4-410c-b4be-0c7de000d8bf",
        "inserted_at": "2022-10-25T23:02:46",
        "type": "sms",
        "updated_at": "2022-10-25T23:02:46"
      },
      "id": "cf6ccfdb-c82e-4a85-ad43-2287f90bf901",
      "type": "engagement_note"
    },
    {
      "attributes": {
        "content": "email note",
        "creator_id": "065c5f7a-7fe4-410c-b4be-0c7de000d8bf",
        "inserted_at": "2022-10-25T23:02:55",
        "type": "email",
        "updated_at": "2022-10-25T23:02:55"
      },
      "id": "085c8d7a-51c4-46ec-9b07-15a8ff9e6ac7",
      "type": "engagement_note"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Single Engagement Note

Get Single Engagement Note
GET/engagements/{engagement_id}/notes/{note_id,include}

Get a single engagement note by id for an engagement.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id/notes/note_id&creator
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

note_id
string (required) 

ID of the engagement note

include
array (optional) Example: creator

A string of comma-seperated values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "content": "Hello notes 1",
      "creator_id": "dcfeabff-6f0a-4c2e-acd1-3bc6c03bcf49",
      "inserted_at": "2022-10-25T23:15:13",
      "type": "note",
      "updated_at": "2022-10-25T23:15:13"
    },
    "id": "0a430b9d-0c1b-452a-8141-18715cdb72d0",
    "type": "engagement_note"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Engagement Requirements

This API allows users to view Engagement Requirements.

Engagement Requirements Collection

A Collection of engagement requirements.

List All Engagement Requirements
GET/engagements/{engagement_id}/requirements

Retrieves all engagement requirements for an engagement.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id/requirements
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "assignee_id": "10279153-b3d8-4a01-9a48-516ae6b4991c",
        "comments": null,
        "dismissed_at": "2022-10-24T22:02:38Z",
        "dismisser_id": "10279153-b3d8-4a01-9a48-516ae6b4991c",
        "due_date": "2022-11-16",
        "engagement_id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
        "expires_on": "2027-01-19",
        "expires_on_time_zone": "America/New_York",
        "months_valid": null,
        "name": "AFN-BC - Advanced Forensic Nursing Certification",
        "status": "verified",
        "verified_at": "2022-10-24T22:03:43Z",
        "verifier_id": "10279153-b3d8-4a01-9a48-516ae6b4991c"
      },
      "id": "f6e47262-a6e2-4ca3-afea-2372c48fc9d1",
      "type": "engagement_requirement"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Single Engagement Requirement

Get Single Engagement Requirement
GET/engagements/{engagement_id}/requirements/{engagement_requirement_id}

Get a single engagement requirement by id for an engagement.

Example URI

GET https://www.kamana.app/api/engagements/engagement_id/requirements/engagement_requirement_id
URI Parameters
HideShow
engagement_id
string (required) 

ID of the engagement

engagement_requirement_id
string (required) 

ID of the engagement requirement

Request
HideShow
Headers
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "assignee_id": "10279153-b3d8-4a01-9a48-516ae6b4991c",
      "comments": null,
      "dismissed_at": "2022-10-24T22:02:38Z",
      "dismisser_id": "10279153-b3d8-4a01-9a48-516ae6b4991c",
      "due_date": "2022-11-16",
      "engagement_id": "ffaa4029-4f7d-44e6-9805-d7feb9fe59a2",
      "expires_on": "2027-01-19",
      "expires_on_time_zone": "America/New_York",
      "months_valid": null,
      "name": "AFN-BC - Advanced Forensic Nursing Certification",
      "status": "verified",
      "verified_at": "2022-10-24T22:03:43Z",
      "verifier_id": "10279153-b3d8-4a01-9a48-516ae6b4991c"
    },
    "id": "f6e47262-a6e2-4ca3-afea-2372c48fc9d1",
    "type": "engagement_requirement"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Facilities

This API allows users to view Facilities.

Facilities Collection

A Collection of facilities.

List All Facilities
GET/facilities{include}

Retrieves all facilities.

NOTE: The presence of a value for the static_id field indicates that the facility was created in “linked mode”. Its absence indicates that the facility was created in “custom mode”. Note that this ID is static and does not change across the system. It is guaranteed that two facilities created in separate accounts with the same static_id are linked to the same dataset.

Example URI

GET https://www.kamana.app/api/facilitiesprovince
URI Parameters
HideShow
include
string (optional) Example: province

A String of values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "city": "Orlando",
        "inserted_at": "2022-01-06T20:43:38",
        "name": "Orlando Health Arnold Palmer Hospital for Children",
        "postal_code": "32806",
        "province_id": "143d345f-639f-4d5e-a3b3-36f76e697963",
        "static_id": "61a2b9db-bed2-4dbb-a508-5b296ae658ab",
        "street": "92 W Miller St",
        "time_zone": "America/New_York",
        "updated_at": "2022-01-06T20:43:38"
      },
      "id": "18853e84-7241-4288-a598-664faea60fee",
      "relationships": {
        "province": {
          "data": {
            "id": "143d345f-639f-4d5e-a3b3-36f76e697963",
            "type": "province"
          }
        }
      },
      "type": "facility"
    }
  ],
  "included": [
    {
      "attributes": {
        "abbreviation": "FL",
        "inserted_at": "2022-01-06T20:29:13",
        "name": "Florida",
        "updated_at": "2022-01-06T20:29:13"
      },
      "id": "143d345f-639f-4d5e-a3b3-36f76e697963",
      "type": "province"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Create a Facility
POST/facilities

Create a new facility object.

Example URI

POST https://www.kamana.app/api/facilities
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "name": "Queens Medical Center",
  "street": "1301 Punchbowl Street",
  "city": "Honolulu",
  "postal_code": "96813",
  "province_id": "4eb97dba-a87d-460b-8039-0d6083adb5d7"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "street": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "postal_code": {
      "type": "string"
    },
    "province_id": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "street",
    "city",
    "postal_code",
    "province_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "city": "Honolulu",
      "inserted_at": "2022-10-05T19:49:44",
      "name": "Queens Medical Center",
      "postal_code": "96813",
      "province_id": "4eb97dba-a87d-460b-8039-0d6083adb5d7",
      "static_id": null,
      "street": "1301 Punchbowl Street",
      "time_zone": null,
      "updated_at": "2022-10-05T19:49:44"
    },
    "id": "39138898-f8c2-4d2a-83ef-caf4669fcdc5",
    "type": "facility"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Single Facility

Get Single Facility
GET/facilities/{facility_id,include}

Get a facility by id.

Example URI

GET https://www.kamana.app/api/facilities/facility_id&province,contracts
URI Parameters
HideShow
facility_id
string (required) 

ID of the facility

include
array (optional) Example: province,contracts

A string of comma-seperated values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "city": "Orlando",
      "inserted_at": "2022-01-06T20:43:38",
      "name": "Orlando Health Arnold Palmer Hospital for Children",
      "postal_code": "32806",
      "province_id": "143d345f-639f-4d5e-a3b3-36f76e697963",
      "static_id": "61a2b9db-bed2-4dbb-a508-5b296ae658ab",
      "street": "92 W Miller St",
      "time_zone": "America/New_York",
      "updated_at": "2022-01-06T20:43:38"
    },
    "id": "18853e84-7241-4288-a598-664faea60fee",
    "type": "facility"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Update a Facility
PUT/facilities/{facility_id,include}

Update a facility.

Example URI

PUT https://www.kamana.app/api/facilities/facility_id&province, contracts
URI Parameters
HideShow
facility_id
string (required) 

ID of the facility

include
string (optional) Example: province, contracts

A String of values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
{
    "name": "The Queen's Neuroscience Institute"
  }
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "name": "Queens Medical Center",
  "street": "1301 Punchbowl Street",
  "city": "Honolulu",
  "postal_code": "96810",
  "province_id": "4eb97dba-a87d-460b-8039-0d6083adb5d7",
  "time_zone": "Pacific/Honolulu"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "street": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "postal_code": {
      "type": "string"
    },
    "province_id": {
      "type": "string"
    },
    "time_zone": {
      "type": "string"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "city": "Honolulu",
      "inserted_at": "2022-10-18T18:20:50",
      "name": "The Queen's Neuroscience Institute",
      "postal_code": "96810",
      "province_id": "4eb97dba-a87d-460b-8039-0d6083adb5d7",
      "static_id": null,
      "street": "1301 Punchbowl Street",
      "time_zone": "Pacific/Honolulu",
      "updated_at": "2022-10-25T22:39:08"
    },
    "id": "208472a7-72a6-44ed-94bc-fd3eb75ed4ea",
    "type": "facility"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Delete a Facility
DELETE/facilities/{facility_id}

Delete a facility.

Delete is only possible for a non-linked facility. In other words, only a facility with "static_id": null can be deleted through the API.

Example URI

DELETE https://www.kamana.app/api/facilities/facility_id
URI Parameters
HideShow
facility_id
string (required) 

ID of the facility

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "city": "Orlando",
      "inserted_at": "2022-01-06T20:43:38",
      "name": "Orlando Health Arnold Palmer Hospital for Children",
      "postal_code": "32806",
      "province_id": "143d345f-639f-4d5e-a3b3-36f76e697963",
      "static_id": null,
      "street": "92 W Miller St",
      "time_zone": "America/New_York",
      "updated_at": "2022-01-06T20:43:38"
    },
    "id": "18853e84-7241-4288-a598-664faea60fee",
    "type": "facility"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Job Requisitions

This API allows users to view and update Job Requisitions.

Job Requisitions Collection

A Collection of job requisitions.

List All Job Requisitions
GET/job_requisitions?{profession_id,specialty_id,province_id,facility_id,status,search,after,include}

Retrieves all job requisitions.

Example URI

GET https://www.kamana.app/api/job_requisitions?profession_id&specialty_id&province_id&facility_id&status&search&after&creator,facility.province
URI Parameters
HideShow
profession_id
string (optional) 

Filters by the id of the associated profession.

specialty_id
string (optional) 

Filters by the id of the associated specialty.

province_id
string (optional) 

Filters by the id of the associated province.

facility_id
string (optional) 

Filters by the id of the associated facility.

status
string (optional) 

Filters by the job requisition’s status.

Choices: open closed on_hold historical

search
string (optional) 

Search string.

after
string (optional) 

The value of meta.cursor when paginating results. A value of null in meta.cursor means there are no more results.

include
array (optional) Example: creator,facility.province

A string of comma-seperated values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "asap": false,
        "client_contract_id": null,
        "compact_license": false,
        "compensation_comments": null,
        "contract_length": 20,
        "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
        "description": null,
        "facility_id": "54f64447-e58b-4b03-b5f2-cf6c0a1e22a3",
        "has_pay_package": true,
        "hours_per_week": 40,
        "inserted_at": "2022-05-11T21:28:36",
        "job_type": "Travel Contract",
        "name": "Testing API",
        "number_of_openings": 1,
        "origin": "bazS",
        "origin_reference_number": "AdaZda",
        "profession_id": "6bc9e7e8-b42f-45e9-bebf-57ecc51080c7",
        "reference_number": "aoUfhNE0",
        "regular_hourly_rate": null,
        "shift_end_time": 16,
        "shift_start_time": 8,
        "specialty_id": "25c29f51-cd68-4550-8eb6-8884b1c9bf33",
        "starts_on": "2022-04-30",
        "status": "open",
        "travel_reimbursement": null,
        "updated_at": "2022-05-11T21:34:08",
        "weekly_gross_pay": null,
        "weekly_housing_stipend": null,
        "weekly_per_diem": null,
        "years_of_experience": 1,
        "shift_description": "A description of the shift that the travel nurse will work",
        "source_reference_number": "niuwebu37-ewf8hcj-3082nbd-oiu3-338fhhf2537"
      },
      "id": "0099393c-8351-457c-afb8-6c94051d7288",
      "type": "job_requisition"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  },
  "meta": {
    "cursor": null
  }
}

Create a Job Requisition
POST/job_requisitions

Create a new job requisition object.

Contact our support team to get your unique source value to use when creating job requisitions.

Example URI

POST https://www.kamana.app/api/job_requisitions
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "name": "Registered Nurse",
  "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
  "profession_id": "22ef4e4e-183d-4250-afd9-8f30577af20e",
  "specialty_id": "84df227c-3e7e-4659-a565-265ce35650c6",
  "facility_id": "b7465309-cfe0-4a75-b5cb-fc95571b9217",
  "client_contract_id": "85e7f173-3e3a-456d-b898-1caa79539ec4",
  "job_type": "Full Time",
  "number_of_openings": 6,
  "years_of_experience": 1,
  "origin": "Aya Connect",
  "origin_reference_number": "7BAr7QEn1muhDg1f",
  "source_reference_number": "a07221a1-b699-4444-96cc-ad1ec8847af9",
  "status": "open",
  "description": "Click \"I'm Interested\" for more information. A recruiter will be in touch with additional information about this job. Reference Job D53XWY3.",
  "source": "your_source",
  "contract_length": 1,
  "hours_per_week": 1,
  "starts_on": "2022-11-23",
  "asap": false,
  "shift_start_time": 1,
  "shift_end_time": 1,
  "shift_description": "Working in the morning",
  "weekly_gross_pay": 3885.13,
  "regular_hourly_rate": 80,
  "weekly_housing_stipend": 700,
  "weekly_per_diem": 1,
  "travel_reimbursement": 0,
  "compensation_comments": "an estimated pay package for job number D53XWY3. Individual healthcare professional requirements such as travel may impact final pay package amounts."
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "creator_id": {
      "type": "string"
    },
    "profession_id": {
      "type": "string"
    },
    "specialty_id": {
      "type": "string"
    },
    "facility_id": {
      "type": "string"
    },
    "client_contract_id": {
      "type": "string"
    },
    "job_type": {
      "type": "string",
      "enum": [
        "Full Time",
        "Part Time",
        "Travel Contract",
        "Per Diem"
      ]
    },
    "number_of_openings": {
      "type": "number"
    },
    "origin": {
      "type": "string"
    },
    "origin_reference_number": {
      "type": "string"
    },
    "source_reference_number": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "closed",
        "on_hold",
        "historical",
        "open"
      ]
    },
    "description": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "contract_length": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        },
        {
          "type": "string",
          "enum": [
            "20"
          ]
        }
      ]
    },
    "hours_per_week": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            8,
            12,
            16,
            24,
            32,
            36,
            40,
            48,
            56,
            58,
            60
          ]
        },
        {
          "type": "string",
          "enum": [
            "16"
          ]
        }
      ]
    },
    "starts_on": {
      "type": "string"
    },
    "asap": {
      "type": "boolean"
    },
    "shift_start_time": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23
          ]
        },
        {
          "type": "string",
          "enum": [
            "8"
          ]
        }
      ]
    },
    "shift_end_time": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23
          ]
        },
        {
          "type": "string",
          "enum": [
            "18"
          ]
        }
      ]
    },
    "shift_description": {
      "type": "string"
    },
    "weekly_gross_pay": {
      "type": "number"
    },
    "regular_hourly_rate": {
      "type": "number"
    },
    "weekly_housing_stipend": {
      "type": "number"
    },
    "weekly_per_diem": {
      "type": "number"
    },
    "travel_reimbursement": {
      "type": "number"
    },
    "compensation_comments": {
      "type": "string"
    },
    "years_of_experience": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "profession_id",
    "specialty_id",
    "facility_id",
    "job_type",
    "number_of_openings",
    "years_of_experience"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "asap": false,
      "client_contract_id": null,
      "compact_license": false,
      "compensation_comments": null,
      "contract_length": 20,
      "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
      "description": null,
      "facility_id": "54f64447-e58b-4b03-b5f2-cf6c0a1e22a3",
      "has_pay_package": true,
      "hours_per_week": 40,
      "inserted_at": "2022-05-11T21:28:36",
      "job_type": "Travel Contract",
      "name": "Testing API",
      "number_of_openings": 1,
      "origin": "bazS",
      "origin_reference_number": "AdaZda",
      "profession_id": "6bc9e7e8-b42f-45e9-bebf-57ecc51080c7",
      "reference_number": "aoUfhNE0",
      "regular_hourly_rate": null,
      "shift_end_time": 16,
      "shift_start_time": 8,
      "specialty_id": "25c29f51-cd68-4550-8eb6-8884b1c9bf33",
      "starts_on": "2022-04-30",
      "status": "open",
      "travel_reimbursement": null,
      "updated_at": "2022-05-11T21:34:08",
      "weekly_gross_pay": null,
      "weekly_housing_stipend": null,
      "weekly_per_diem": null,
      "years_of_experience": 1,
      "shift_description": "A description of the shift that the travel nurse will work",
      "source_reference_number": "niuwebu37-ewf8hcj-3082nbd-oiu3-338fhhf2537"
    },
    "id": "0099393c-8351-457c-afb8-6c94051d7288",
    "type": "job_requisition"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Single Job Requisition

Get Single Job Requisitions
GET/job_requisitions/{job_requisition_id,include}

Get a single job requisition by id.

Example URI

GET https://www.kamana.app/api/job_requisitions/job_requisition_id&creator,facility.province
URI Parameters
HideShow
job_requisition_id
string (required) 

ID of the job requisition

include
array (optional) Example: creator,facility.province

A string of comma-seperated values for associations to include in the response. Nested associations are denoted with a ..

Request
HideShow
Headers
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "asap": false,
      "client_contract_id": null,
      "compact_license": false,
      "compensation_comments": null,
      "contract_length": 20,
      "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
      "description": null,
      "facility_id": "54f64447-e58b-4b03-b5f2-cf6c0a1e22a3",
      "has_pay_package": true,
      "hours_per_week": 40,
      "inserted_at": "2022-05-11T21:28:36",
      "job_type": "Travel Contract",
      "name": "Testing API",
      "number_of_openings": 1,
      "origin": "bazS",
      "origin_reference_number": "AdaZda",
      "profession_id": "6bc9e7e8-b42f-45e9-bebf-57ecc51080c7",
      "reference_number": "aoUfhNE0",
      "regular_hourly_rate": null,
      "shift_end_time": 16,
      "shift_start_time": 8,
      "specialty_id": "25c29f51-cd68-4550-8eb6-8884b1c9bf33",
      "starts_on": "2022-04-30",
      "status": "open",
      "travel_reimbursement": null,
      "updated_at": "2022-05-11T21:34:08",
      "weekly_gross_pay": null,
      "weekly_housing_stipend": null,
      "weekly_per_diem": null,
      "years_of_experience": 1,
      "shift_description": "A description of the shift that the travel nurse will work",
      "source_reference_number": "niuwebu37-ewf8hcj-3082nbd-oiu3-338fhhf2537"
    },
    "id": "0099393c-8351-457c-afb8-6c94051d7288",
    "type": "job_requisition"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

Update a Job Requisitions
PUT/job_requisitions/{job_requisition_id}

Update a job requisition.

Example URI

PUT https://www.kamana.app/api/job_requisitions/job_requisition_id
URI Parameters
HideShow
job_requisition_id
string (required) 

ID of the job requisition

Request
HideShow
{
    "contract-length": 20
  }
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "name": "Registered Nurse",
  "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
  "profession_id": "22ef4e4e-183d-4250-afd9-8f30577af20e",
  "specialty_id": "84df227c-3e7e-4659-a565-265ce35650c6",
  "facility_id": "b7465309-cfe0-4a75-b5cb-fc95571b9217",
  "client_contract_id": "85e7f173-3e3a-456d-b898-1caa79539ec4",
  "job_type": "Full Time",
  "number_of_openings": 6,
  "years_of_experience": 1,
  "origin": "Aya Connect",
  "origin_reference_number": "7BAr7QEn1muhDg1f",
  "source_reference_number": "a07221a1-b699-4444-96cc-ad1ec8847af9",
  "status": "open",
  "description": "Click \"I'm Interested\" for more information. A recruiter will be in touch with additional information about this job. Reference Job D53XWY3.",
  "source": "your_source",
  "contract_length": 1,
  "hours_per_week": 1,
  "starts_on": "2022-11-23",
  "asap": false,
  "shift_start_time": 1,
  "shift_end_time": 1,
  "shift_description": "Working in the morning",
  "weekly_gross_pay": 3885.13,
  "regular_hourly_rate": 80,
  "weekly_housing_stipend": 700,
  "weekly_per_diem": 1,
  "travel_reimbursement": 0,
  "compensation_comments": "an estimated pay package for job number D53XWY3. Individual healthcare professional requirements such as travel may impact final pay package amounts."
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "creator_id": {
      "type": "string"
    },
    "profession_id": {
      "type": "string"
    },
    "specialty_id": {
      "type": "string"
    },
    "facility_id": {
      "type": "string"
    },
    "client_contract_id": {
      "type": "string"
    },
    "job_type": {
      "type": "string",
      "enum": [
        "Full Time",
        "Part Time",
        "Travel Contract",
        "Per Diem"
      ]
    },
    "number_of_openings": {
      "type": "number"
    },
    "origin": {
      "type": "string"
    },
    "origin_reference_number": {
      "type": "string"
    },
    "source_reference_number": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "closed",
        "on_hold",
        "historical",
        "open"
      ]
    },
    "description": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "contract_length": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26
          ]
        },
        {
          "type": "string",
          "enum": [
            "20"
          ]
        }
      ]
    },
    "hours_per_week": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            8,
            12,
            16,
            24,
            32,
            36,
            40,
            48,
            56,
            58,
            60
          ]
        },
        {
          "type": "string",
          "enum": [
            "16"
          ]
        }
      ]
    },
    "starts_on": {
      "type": "string"
    },
    "asap": {
      "type": "boolean"
    },
    "shift_start_time": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23
          ]
        },
        {
          "type": "string",
          "enum": [
            "8"
          ]
        }
      ]
    },
    "shift_end_time": {
      "anyOf": [
        {
          "type": "number",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23
          ]
        },
        {
          "type": "string",
          "enum": [
            "18"
          ]
        }
      ]
    },
    "shift_description": {
      "type": "string"
    },
    "weekly_gross_pay": {
      "type": "number"
    },
    "regular_hourly_rate": {
      "type": "number"
    },
    "weekly_housing_stipend": {
      "type": "number"
    },
    "weekly_per_diem": {
      "type": "number"
    },
    "travel_reimbursement": {
      "type": "number"
    },
    "compensation_comments": {
      "type": "string"
    },
    "years_of_experience": {
      "type": "number"
    }
  },
  "required": [
    "job_type",
    "number_of_openings",
    "years_of_experience"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "asap": false,
      "client_contract_id": null,
      "compact_license": false,
      "compensation_comments": null,
      "contract_length": 20,
      "creator_id": "e3a8d5da-9af9-41e7-a6fe-91eac780b5ac",
      "description": null,
      "facility_id": "54f64447-e58b-4b03-b5f2-cf6c0a1e22a3",
      "has_pay_package": true,
      "hours_per_week": 40,
      "inserted_at": "2022-05-11T21:28:36",
      "job_type": "Travel Contract",
      "name": "Testing API",
      "number_of_openings": 1,
      "origin": "bazS",
      "origin_reference_number": "AdaZda",
      "profession_id": "6bc9e7e8-b42f-45e9-bebf-57ecc51080c7",
      "reference_number": "aoUfhNE0",
      "regular_hourly_rate": null,
      "shift_end_time": 16,
      "shift_start_time": 8,
      "specialty_id": "25c29f51-cd68-4550-8eb6-8884b1c9bf33",
      "starts_on": "2022-04-30",
      "status": "open",
      "travel_reimbursement": null,
      "updated_at": "2022-05-11T21:34:08",
      "weekly_gross_pay": null,
      "weekly_housing_stipend": null,
      "weekly_per_diem": null,
      "years_of_experience": 1,
      "shift_description": "A description of the shift that the travel nurse will work",
      "source_reference_number": "niuwebu37-ewf8hcj-3082nbd-oiu3-338fhhf2537"
    },
    "id": "0099393c-8351-457c-afb8-6c94051d7288",
    "type": "job_requisition"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Professions

This API allows users to view Professions.

Professions Collection

A Collection of Professions.

List All Professions
GET/professions

Retrieves all professions.

Example URI

GET https://www.kamana.app/api/professions
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Physical Therapist Assistant",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "ddee21f5-d660-4634-a0cc-5f7d8252767c",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Occupational Therapist Assistant",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "0fe28a8a-8fc0-4134-ae36-31f0d1794124",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Speech Language Pathologist",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "47af176d-9d06-4137-a0ee-19840e8e4ec3",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Pharmacist",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "bc678724-7ee2-4f11-8fda-3948ae8ce50e",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Nurse Practitioner",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "e5ec1258-5c81-41af-b6a0-e037d414c648",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Occupational Therapist",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "8ef527a5-6229-4927-94a0-1fb256205b39",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "LPN/VN",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "2378855a-9fa7-4abb-a2f7-31e619db912c",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Physical Therapist",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "30c9193a-f30f-4079-96fc-716ecd7922bb",
      "type": "profession"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:46:54",
        "name": "Registered Nurse",
        "updated_at": "2022-07-11T14:46:54"
      },
      "id": "d55e6766-86f4-401a-a455-eac3d1e3dfbe",
      "type": "profession"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Profiles

This API allows users to view Profiles.

Profiles Collection

A Collection of Talents.

Show Talent
GET/talents/{profile_id}

Retrieves a talent by its profile_id.

Example URI

GET https://www.kamana.app/api/talents/profile_id
URI Parameters
HideShow
profile_id
string (required) 

ID of the talent

Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "claimed": true,
      "first_name": "George",
      "inserted_at": "2022-12-19T21:32:09",
      "notification_preference": "email-always",
      "updated_at": "2022-12-19T21:32:09"
    },
    "id": "950fae12-51ec-40fe-8b2e-911282859833",
    "relationships": {
      "opportunity_preferences": {
        "data": [
          {
            "id": "6e0398c5-f72a-41de-a3b9-0c9498389e3f",
            "type": "opportunity_preference"
          }
        ]
      },
      "profession": {
        "data": {
          "id": "a25dfcec-a7d7-4e80-beb3-cfc0a80c2a9d",
          "type": "profession"
        }
      },
      "primary_specialty": {
        "data": {
          "id": "829bec10-b63d-4b9b-bf12-b35e8e853074",
          "type": "specialty"
        }
      }
    },
    "type": "profile"
  },
  "included": [
    {
      "attributes": {
        "available_on": "2022-12-22",
        "inserted_at": "2022-12-19T21:32:09",
        "updated_at": "2022-12-19T21:32:09"
      },
      "id": "6e0398c5-f72a-41de-a3b9-0c9498389e3f",
      "type": "opportunity_preference"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Create a Profile
POST/profiles

Create a new talent profile.

Example URI

POST https://www.kamana.app/api/profiles
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Body
{
  "claimed?": true,
  "email": "gj@jetson.test",
  "first_name": "George",
  "gender": "Male",
  "last_name": "Jetson",
  "no_middle_name": false,
  "notification_preference": "email-always",
  "opportunity_preferences": [
    {
      "available_on": "2024-01-11",
      "desired_contract_length": 13,
      "hours_per_week": 32,
      "minimum_weekly_gross_pay": "1200.00",
      "name": "First Preferences",
      "shift_days": true,
      "shift_mids": true,
      "shift_nights": false
    }
  ],
  "percent_complete": 0,
  "phone_number": "555-555-5555",
  "primary_contact_email": "abc-user-6@example.test",
  "primary_specialty_id": "12c576df-301f-48f6-8b05-4b4d9a87827e",
  "profession_id": "964ca49c-35c7-4c77-9acd-2db648dde8dd",
  "source": "direct",
  "user_id": "ce4b5987-3e8b-49b0-ae72-ed28613860c4",
  "years_of_experience": 2
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "attributes": {
      "claimed": true,
      "first_name": "George",
      "inserted_at": "2022-12-19T21:32:09",
      "notification_preference": "email-always",
      "updated_at": "2022-12-19T21:32:09"
    },
    "id": "2dc00975-7549-43dc-90d7-252f786aba49",
    "type": "profile"
  },
  "jsonapi": {
    "version": "1.0"
  }
}

V2 Specialties

This API allows users to view Specialties.

Specialties Collection

A Collection of Specialties.

List All Specialties
GET/specialties

Retrieves all specialties.

Example URI

GET https://www.kamana.app/api/specialties
Request
HideShow
Headers
Content-Type: application/json
Accept: application/vnd.api.v2+json
Authorization: Bearer <token>
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:47:01",
        "name": "Urology",
        "updated_at": "2022-07-11T14:47:01"
      },
      "id": "342764ee-cdec-4aee-85ed-8fb832f7b97b",
      "type": "specialty"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:47:01",
        "name": "Step Down",
        "updated_at": "2022-07-11T14:47:01"
      },
      "id": "caf275ba-4870-47f3-8685-3d42c4588950",
      "type": "specialty"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:47:01",
        "name": "Orthopedics",
        "updated_at": "2022-07-11T14:47:01"
      },
      "id": "493ba4ea-cde2-4fde-b72e-ea7beb29eeec",
      "type": "specialty"
    },
    {
      "attributes": {
        "inserted_at": "2022-07-11T14:47:01",
        "name": "Peds Med-Surg",
        "updated_at": "2022-07-11T14:47:01"
      },
      "id": "142940ee-af0c-430d-b867-a27172be0fb7",
      "type": "specialty"
    }
  ],
  "jsonapi": {
    "version": "1.0"
  }
}

Webhooks

This API allows users to receive and interact with events via webhooks.

Creating and Managing Webhook Events

Navigate to the following URL after you have signed in to your Kamana account to create and manage Webhooks:

To create a new Webhook event

  • click the + near the top right of the page

  • input the URL at which you would like to receive the event

  • click the checkbox select field to enable the Event Types you would like to receive at this URL

  • click Save

To send a test event for a previously created Webhook

  • locate the Webhook you’d like to send a test event for on the Webhooks management page

  • click the ellipsis menu

  • click Send Test Event

To edit previously created Webhook

  • locate the Webhook you’d like to edit on the Webhooks management page

  • click the ellipsis menu

  • click Edit

  • make necessary changes

  • click Save

To delete previously created Webhook

  • locate the Webhook you’d like to delete on the Webhooks management page

  • click the ellipsis menu

  • click Delete

General Notes

  • All timestamp data is explicitly provided in Coordinated Universal Time in UTC

  • The Kamana environment can be found at the top level of the Event data structure with the “environment” key.

Talent Profile Event

  • An event is triggered when a change is made to any of the below fields within the Talent Profile

    • all accessible via the edit ‘Personal Information’ section of a profile.
  • An event is also triggered when a new unclaimed profile is created.

  • A delete event is triggered when an engagement is deleted

Event Data

- id
- first_name
- middle_name
- last_name
- no_middle_name
- email *(this is the email address the Talent chooses to display in their profile)*
- phone_number
- notification_preference
- date_of_birth
- ssn
- bio
- claimed *(true = profile claimed; false = profile unclaimed)*
- gender
- emergency_contact_name
- emergency_contact_phone_number
- emergency_contact_relationship
- years_of_experience
- legally_allowed_to_work_in_us
- legally_allowed_to_work_in_us_explanation
- action_taken_against_any_medical_license
- action_taken_against_any_medical_license_explanation
- named_as_defendant_in_professional_liability_action
- named_as_defendant_in_professional_liability_action_explanation
- tax_home_address
- tax_home_city
- tax_home_province
- tax_home_postal_code
- inserted_at
- updated_at
- profession *(`changes` data, only includes id. all data is included in the `object` data)*
    - id
    - inserted_at
    - name
    - updated_at
- primary_specialty *(`changes` data, only includes id. all data is included in the `object` data)*
    - id
    - inserted_at
    - name
    - updated_at
- user *(this contains the user's login email)*
    - email
    - id
    - inserted_at
    - updated_at

Relationships Event

  • An insert event is triggered when a relationship is created from a talent invite, application landing page, or when an unclaimed profile is created.

  • An update event is triggered when the relationship is updated, “Do Not Hire” is toggled, the relationship’s Primary Contact is changed, or the Relationship Status is changed.

  • A reassignment event is triggered when the primary contact of many relationships are changed in bulk through the “Users > Reassign Talent” workflow.

  • A delete event is triggered when a relationship is deleted.

Event Data

- id
- source
- sub_status
- status
- status_reason
- status_changed_at
- do_not_hire?
- talent_invite
    - id
    - status
    - invite_sent_at
    - invite_accepted_at
    - invite_rejected_at
    - inserted_at
    - updated_at
- profile *(all profile data is nested)*
- inserted_at
- updated_at
- do_not_hire_user
    - id
    - email
    - status
    - profile
    - inserted_at
    - updated_at
    - in the `changes` data, only the id is included. all data is included in the `object` data
- primary_contact
    - id
    - email
    - status
    - profile
    - inserted_at
    - updated_at
    - in the `changes` data, only the id is included. all data is included in the `object` data

Job Requisition Event

  • A create event is triggered when a new job requisition record is created.

  • An update event is triggered when a job requisition record is edited or when the status is changed (e.g. from open to closed)

Event Data

- asap? *(false = asap checkbox not selected)*
- client_location *(aka facility)*
    - city
    - id
    - inserted_at
    - name
    - postal_code
    - province *(aka state)*
        - abbreviation
        - country
        - id
        - inserted_at
        - name
        - updated_at
    - province_id
    - street
    - time_zone
    - updated_at
- client_location_id
- compact_license? *(true or false)*
- compensation_comments
- contract_length *(in months)*
- creator *(Kamana user who created job)*
    - email *(user email of user who created job)*
    - id *(ID of user who created job)*
    - inserted_at *(when user account was created)*
    - status *(status of the user: active or suspended)*
    - updated_at *(when user last edited account)*
- description *(job description)*
- hot? *(ignore this field for now, hidden from UI)*
- hours_per_week
- id
- inserted_at
- job_type *(aka job title)*
- name *(aka job title)*
- number_of_openings
- origin *(the original source where job came from)*
- origin_reference_number (*the reference number of the original source where job came from)*
- profession
    - id
    - inserted_at
    - name
    - updated_at
- profession_id
- reference_number *(Kamana auto-generated reference number)*
- regular_hourly_rate
- shift_end_time
- shift_start_time
- specialty
    - id
    - inserted_at
    - name
    - updated_at
- specialty_id:
- starts_on:
- status *(possible statuses currently: Open; Closed)*
- travel_reimbursement
- updated_at
- weekly_gross_pay
- weekly_housing_stipend
- weekly_per_diem
- years_of_experience *(minimum years of experience, whole number between 0 and 20*

Enagagement Event

  • A create event is triggered when an engagement is created

  • An update event is triggered when,

    • the engagement details are edited
    • a user subscribes or unsubscribes from the engagement
    • the assigned user changes
    • the engagement status changes
    • the engagement is completed
      • this can also send a Relationship event in the case that the relationship status is automatically changed to "prospect" because there are no remaining open engagements
  • A delete event is triggered when an engagement is deleted

Event Data

- id
- status (`”pending”`, `"qualifying"`, `"ready"`, `"submitted"`, `"interviewing"` , `"offered"`, `"placed"`, `"credentialing"`, `"credentialed"`, `"cleared"`, `"active"`, `"complete"` )
- sub_status (`”Assignment Complete”`, `"Cancelled By Client"`, `“Cancelled By Agency”`, `“Cancelled By Talent”`, `“Declined By Client”`, `“Declined”`, `“Declined By Talent”`, `“Terminated By Client”`, `“Terminated By Agency”`, `“Terminated By Talent”`, `“Other”`
- status_reason
- assignee_id
- assignee
- subscriber_ids
- client_contract_id
- client_contract
    - id
    - name
    - client_id
    - inserted_at
    - updated_at
- client_location_id
- client_location
    - id
    - name
    - street
    - city
    - postal_code
    - province_id
    - province
    - time_zone
    - inserted_at
    - updated_at
- relationship_id
- relationship

Relationships

- job_requisition_id
- job_requisition

Job Requisition

- starts_on
- ends_on
- requirements

Engagement Requirement

- inserted_at
- updated_at

Enagagement Requirement Event

A create event is triggered when a one-off engagement requirement is created on an engagement.

An update even is triggered when, - an engagement requirement is mapped - an engagement requirement is verified - an engagement requirement is dismissed - an engagement requirement is restored + from dismissal - the expiration date is changed - a mapping is undone + this only triggers an event when all of the mappings are undone and the engagement requirement moves back to the needed status

Event Data

- id
- name
- expires_on
- expires_on_time_zone
- status (`”needed”`, `"mapped"`, `"verified"`, `"dismissed"`)
- engagement_id
- credentialing_requirement_snapshot
    - type (`”certification”` , `"education"`, `"ehr"`, `"esign"`, `"generic"`, `"license"`, `"medical_history"` , `"reference"` , `"skills_checklist"`)
    - medical_history_attributes
        - medical_history_category_id
        - medical_history_category_name
        - choices
            - medical_history_choice_id
            - medical_history_choice_name
    - education_attributes
        - degree_type
    - certification_attributes
        - certification_type_id
        - certification_type_name
        - certification_type_abbreviation
    - esign_attributes
        - onboarding_package_template_id
        - onboarding_package_template_name (these are unique to your account)
    - license_attributes
        - license_type_id
        - license_type_name
        - province_id
        - province_name
        - province_abbreviation
        - compact?
    - generic_attributes
        - name
    - reference_attributes
        - quantity_needed
        - months_recent
    - skills_checklist_attributes
        - months_recent
- credentialing_requirement_connection_snapshot
    - employer_only? (boolean)
    - description
    - talent_instructions
    - required_before_status (`”ready”`, `"credentialing"`, `"credentialed"`)
- inserted_at
- updated_at

Enagagement Extension Event

  • A create event is triggered when an extension is created.

  • A delete event is triggered when an extension is deleted.

  • An update event is triggered when an extension is updated.

Event Data

- id
- engagement_id
- starts_on (`”2022-02-22”`)
- ends_on (`”2022-02-28”`)
- inserted_at
- updated_at

Generated by aglio on 27 Feb 2023