docs/ai-agents/connectors/ashby/REFERENCE.md
This is the full reference documentation for the Ashby agent connector.
The Ashby connector supports the following entities and actions.
| Entity | Actions |
|---|---|
| Candidates | List, Get |
| Applications | List, Get |
| Jobs | List, Get |
| Departments | List, Get |
| Locations | List, Get |
| Users | List, Get |
| Job Postings | List, Get |
| Sources | List |
| Archive Reasons | List |
| Candidate Tags | List |
| Custom Fields | List |
| Feedback Form Definitions | List |
Lists all candidates in the organization
await ashby.candidates.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidates",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
createdAt | string | null | |
updatedAt | string | null | |
name | string | null | |
emailAddresses | array | null | |
phoneNumbers | array | null | |
socialLinks | array | null | |
tags | array | null | |
applicationIds | array | null | |
fileHandles | array | null | |
customFields | array | null | |
profileUrl | string | null | |
source | object | any | |
creditedToUser | object | any | |
timezone | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single candidate by ID
await ashby.candidates.get(
id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidates",
"action": "get",
"params": {
"id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Candidate ID |
Gets all applications in the organization
await ashby.applications.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "applications",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
createdAt | string | null | |
updatedAt | string | null | |
archivedAt | string | null | |
candidate | object | any | |
status | string | null | |
customFields | array | null | |
currentInterviewStage | object | any | |
source | object | any | |
creditedToUser | object | any | |
archiveReason | object | any | |
job | object | any | |
hiringTeam | array | null | |
appliedViaJobPostingId | string | null | |
submitterClientIp | string | null | |
submitterUserAgent | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single application by ID
await ashby.applications.get(
application_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "applications",
"action": "get",
"params": {
"applicationId": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
applicationId | string | Yes | Application ID |
List all open, closed, and archived jobs
await ashby.jobs.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "jobs",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
title | string | null | |
confidential | boolean | null | |
status | string | null | |
employmentType | string | null | |
locationId | string | null | |
departmentId | string | null | |
defaultInterviewPlanId | string | null | |
interviewPlanIds | array | null | |
jobPostingIds | array | null | |
customFields | array | null | |
hiringTeam | array | null | |
customRequisitionId | string | null | |
brandId | string | null | |
author | object | any | |
createdAt | string | null | |
updatedAt | string | null | |
openedAt | string | null | |
closedAt | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single job by ID
await ashby.jobs.get(
id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "jobs",
"action": "get",
"params": {
"id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Job ID |
List all departments
await ashby.departments.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "departments",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
name | string | null | |
externalName | string | null | |
isArchived | boolean | null | |
parentId | string | null | |
createdAt | string | null | |
updatedAt | string | null | |
extraData | object | any |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single department by ID
await ashby.departments.get(
department_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "departments",
"action": "get",
"params": {
"departmentId": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
departmentId | string | Yes | Department ID |
List all locations
await ashby.locations.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
name | string | null | |
externalName | string | null | |
isArchived | boolean | null | |
address | object | any | |
isRemote | boolean | null | |
workplaceType | string | null | |
parentLocationId | string | null | |
type | string | null | |
extraData | object | any |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single location by ID
await ashby.locations.get(
location_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "get",
"params": {
"locationId": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
locationId | string | Yes | Location ID |
List all users in the organization
await ashby.users.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
firstName | string | null | |
lastName | string | null | |
email | string | null | |
globalRole | string | null | |
isEnabled | boolean | null | |
updatedAt | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single user by ID
await ashby.users.get(
user_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"userId": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | User ID |
List all job postings
await ashby.job_postings.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "job_postings",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
title | string | null | |
jobId | string | null | |
departmentName | string | null | |
teamName | string | null | |
locationName | string | null | |
locationExternalName | string | null | |
workplaceType | string | null | |
employmentType | string | null | |
isListed | boolean | null | |
publishedDate | string | null | |
applicationDeadline | string | null | |
externalLink | string | null | |
applyLink | string | null | |
locationIds | object | any | |
compensationTierSummary | string | null | |
shouldDisplayCompensationOnJobBoard | boolean | null | |
updatedAt | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
Get a single job posting by ID
await ashby.job_postings.get(
job_posting_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "job_postings",
"action": "get",
"params": {
"jobPostingId": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
jobPostingId | string | Yes | Job posting ID |
List all candidate sources
await ashby.sources.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "sources",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
title | string | null | |
isArchived | boolean | null | |
sourceType | object | any |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
List all archive reasons
await ashby.archive_reasons.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "archive_reasons",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
text | string | null | |
reasonType | string | null | |
isArchived | boolean | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
List all candidate tags
await ashby.candidate_tags.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidate_tags",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
title | string | null | |
isArchived | boolean | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
List all custom fields
await ashby.custom_fields.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "custom_fields",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
title | string | null | |
objectType | string | null | |
isArchived | boolean | null | |
isPrivate | boolean | null | |
fieldType | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |
List all feedback form definitions
await ashby.feedback_form_definitions.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "feedback_form_definitions",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Pagination cursor for next page |
limit | integer | No | Maximum number of records to return per page |
| Field Name | Type | Description |
|---|---|---|
id | string | |
organizationId | string | null | |
title | string | null | |
isArchived | boolean | null | |
isDefaultForm | boolean | null | |
formDefinition | object | any | |
interviewId | string | null |
| Field Name | Type | Description |
|---|---|---|
cursor | string | null | |
has_more | boolean |