The Ashby connector lets your AI agent act in each user's Ashby account. Each user connects their own Ashby API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 98 tools.
- Tools
- 98
- What they doRead · write · destructive
- 59 · 34 · 559 read34 write5 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Ashby connection
In AgentKit > Connections, create an Ashby connection. The name you give it is the
connection_nameyour code passes. See Configure connections.
Tools
Pass the exact name toexecute_toolashby_application_feedback_listList interview and application feedback submitted in Ashby, page by page, optionally for one application.Read-onlyList Application Feedback
List interview and application feedback submitted in Ashby, page by page, optionally for one application. Returns feedback records (id, application, submitting user, form definition, submitted values, submittedAt) plus moreDataAvailable and nextCursor. Use to read scorecards. Use ashby_application_feedback_submit to submit feedback. Requires the candidatesRead permission on the Ashby API key.
Inputs
application_idstring- The id of the application you'd like to fetch feedback for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_afterinteger- Unix timestamp (milliseconds). When provided, only feedback created at or after this time is returned. Example: 1659979196538.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_application_getGet one Ashby application by application id, or by the submitted form instance id returned when an application form is submitted.Read-onlyGet Application
Get one Ashby application by application id, or by the submitted form instance id returned when an application form is submitted. Returns the application with candidate, job, current interview stage, status, source, hiring team and history references. Use when you know the application id. Use ashby_applications_list to browse applications. Requires the candidatesRead permission on the Ashby API key.
Inputs
application_idstring- The id of the application to fetch. Provide this or submitted_form_instance_id; if both are given, application_id is used. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
expandarray- Related objects to include in the response. Allowed values: openings, applicationFormSubmissions, referrals. Example: ["openings", "referrals"].
submitted_form_instance_idstring- The id of the application's submitted form instance. Provide this or application_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_hiring_team_roles_listList the hiring team roles that can be assigned on applications in Ashby.Read-onlyList Application Hiring Team Roles
List the hiring team roles that can be assigned on applications in Ashby. Returns role records (id and title). Use to find a role id before calling ashby_application_hiring_team_member_add. Use ashby_hiring_team_roles_list for roles across jobs and openings. Requires the candidatesRead permission on the Ashby API key.
Inputs
This tool takes no inputs.
ashby_application_history_listList the stage history of one Ashby application, page by page.Read-onlyList Application History
List the stage history of one Ashby application, page by page. Returns history events (stage id and title, stage number, enteredStageAt, archive reason) plus moreDataAvailable and nextCursor. Use to see how an application moved through the pipeline. Use ashby_application_get for the application's current state. Requires the candidatesRead permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application to fetch. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of history events to return per page. Example: 25.
ashby_applications_listList applications in Ashby, page by page, optionally filtered by job, status or creation time.Read-onlyList Applications
List applications in Ashby, page by page, optionally filtered by job, status or creation time. Returns application records (id, status, candidate, job, current interview stage, source, archive reason, createdAt) plus moreDataAvailable and nextCursor. Use to browse or sync applications. Use ashby_application_get for one application's full details. Requires the candidatesRead permission on the Ashby API key.
Inputs
created_afterinteger- Unix timestamp (milliseconds). When provided, only applications created at or after this time are returned. Must not be later than createdBefore or in the future. Example: 1704067200000.
created_beforeinteger- Unix timestamp (milliseconds). When provided, only applications created at or before this time are returned. Must not be in the future. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
expandarray- Related objects to include in each result. Use openings to include the openings linked to each application. Allowed values: openings. Example: ["openings"].
job_idstring- Only return applications for the job with the supplied id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
statusstring- Only return applications with this status. One of: Active, Hired, Archived, Lead. Example: Active.one of
ActiveHiredArchivedLead sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_approvals_listList approvals in Ashby, page by page, optionally for one offer, job or opening.Read-onlyList Approvals
List approvals in Ashby, page by page, optionally for one offer, job or opening. Returns approval records (id, entity type and id, approval steps, approvers, status) plus moreDataAvailable and nextCursor. Use to see where an offer, job or opening sits in its approval chain. Requires the approvalsRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
entity_idstring- Filter approvals to only those associated with this specific entity ID. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
entity_typestring- Filter approvals by the type of entity they are associated with One of: offer, job, opening. Example: offer.one of
offerjobopening limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_archive_reasons_listList the archive reasons configured in Ashby (why a candidate was rejected or withdrew).Read-onlyList Archive Reasons
List the archive reasons configured in Ashby (why a candidate was rejected or withdrew). Returns archive reason records (id, text, reasonType, isArchived). Use to find an archive_reason_id before archiving an application with ashby_application_stage_change. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
include_archivedboolean- When true, includes archived archive reasons in the response. Defaults to false. Example: false.
ashby_brands_listList the employer brands configured in Ashby, page by page.Read-onlyList Brands
List the employer brands configured in Ashby, page by page. Returns brand records (id, name, logo and theme details) plus moreDataAvailable and nextCursor. Use to find a brand id for ashby_job_create. Requires the organizationRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
ashby_candidate_getGet one Ashby candidate by Ashby id or by an external mapping id from an HRIS such as BambooHR or Rippling.Read-onlyGet Candidate
Get one Ashby candidate by Ashby id or by an external mapping id from an HRIS such as BambooHR or Rippling. Returns the full candidate record: contact details, social links, tags, applicationIds, file handles, source and credited user. Use when you already know the candidate id. Use ashby_candidates_search to look up by email or name. Requires the candidatesRead permission on the Ashby API key.
Inputs
candidate_idstring- The Ashby id of the candidate to fetch. Provide this or external_mapping_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
external_mapping_idstring- An id assigned to the candidate outside Ashby (for example in BambooHR, Rippling or Gusto). Provide this or candidate_id. Example: emp-10482.
ashby_candidate_notes_listList the notes on one Ashby candidate, page by page.Read-onlyList Candidate Notes
List the notes on one Ashby candidate, page by page. Returns note records (id, content, author, createdAt, isPrivate) plus moreDataAvailable and nextCursor. Use to read what the hiring team has recorded about a candidate. Use ashby_candidate_note_create to add a note. Requires the candidatesRead permission on the Ashby API key.
Inputs
candidate_idstringrequired- The id of the candidate to fetch notes for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of notes to return, capped at 100. When omitted, up to 500 notes are returned. Example: 25.
ashby_candidate_projects_listList the projects an Ashby candidate belongs to, page by page.Read-onlyList Candidate Projects
List the projects an Ashby candidate belongs to, page by page. Returns project records (id, title, archived state) plus moreDataAvailable and nextCursor. Use to see which sourcing projects include a candidate. Use ashby_projects_list to list every project in the organization. Requires the candidatesRead permission on the Ashby API key.
Inputs
candidate_idstringrequired- The id of the candidate to fetch projects for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of projects to return, from 1 to 100. Defaults to 100. Example: 25.
ashby_candidates_listList candidates in the Ashby organization, page by page, optionally filtered by creation time or limited to changes since a sync token.Read-onlyList Candidates
List candidates in the Ashby organization, page by page, optionally filtered by creation time or limited to changes since a sync token. Returns candidate records (id, name, primary email and phone, tags, applicationIds, profileUrl, source) plus moreDataAvailable and nextCursor for paging. Use to browse or sync all candidates. Use ashby_candidates_search to find a candidate by email or name, and ashby_candidate_get for one candidate by id. Requires the candidatesRead permission on the Ashby API key.
Inputs
created_afterinteger- Unix timestamp (milliseconds). When provided, only candidates created at or after this time are returned. Must not be later than createdBefore or in the future. Example: 1704067200000.
created_beforeinteger- Unix timestamp (milliseconds). When provided, only candidates created at or before this time are returned. Must not be in the future. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of candidates to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_candidates_searchSearch Ashby candidates by email address or name.Read-onlySearch Candidates
Search Ashby candidates by email address or name. Returns the matching candidate records (up to 100), without pagination. Use to find a candidate when you know an email or name. Use ashby_candidates_list to page through every candidate. Requires the candidatesRead permission on the Ashby API key.
Inputs
emailstring- The candidate's email address. Provide email, name, or both. Example: adam.hart@example.com.
limitinteger- Maximum number of candidates to return, from 1 to 100. Defaults to 100. Example: 25.
namestring- The candidate's name. Provide email, name, or both. Example: Adam Hart.
ashby_close_reasons_listList the job close reasons configured in Ashby.Read-onlyList Close Reasons
List the job close reasons configured in Ashby. Returns close reason records (id, text, reasonType, isArchived). Use to find a close_reason_id before closing a job with ashby_job_status_set. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
include_archivedboolean- Whether to include archived close reasons in the response. Example: false.
ashby_communication_templates_listList email communication templates in Ashby, filtered by organization or personal ownership.Read-onlyList Communication Templates
List email communication templates in Ashby, filtered by organization or personal ownership. Returns template records (id, title, intended types, subject, owner). Use to find a template id for the archive email in ashby_application_stage_change. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
ownership_filterstring- Limits results by template ownership: org returns organization templates, personal returns the API user's personal templates, and personalAndOrg returns both. Defaults to personalAndOrg. One of: org, personal, personalAndOrg. Example: personalAndOrg.one of
orgpersonalpersonalAndOrg
ashby_custom_field_getGet one Ashby custom field definition by id or by reference identifier.Read-onlyGet Custom Field
Get one Ashby custom field definition by id or by reference identifier. Returns the field with title, objectType, fieldType and selectable values. Use to check a field's type and options before setting a value. Use ashby_custom_fields_list to browse all fields. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
custom_field_idstring- The id of the custom field to fetch. Provide this or reference_identifier. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
reference_identifierstring- Beta: may not be available for all organizations. The reference id assigned to the custom field, exactly as saved. Provide this or custom_field_id. Example: cost_center.
ashby_custom_fields_listList custom field definitions in Ashby, page by page.Read-onlyList Custom Fields
List custom field definitions in Ashby, page by page. Returns field records (id, title, objectType, fieldType, selectable values, isArchived) plus moreDataAvailable and nextCursor. Use to find a field id and its accepted values before calling ashby_custom_field_value_set or ashby_custom_field_values_set. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archivedboolean- If true, archived custom fields will be included in the response. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_department_getGet one Ashby department or team by id.Read-onlyGet Department
Get one Ashby department or team by id. Returns the department with name, parentId and archived state. Use when you know the department id. Use ashby_departments_list to find it. Requires the organizationRead permission on the Ashby API key.
Inputs
department_idstringrequired- The unique id of the department whose details will be fetched. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_departments_listList departments and teams in Ashby, page by page.Read-onlyList Departments
List departments and teams in Ashby, page by page. Returns department records (id, name, parentId, isArchived) plus moreDataAvailable and nextCursor. Use to find a team id for ashby_job_create or ashby_opening_create. Use ashby_department_get for one department. Requires the organizationRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archivedboolean- Whether archived departments should be included in the response. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_feedback_form_definition_getGet one Ashby feedback form definition by id.Read-onlyGet Feedback Form Definition
Get one Ashby feedback form definition by id. Returns the form with its sections and fields (path, type, title, required, selectable values). Use to learn the field paths and value shapes before calling ashby_application_feedback_submit. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
feedback_form_definition_idstringrequired- The unique id of the feedback form you'd like to fetch. Example: 9b17887e-5add-49e8-9a03-ffffa669aa2f.
ashby_feedback_form_definitions_listList feedback form definitions (scorecard templates) in Ashby, page by page.Read-onlyList Feedback Form Definitions
List feedback form definitions (scorecard templates) in Ashby, page by page. Returns form definition records (id, title, isArchived, form fields with their paths and types) plus moreDataAvailable and nextCursor. Use to find a form id and field paths before calling ashby_application_feedback_submit. Use ashby_feedback_form_definition_get for one form. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archivedboolean- Whether to include archived feedback form definitions in the results. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_file_getGet a download URL for a file stored in Ashby, such as a candidate's resume, using a file handle.Read-onlyGet File URL
Get a download URL for a file stored in Ashby, such as a candidate's resume, using a file handle. Returns a temporary URL for the file. Use with a file handle from a candidate record (resumeFileHandle or fileHandles) returned by ashby_candidate_get. Requires the candidatesRead permission on the Ashby API key.
Inputs
file_handlestringrequired- A file handle from an Ashby API response, for example a candidate resumeFileHandle. Example: eyJoYW5kbGUiOnsidHlwZSI6IkNhbmRpZGF0ZUZpbGUiLCJmaWxlSWQiOiIxNTk1ZTRmYy04MTQwLTQ1NGUtYTI1ZC04NTNiOTQ3ZWNmYzgiLCJvd25lcklkIjoiYmY5NGZlNmMtMjU3MS00NzQ1LWE1OWEtNTA5MjE3ODI3MDVlIn0sInNpZ25hdHVyZSI6IkFqclpjT0VlTXUwdWxLZlRCS05iMWRkbDdHcjVIWFVmZzNrS0NPL1dWWjg9IiwidmVyc2lvbiI6IjEilQ.
ashby_hiring_team_roles_listList the hiring team roles defined in Ashby (for example Hiring Manager, Recruiter or Coordinator).Read-onlyList Hiring Team Roles
List the hiring team roles defined in Ashby (for example Hiring Manager, Recruiter or Coordinator). Returns role titles, or role objects with id and title when names_only is false. Use with names_only set to false to find a role id for ashby_hiring_team_member_add. Requires the organizationRead permission on the Ashby API key.
Inputs
names_onlyboolean- When true (the default), returns only role titles. Set to false to get objects with each role id and title. Example: false.default
true
ashby_interview_briefing_getGet the interview briefing for one Ashby interview event, optionally expanded with the feedback form, application, candidate, job, interview and interviewers.Read-onlyGet Interview Briefing
Get the interview briefing for one Ashby interview event, optionally expanded with the feedback form, application, candidate, job, interview and interviewers. Returns the briefing for the event. Use to prepare an interviewer for a specific interview. Use ashby_interview_events_list to find the event id. Requires the interviewsRead permission on the Ashby API key.
Inputs
interview_event_idstringrequired- The id of the interview event whose briefing should be returned. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
expandarray- Choose to expand the result and include additional data for related objects. Allowed values: feedbackFormDefinition, application, candidate, job, interview, interviewers. Example: ["candidate", "job"].
ashby_interview_events_listList the interview events on one Ashby interview schedule, page by page.Read-onlyList Interview Events
List the interview events on one Ashby interview schedule, page by page. Returns event records (id, start and end time, interviewers, interview id, meeting link, feedback link) plus moreDataAvailable and nextCursor. Use to see the individual interviews in a schedule. Use ashby_interview_schedules_list to find schedules. Requires the interviewsRead permission on the Ashby API key.
Inputs
interview_schedule_idstringrequired- The unique ID of the interview schedule, for which to list interview events. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_afterinteger- Return only events created after this date, expressed as milliseconds since the Unix epoch. Example: 1659979196538.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
expandarray- Related objects to include in each result. Use interview to include the interview details. Allowed values: interview. Example: ["interview"].
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_interview_getGet one Ashby interview type by id.Read-onlyGet Interview
Get one Ashby interview type by id. Returns the interview with title, instructions, feedback form definition id and archived state. Use when you know the interview id. Use ashby_interviews_list to find it. Requires the interviewsRead permission on the Ashby API key.
Inputs
interview_idstringrequired- The id of the interview to fetch. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interview_plans_listList interview plans in Ashby, page by page.Read-onlyList Interview Plans
List interview plans in Ashby, page by page. Returns plan records (id, title, isArchived) plus moreDataAvailable and nextCursor. Use to find an interview plan id for ashby_interview_stages_list or ashby_application_transfer. Use ashby_job_interview_plan_get for the plan of a specific job. Requires the interviewsRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archivedboolean- Whether archived interview plans should be included in the response. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_interview_schedules_listList interview schedules in Ashby, page by page, optionally for one application or interview stage.Read-onlyList Interview Schedules
List interview schedules in Ashby, page by page, optionally for one application or interview stage. Returns schedule records (id, application, interview stage, status, interview events with times and interviewers) plus moreDataAvailable and nextCursor. Use to see scheduled interviews. Use ashby_interview_events_list for the events of one schedule. Requires the interviewsRead permission on the Ashby API key.
Inputs
application_idstring- The id of the application, for which to fetch interview schedules. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_afterinteger- Only return schedules created after this time, in milliseconds since the Unix epoch. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
interview_stage_idstring- The id of the interview stage, for which to fetch interview schedules. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_interview_stage_getGet one Ashby interview stage by id.Read-onlyGet Interview Stage
Get one Ashby interview stage by id. Returns the stage with title, type, order in its interview plan and interview plan id. Use when you know the stage id. Use ashby_interview_stages_list to list a plan's stages. Requires the interviewsRead permission on the Ashby API key.
Inputs
interview_stage_idstringrequired- The id of the interview stage to retrieve. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interview_stage_groups_listList interview stage groups in Ashby (the pipeline sections such as Lead, Active, Offer, Hired and Archived).Read-onlyList Interview Stage Groups
List interview stage groups in Ashby (the pipeline sections such as Lead, Active, Offer, Hired and Archived). Returns group records (id, title, type, order). Use to interpret the interviewStageGroupId on interview stages. Requires the interviewsRead permission on the Ashby API key.
Inputs
This tool takes no inputs.
ashby_interview_stages_listList the interview stages of one Ashby interview plan, in order.Read-onlyList Interview Stages
List the interview stages of one Ashby interview plan, in order. Returns stage records (id, title, type, orderInInterviewPlan, interviewStageGroupId). Use to find a stage id before calling ashby_application_stage_change. Use ashby_job_interview_plan_get when you only know the job id. Requires the interviewsRead permission on the Ashby API key.
Inputs
interview_plan_idstringrequired- The id of the interview plan to list stages for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interviewer_pool_getGet one Ashby interviewer pool by id.Read-onlyGet Interviewer Pool
Get one Ashby interviewer pool by id. Returns the pool with its qualified members, trainees and training path. Use when you know the pool id. Use ashby_interviewer_pools_list to find it. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
interviewer_pool_idstringrequired- The id of the interviewer pool. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interviewer_pools_listList interviewer pools in Ashby, page by page.Read-onlyList Interviewer Pools
List interviewer pools in Ashby, page by page. Returns pool records (id, title, isArchived, qualified members, trainees and training path) plus moreDataAvailable and nextCursor. Use to see who can conduct a type of interview. Use ashby_interviewer_pool_get for one pool. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archived_poolsboolean- When true, includes archived pools. Defaults to false. Example: false.
include_archived_training_stagesboolean- When true, includes archived training stages. Defaults to true. Example: true.
limitinteger- Maximum number of interviewer pools to return per page. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_interviews_listList the interview types defined in Ashby (for example Phone Screen or Onsite Technical), page by page.Read-onlyList Interviews
List the interview types defined in Ashby (for example Phone Screen or Onsite Technical), page by page. Returns interview records (id, title, isArchived, instructions, feedback form definition id, job id) plus moreDataAvailable and nextCursor. Use to find an interview id for scheduling or feedback requests. Use ashby_interview_get for one interview. Requires the interviewsRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
exclude_archived_schedule_template_interviewsboolean- If true, interviews local to archived schedule templates are omitted from the response. This parameter only has an effect when includeNonSharedInterviews is also set to true. Shared interviews (not associated with any schedule template) are always included regardless of this setting. Defaults to false. Example: false.
include_archivedboolean- When true, includes archived interviews in the response. Defaults to false. Example: false.
include_non_shared_interviewsboolean- If true, interviews that are associated with specific jobs will be included in the response. Shared interviews that are not associated with a specific job can be scheduled for applications to any job. Interviews that are not shared can only be scheduled for applications to the job they are associated with. Defaults to false. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_job_boards_listList the job boards configured in Ashby.Read-onlyList Job Boards
List the job boards configured in Ashby. Returns job board records (id, title, isInternal). Use to find a job_board_id for ashby_job_postings_list, ashby_job_posting_get or ashby_job_posting_update. Requires the jobsRead permission on the Ashby API key.
Inputs
This tool takes no inputs.
ashby_job_getGet one Ashby job by id.Read-onlyGet Job
Get one Ashby job by id. Returns the job with title, status, employment type, department, location, hiring team, interview plan and job posting ids, plus openings, location or compensation when expanded. Use when you know the job id. Use ashby_jobs_list or ashby_jobs_search to find it. Requires the jobsRead permission on the Ashby API key.
Inputs
job_idstringrequired- The id of the job to fetch. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
expandarray- Related objects to include in the response. Allowed values: openings, location, compensation. Example: ["openings", "compensation"].
include_unpublished_job_postings_idsboolean- Whether to include unpublished job posting ids in the response. Example: false.
ashby_job_interview_plan_getGet the interview plan for one Ashby job.Read-onlyGet Job Interview Plan
Get the interview plan for one Ashby job. Returns the plan with its ordered interview stages (id, title, type, order). Use to find stage ids for a job before changing an application's stage or transferring it. Use ashby_interview_stages_list when you already have the interview plan id. Requires the jobsRead permission on the Ashby API key.
Inputs
job_idstringrequired- The id of the job to fetch an interview plan for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_job_posting_getGet one Ashby job posting by id.Read-onlyGet Job Posting
Get one Ashby job posting by id. Returns the posting with its full description, location, department, employment type, compensation, application form and publish status. Use when you know the posting id. Use ashby_job_postings_list to find it. Requires the jobsRead permission on the Ashby API key.
Inputs
job_posting_idstringrequired- The id of the job posting to return. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
expandarray- Related objects to include in the response. Use job to include the parent job. Allowed values: job. Example: ["job"].
include_unpublished_job_postingsboolean- If true, allows retrieving unpublished (draft) job postings. Required when fetching a draft job posting. Example: false.
job_board_idstring- If provided, returns the job posting data for the specified job board. If omitted, defaults to an external job board. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_job_postings_listList job postings in Ashby, optionally filtered by location, department, job board or listed state.Read-onlyList Job Postings
List job postings in Ashby, optionally filtered by location, department, job board or listed state. Returns posting records (id, title, job id, department, location, employment type, isListed, publish status, external link). Use to browse public postings. Use ashby_job_posting_get for one posting's full description, and ashby_jobs_list for the underlying jobs. Requires the jobsRead permission on the Ashby API key.
Inputs
departmentstring- Filter by department name (case sensitive). Example: Engineering.
include_unpublished_job_postingsboolean- If true, include unpublished (draft) job postings in addition to published job postings. Example: false.
job_board_idstring- If provided, only returns the job postings on the specified job board. If omitted, this API will return the job postings on the primary external job board. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
listed_onlyboolean- If true, filter out unlisted job postings. Example: true.
locationstring- Filter by location name (case sensitive). Example: San Francisco.
ashby_job_templates_listList job templates in Ashby, page by page.Read-onlyList Job Templates
List job templates in Ashby, page by page. Returns template records (id, title, status, department, location) plus moreDataAvailable and nextCursor. Use to find a job_template_id before calling ashby_job_create. Requires the jobsRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
expandarray- Related objects to include in each result. Allowed values: location. Example: ["location"].
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_jobs_listList jobs in Ashby, page by page, optionally filtered by status or by created, opened or closed dates.Read-onlyList Jobs
List jobs in Ashby, page by page, optionally filtered by status or by created, opened or closed dates. Returns job records (id, title, status, employment type, department, location, hiring team, job posting ids) plus moreDataAvailable and nextCursor. Use to browse or sync jobs. Use ashby_jobs_search to find a job by title or requisition id, and ashby_job_get for one job. Requires the jobsRead permission on the Ashby API key.
Inputs
closed_afterinteger- Return jobs closed after this date. Unix timestamp in milliseconds. Example: 1704067200000.
closed_beforeinteger- Return jobs closed before this date. Unix timestamp in milliseconds. Example: 1704067200000.
created_afterinteger- Return jobs created at or after this date. Unix timestamp in milliseconds. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
expandarray- Related objects to include in each result. Allowed values: openings, location. Example: ["openings", "location"].
include_unpublished_job_postings_idsboolean- Whether to include unpublished job posting ids in the response. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
opened_afterinteger- Return jobs opened after this date. Unix timestamp in milliseconds. Example: 1704067200000.
opened_beforeinteger- Return jobs opened before this date. Unix timestamp in milliseconds. Example: 1704067200000.
statusarray- Only return jobs with these statuses. Allowed values: Draft, Open, Closed, Archived. Example: ["Open"].
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_jobs_searchSearch Ashby jobs by title or custom requisition id (substring match).Read-onlySearch Jobs
Search Ashby jobs by title or custom requisition id (substring match). Returns matching job records (up to 100), without pagination. Use to find a job id from a title or requisition. Use ashby_jobs_list to page through all jobs. Requires the jobsRead permission on the Ashby API key.
Inputs
limitinteger- Maximum number of jobs to return, from 1 to 100. Defaults to 100. Example: 25.
requisition_idstring- The custom requisition id (or substring) of the job to search for. Example: REQ-2471.
titlestring- The title (or substring of a title) of the job to search for. Example: Software Engineer.
ashby_location_getGet one Ashby location by id.Read-onlyGet Location
Get one Ashby location by id. Returns the location with name, address, workplace type, remote flag and parent location. Use when you know the location id. Use ashby_locations_list to find it. Requires the organizationRead permission on the Ashby API key.
Inputs
location_idstringrequired- The id of the location to fetch. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_locations_listList office locations and regions in Ashby, page by page.Read-onlyList Locations
List office locations and regions in Ashby, page by page. Returns location records (id, name, address, workplace type, isRemote, isArchived, parent location) plus moreDataAvailable and nextCursor. Use to find a location id for ashby_job_create or job postings. Use ashby_location_get for one location. Requires the organizationRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_archivedboolean- When true, includes archived items. Defaults to false. Example: false.
include_location_hierarchyboolean- If true, the response will include the location hierarchy (regions). Defaults to false. Example: false.
limitinteger- Maximum number of locations to return per page. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_offer_getGet one Ashby offer by id.Read-onlyGet Offer
Get one Ashby offer by id. Returns the offer with its status, acceptance status, latest version, field values and (unless excluded) the form definition. Use when you know the offer id. Use ashby_offers_list to find it, and the returned field paths with ashby_offer_update. Requires the offersRead permission on the Ashby API key.
Inputs
offer_idstringrequired- The id of the offer to fetch. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
exclude_form_definitionboolean- If true, omit the form definition from the response. Example: false.
include_individual_signed_documentsboolean- Set to true to include file handles for the individual signed documents in an offer packet. Example: false.
ashby_offers_listList offers in Ashby, page by page, optionally filtered by application, offer status, acceptance status or approval status.Read-onlyList Offers
List offers in Ashby, page by page, optionally filtered by application, offer status, acceptance status or approval status. Returns offer records (id, application, offer status, acceptance status, latest version with its fields and approval status) plus moreDataAvailable and nextCursor. Use to track offers. Use ashby_offer_get for one offer's full details. Requires the offersRead permission on the Ashby API key.
Inputs
acceptance_statusarray- When supplied, only offers with provided acceptance-status(es) will be returned. Array must contain at least one value. Allowed values: Accepted, Declined, Pending, Created, Cancelled. Example: ["Pending"].
application_idstring- If provided, only returns the offers for the application with the supplied id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
approval_statusarray- When supplied, only offers whose latest version has one of the provided approval status(es) will be returned. Array must contain at least one value. Allowed values: Approved, WaitingOnApprovals, Declined. Example: ["Approved"].
created_afterinteger- Only return offers created after this time, in milliseconds since the Unix epoch. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
offer_statusarray- When supplied, only offers with provided offer-status(es) will be returned. Array must contain at least one value. Allowed values: WaitingOnOfferCreation, WaitingOnApprovalStart, WaitingOnOfferApproval, WaitingOnApprovalDefinition, WaitingOnCandidateResponse, CandidateRejected, CandidateAccepted, OfferCancelled. Example: ["WaitingOnCandidateResponse"].
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_opening_getGet one Ashby opening by id.Read-onlyGet Opening
Get one Ashby opening by id. Returns the opening with identifier, state, description, job ids, team, locations, target dates and employment type. Use when you know the opening id. Use ashby_openings_list or ashby_openings_search to find it. Requires the jobsRead permission on the Ashby API key.
Inputs
opening_idstringrequired- The id of the opening. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_openings_listList openings (headcount slots) in Ashby, page by page.Read-onlyList Openings
List openings (headcount slots) in Ashby, page by page. Returns opening records (id, identifier, state, job ids, team, locations, target hire and start dates, employment type) plus moreDataAvailable and nextCursor. Use to track headcount. Use ashby_openings_search to find an opening by identifier, and ashby_opening_get for one opening. Requires the jobsRead permission on the Ashby API key.
Inputs
created_afterinteger- Only return openings created after this time, in milliseconds since the Unix epoch. Example: 1704067200000.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_openings_searchSearch Ashby openings by their human-readable identifier.Read-onlySearch Openings
Search Ashby openings by their human-readable identifier. Returns matching opening records. Use to find an opening id from its identifier. Use ashby_openings_list to page through all openings. Requires the jobsRead permission on the Ashby API key.
Inputs
identifierstringrequired- The identifier of the opening you want to search for. Example: ENG-042.
ashby_project_getGet one Ashby project by id.Read-onlyGet Project
Get one Ashby project by id. Returns the project with title, description, archived and confidential flags and custom fields. Use when you know the project id. Use ashby_projects_list or ashby_projects_search to find it.
Inputs
project_idstringrequired- The id of the project. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_projects_listList sourcing projects in Ashby, page by page.Read-onlyList Projects
List sourcing projects in Ashby, page by page. Returns project records (id, title, description, isArchived, confidential, author) plus moreDataAvailable and nextCursor. Use to browse projects. Use ashby_projects_search to find one by title and ashby_project_get for one project.
Inputs
created_afterinteger- The API will return data after this date, which is the time since the unix epoch in milliseconds. Example: 1659979196538.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of projects to return per page, from 1 to 100. Defaults to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_projects_searchSearch Ashby projects by title.Read-onlySearch Projects
Search Ashby projects by title. Returns matching project records. Use to find a project id from its title before calling ashby_candidate_project_add. Use ashby_projects_list to page through all projects.
Inputs
titlestringrequired- The project's title. Example: Engineering prospects.
ashby_referral_form_getGet the organization's referral form in Ashby, creating the default form if none exists.Read-onlyGet Referral Form
Get the organization's referral form in Ashby, creating the default form if none exists. Returns the form id and its fields (path, title, type, required). Use before ashby_referral_create to get the form id and field paths. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
This tool takes no inputs.
ashby_referrals_listList referrals in Ashby, page by page, optionally for one application.Read-onlyList Referrals
List referrals in Ashby, page by page, optionally for one application. Returns referral records (id, application, referring user, submitted fields, createdAt) plus moreDataAvailable and nextCursor. Use to track employee referrals. Use ashby_referral_create to submit one. Requires the candidatesRead permission on the Ashby API key.
Inputs
application_idstring- The id of the application you'd like to fetch referrals for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_afterinteger- Unix timestamp (milliseconds). When provided, only referrals created at or after this time are returned. Example: 1659979196538.
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_sources_listList candidate sources configured in Ashby (for example LinkedIn, Referral or Agency).Read-onlyList Sources
List candidate sources configured in Ashby (for example LinkedIn, Referral or Agency). Returns source records (id, title, isArchived, source type). Use to find a source id for ashby_candidate_create, ashby_application_create or ashby_application_source_change. Requires the hiringProcessMetadataRead permission on the Ashby API key.
Inputs
include_archivedboolean- Whether archived sources should be included in the response. Example: false.
ashby_user_getGet one Ashby user by id.Read-onlyGet User
Get one Ashby user by id. Returns the user with name, email, global role and enabled state. Use when you know the user id. Use ashby_users_search to look up by email. Requires the organizationRead permission on the Ashby API key.
Inputs
user_idstringrequired- The unique identifier for the user. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_users_listList Ashby users (members of the hiring organization), page by page.Read-onlyList Users
List Ashby users (members of the hiring organization), page by page. Returns user records (id, first and last name, email, global role, isEnabled) plus moreDataAvailable and nextCursor. Use to browse users. Use ashby_users_search to find a user by email and ashby_user_get for one user by id. Requires the organizationRead permission on the Ashby API key.
Inputs
cursorstring- Pagination cursor. Leave empty for the first page, then pass the nextCursor value from the previous response to fetch the next page. Example: G8.
include_deactivatedboolean- Whether to include deactivated users in the results. Defaults to false. Example: false.
limitinteger- Maximum number of results to return per page, from 1 to 100. Example: 25.
sync_tokenstring- Incremental sync token. Pass the syncToken returned after the last page of a previous full listing to get only records changed since then. Leave empty for a full listing. Example: jYnEBmjzR.
ashby_users_searchFind an Ashby user by email address.Read-onlySearch Users
Find an Ashby user by email address. Returns the matching user records. Use to turn an email into an Ashby user id, for example before assigning a hiring team role. Use ashby_users_list to page through all users. Requires the organizationRead permission on the Ashby API key.
Inputs
emailstringrequired- The email address to search for. Example: recruiter@example.com.
ashby_application_createCreate an application that considers an existing Ashby candidate for a job, optionally choosing the interview plan, starting stage, source and credited user.WriteCreate Application
Create an application that considers an existing Ashby candidate for a job, optionally choosing the interview plan, starting stage, source and credited user. Returns the created application record including its id and current interview stage. Use after ashby_candidate_create to put a candidate into a job's pipeline. Use ashby_application_transfer to move an existing application to another job. Requires the candidatesWrite permission on the Ashby API key.
Inputs
candidate_idstringrequired- The id of the candidate to consider for a job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
job_idstringrequired- The id of the job to consider the candidate for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
application_historyarray- Optional history events to create the application with. Each event needs the stage id, a stage number (0 for the first; the highest number is the current stage) and the time the application entered that stage; an archive reason id is needed when the stage is of type Archived. Example: [{"stageId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e", "stageNumber": 0, "enteredStageAt": "2024-01-15T10:30:00Z"}].
created_atstring- An ISO date string to set the application's createdAt timestamp. Defaults to the time the call was made when not provided. Example: 2022-08-12T20:29:56.964Z.
credited_to_user_idstring- The id of the user the application will be credited to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_plan_idstring- The id of the interview plan to place the application in. If none is provided, the default interview plan is used. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_stage_idstring- The interview stage to place the application in. Use a stage id from ashby_interview_stages_list, or the value FirstPreInterviewScreen for the first pre-interview screen stage. Defaults to the first Lead stage. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
source_idstring- The source to set on the application being created. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_feedback_request_createAsk an Ashby user to submit feedback for an interview on an application.WriteRequest Application Feedback
Ask an Ashby user to submit feedback for an interview on an application. Returns the created feedback request. Use to prompt an interviewer for a scorecard. Use ashby_application_feedback_submit to submit feedback directly. Requires the candidatesWrite permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application you are requesting feedback for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_idstringrequired- The id of the interview associated with this feedback request. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interviewer_user_idstringrequired- The user you are requesting feedback from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_feedback_submitSubmit a feedback form (scorecard) for an Ashby application, optionally tied to an interview event and credited to a user.WriteSubmit Application Feedback
Submit a feedback form (scorecard) for an Ashby application, optionally tied to an interview event and credited to a user. Returns the submitted feedback. Use to record an interviewer's evaluation. Use ashby_feedback_form_definitions_list or ashby_feedback_form_definition_get to find the form id and field paths first. Requires the candidatesWrite permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application you're submitting feedback for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
field_submissionsarrayrequired- The values for the feedback form fields. Each entry names a field by its path from the form definition and gives a value whose shape depends on the field type: a score field takes an object with an integer score from 1 to 4, a text field takes a string, a boolean field takes true or false, and a select field takes one of its option values. Example: [{"path": "overall_recommendation", "value": {"score": 4}}, {"path": "notes", "value": "Great communicator."}].
form_definition_idstringrequired- The id of the feedback form definition associated with the form submission. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_event_idstring- The id of the interview event you're submitting feedback for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
user_idstring- The id of the user the feedback is credited to. Defaults to the API key user. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_hiring_team_member_addAssign an Ashby user a hiring team role (for example Recruiter or Coordinator) on one application.WriteAdd Application Hiring Team Member
Assign an Ashby user a hiring team role (for example Recruiter or Coordinator) on one application. Returns the hiring team assignment. Use for application-level assignments. Use ashby_hiring_team_member_add for job- or opening-level teams, and ashby_application_hiring_team_roles_list for role ids. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
application_idstringrequired- The application to assign the user a role on. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
role_idstringrequired- The id of the hiring team role to assign. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_member_idstringrequired- The id of the user to assign the role to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_source_changeSet the source on an Ashby application.WriteChange Application Source
Set the source on an Ashby application. Returns the updated application record. Use to correct where an application came from. Use ashby_sources_list to find source ids, and ashby_application_update to change other application metadata. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
application_idstringrequired- The id of the application to update the source of. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
source_idstringrequired- The id of the source to set on the application. Get source ids from ashby_sources_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_stage_changeMove an Ashby application to another interview stage, including archiving it with an archive reason and an optional rejection email.WriteChange Application Stage
Move an Ashby application to another interview stage, including archiving it with an archive reason and an optional rejection email. Returns the updated application with its new current stage. Use to advance, reject or archive a candidate. Use ashby_interview_stages_list for stage ids and ashby_archive_reasons_list for archive reason ids. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
application_idstringrequired- The id of the application to update the stage of. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_stage_idstringrequired- The interview stage to move the application to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
archive_email_send_atstring- When to send the archive email, as an ISO 8601 date-time. Defaults to the next morning at 9:32 in your default timezone. Only used together with archive_email_template_id. Example: 2024-01-16T09:30:00Z.
archive_email_template_idstring- Communication template to email the candidate when archiving. The template's intended types must include email. Get ids from ashby_communication_templates_list. Only used when moving to an Archived stage. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
archive_reason_idstring- The archive reason to set. Required when moving to a stage of type Archived. Get ids from ashby_archive_reasons_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_application_transferTransfer an Ashby application to a different job, interview plan and stage.WriteTransfer Application
Transfer an Ashby application to a different job, interview plan and stage. Returns the transferred application record. Use to move a candidate's existing application to another job. Use ashby_application_create to open a new application instead, and ashby_job_interview_plan_get to find the target plan and stage ids. Requires the candidatesWrite permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application to transfer. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_plan_idstringrequired- The id of the interview plan to transfer the application to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_stage_idstringrequired- The interview stage of the interview plan to transfer the application to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
job_idstringrequired- The id of the job to transfer the application to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
start_automatic_activitiesboolean- Whether to start any automatic activities set on the target interview stage. Defaults to true when omitted. Example: true.
ashby_application_updateUpdate an Ashby application's source, credited user or createdAt timestamp.WriteUpdate Application
Update an Ashby application's source, credited user or createdAt timestamp. Returns the updated application record. Use to correct application metadata. Use ashby_application_stage_change to move the application through the pipeline, and ashby_application_source_change to change only the source. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
application_idstringrequired- The id of the application to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_atstring- An ISO date string to set the application's createdAt timestamp. When provided, the first history event's enteredStageAt is updated to match. Example: 2022-08-12T20:29:56.964Z.
credited_to_user_idstring- The id of the Ashby user the application is credited to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
send_notificationsboolean- Whether users subscribed to the application are notified of the update. Defaults to true. Example: true.
source_idstring- The id of the source to set on the application. Get source ids from ashby_sources_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_candidate_createCreate a new candidate in Ashby with contact details, social profiles, location, source and credited user.WriteCreate Candidate
Create a new candidate in Ashby with contact details, social profiles, location, source and credited user. Returns the created candidate record including its id. Use to add a person to Ashby. Use ashby_application_create afterwards to consider the candidate for a job, and ashby_candidate_update to change an existing candidate. Requires the candidatesWrite permission on the Ashby API key.
Inputs
namestringrequired- The first and last name of the candidate to be created. Example: Adam Hart.
alternate_email_addressesarray- Array of alternate email addresses to add to the candidate's profile. Example: ["test.email@ashbyhq.com"].
created_atstring- An ISO date string to set the candidate's createdAt timestamp. When this value isn't provided, the createdAt timestamp defaults to the time the call was made. Example: 2022-08-12T20:29:56.964Z.
credited_to_user_idstring- The id of the user the candidate will be credited to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
emailstring- Primary, personal email of the candidate to be created. Example: test@ashbyhq.com.
github_urlstring- Url to the candidate's Github profile. Must be a valid Url. Example: https://github.com/user.
linked_in_urlstring- Url to the candidate's LinkedIn profile. Must be a valid Url. Example: https://linkedin.com/in/user.
location_citystring- City of the candidate's location. Example: San Francisco.
location_countrystring- Country of the candidate's location. Example: United States.
location_regionstring- Region (state, province, etc.) of the candidate's location. Example: California.
phone_numberstring- Primary, personal phone number of the candidate to be created. Example: 555-555-5555.
source_idstring- The source to set on the candidate being created. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
websitestring- Url of the candidate's website. Must be a valid Url. Example: https://twitter.com/user.
ashby_candidate_note_createAdd a note to an Ashby candidate's profile, as plain text or HTML, optionally private.WriteCreate Candidate Note
Add a note to an Ashby candidate's profile, as plain text or HTML, optionally private. Returns the created note (id, content, author, createdAt). Use to record context on a candidate. Use ashby_candidate_notes_list to read existing notes. Requires the candidatesWrite permission on the Ashby API key.
Inputs
candidate_idstringrequired- The id of the candidate. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
notestringrequired- The note content. Plain text by default; set note_content_type to text/html to send HTML. Example: Strong candidate, very interested in the role.
created_atstring- An ISO date string to set the note's createdAt timestamp. Example: 2022-08-12T20:29:56.964Z.
is_privateboolean- Whether the note is private. Private notes need the "Allow access to non-offer private fields" API key permission to create and view. Defaults to false. Example: true.
note_content_typestring- Content type of the note: text/plain (default) or text/html. One of: text/plain, text/html. Example: text/plain.one of
text/plaintext/htmldefaulttext/plain send_notificationsboolean- Whether users subscribed to the candidate are notified that the note was posted. Defaults to false. Example: true.
ashby_candidate_project_addAdd an Ashby candidate to a project.WriteAdd Candidate to Project
Add an Ashby candidate to a project. Returns the updated candidate record. Use to group a candidate into a sourcing project. Use ashby_projects_list or ashby_projects_search to find the project id, and ashby_candidate_project_remove to take the candidate out. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
candidate_idstringrequired- The id of the candidate. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
project_idstringrequired- The id of the project. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_candidate_tag_addAdd an existing candidate tag to an Ashby candidate.WriteAdd Tag to Candidate
Add an existing candidate tag to an Ashby candidate. Returns the updated candidate record with its tags. Use to label a candidate. Use ashby_candidate_tags_list to find tag ids, ashby_candidate_tag_create to create a new tag, and ashby_candidate_tag_remove to take a tag off. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
candidate_idstringrequired- The unique id of the candidate to add the tag to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
tag_idstringrequired- The unique id of the tag to add to the candidate. Example: 38430ede-5bd2-41fc-b474-87591cb98cbc.
ashby_candidate_tag_createCreate a candidate tag in Ashby.WriteCreate Candidate Tag
Create a candidate tag in Ashby. If a tag with the same title already exists, Ashby returns the existing tag instead. Returns the tag record (id, title, isArchived). Use to define a new label. Use ashby_candidate_tag_add to apply it to a candidate. Requires the hiringProcessMetadataWrite permission on the Ashby API key.
Inputs
titlestringrequired- The tag's title. If a tag already exists with that title, the existing tag will be returned. Example: Strong candidate.
ashby_candidate_updateUpdate an existing Ashby candidate's name, contact details, social links, location, source or credited user.WriteUpdate Candidate
Update an existing Ashby candidate's name, contact details, social links, location, source or credited user. Returns the updated candidate record. Use to change a candidate that already exists. Use ashby_candidate_create to add a new one. Only the fields you supply are changed. Requires the candidatesWrite permission on the Ashby API key.
Inputs
candidate_idstringrequired- The unique id of the candidate to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
alternate_emailstring- An alternate email address to add to the candidate's profile. Example: test.email@ashbyhq.com.
created_atstring- An ISO date string to set the candidate's createdAt timestamp. Example: 2022-08-12T20:29:56.964Z.
credited_to_user_idstring- The id of the Ashby user the candidate is credited to. Get user ids from ashby_users_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
emailstring- Primary, personal email of the candidate to update. Example: test@ashbyhq.com.
github_urlstring- Url to the candidate's Github profile. Must be a valid Url. Example: https://github.com/user.
linked_in_urlstring- Url to the candidate's LinkedIn profile. Must be a valid Url. Example: https://linkedin.com/in/user.
location_citystring- City of the candidate's location. Example: San Francisco.
location_countrystring- Country of the candidate's location. Example: United States.
location_regionstring- Region (state, province, etc.) of the candidate's location. Example: California.
namestring- The first and last name of the candidate to update. Example: Adam Hart.
phone_numberstring- Primary, personal phone number of the candidate to update. Example: 555-555-5555.
send_notificationsboolean- Whether users subscribed to the candidate are notified of the update. Defaults to true. Example: true.
social_linksarray- Social links to set on the candidate. Replaces all existing social links. Each entry needs a type (for example LinkedIn, GitHub, Twitter or Website) and a url. If you also pass linkedin_url, github_url or website_url, those values take precedence for their type. Example: [{"type": "LinkedIn", "url": "https://linkedin.com/in/adamhart"}].
source_idstring- The id of the source to set on the candidate. Get source ids from ashby_sources_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
website_urlstring- Url of the candidate's website. Must be a valid Url. Example: https://twitter.com/user.
ashby_custom_field_value_setSet or clear one custom field value on an Ashby application, candidate, job or opening.WriteSet Custom Field Value
Set or clear one custom field value on an Ashby application, candidate, job or opening. Returns the updated object's custom field values. Use for a single field. Use ashby_custom_field_values_set to change several fields on the same object in one call and avoid race conditions. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
field_valuestringrequired- The value to store; pass null to clear it. The shape depends on the field type: a boolean; a string for String, LongText, Date (ISO date), Url, UUID and ValueSelect (one of the option values); an array of option values for MultiValueSelect; a number; an object with value and currencyCode for Currency; an object with type number-range, minValue and maxValue for NumberRange; an object with type compensation-range, minValue, maxValue, currencyCode and interval for CompensationRange; or an object with any of country, region and city for Location. Example: Senior.
object_idstringrequired- The id of the object the field value is being set on. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
object_typestringrequired- The type of object the field is associated with. One of: Application, Candidate, Job, Opening. Example: Application.one of
ApplicationCandidateJobOpening field_idstring- The id of the custom field definition. Provide this or reference_identifier. Get ids from ashby_custom_fields_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
reference_identifierstring- Beta: may not be available for all organizations. The reference id of the custom field, exactly as saved. Provide this or field_id. Example: cost_center.
ashby_custom_field_values_setSet or clear several custom field values on one Ashby application, candidate, job or opening in a single call.WriteSet Custom Field Values
Set or clear several custom field values on one Ashby application, candidate, job or opening in a single call. Returns the updated object's custom field values. Use when changing more than one field on the same object. Use ashby_custom_field_value_set for a single field. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
object_idstringrequired- The id of the object the field values are being set on. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
object_typestringrequired- The type of object the fields are associated with. One of: Application, Candidate, Job, Opening. Example: Application.one of
ApplicationCandidateJobOpening valuesarrayrequired- The custom field updates to apply, at least one. Each entry identifies the field by its id (or, in beta, its reference identifier) and gives the new value; a null value clears the field. Value shapes follow the field type, as described for ashby_custom_field_value_set. Example: [{"fieldId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e", "fieldValue": "Senior"}, {"fieldId": "38430ede-5bd2-41fc-b474-87591cb98cbc", "fieldValue": true}].
ashby_hiring_team_member_addAssign an Ashby user a hiring team role on an application, a job or an opening.WriteAdd Hiring Team Member
Assign an Ashby user a hiring team role on an application, a job or an opening. Returns the hiring team assignment. Use to staff a job or opening's hiring team. Provide exactly one of application_id, job_id or opening_id. Use ashby_hiring_team_roles_list (names_only false) for role ids. Requires the organizationWrite permission on the Ashby API key.
- Idempotent
Inputs
role_idstringrequired- The id of the hiring team role to assign. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_member_idstringrequired- The id of the user to assign the role to. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
application_idstring- The application to assign the role on. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
job_idstring- The job to assign the role on. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
opening_idstring- The opening to assign the role on. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interview_schedule_createCreate an interview schedule on an Ashby application with one or more interview events, each with start and end times and interviewers.WriteCreate Interview Schedule
Create an interview schedule on an Ashby application with one or more interview events, each with start and end times and interviewers. Returns the created interview schedule with its events. Use to book interviews. Use ashby_interview_schedule_update to change it later and ashby_interview_schedule_cancel to cancel it. Requires the interviewsWrite permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application for this interview schedule. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
interview_eventsarrayrequired- The events that make up the schedule. Each event needs a start time and end time (ISO 8601) and a list of interviewers identified by their Ashby user email, each optionally marked as required to give feedback. An event can also name the interview id to use (otherwise the organization default interview) and carry small key-value extra data. Example: [{"startTime": "2024-01-30T15:00:00.000Z", "endTime": "2024-01-30T16:00:00.000Z", "interviewers": [{"email": "interviewer@example.com", "feedbackRequired": true}]}].
ashby_interview_schedule_updateAdd, change or cancel events on an Ashby interview schedule that was created with the same API key.WriteUpdate Interview Schedule
Add, change or cancel events on an Ashby interview schedule that was created with the same API key. Returns the updated interview schedule. Use to reschedule interviews. Use ashby_interview_schedule_cancel to cancel the whole schedule. Requires the interviewsWrite permission on the Ashby API key.
- Idempotent
Inputs
interview_schedule_idstringrequired- The id of the interview schedule to update. Only interview schedules created using the API key making the request can be updated. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
allow_feedback_deletionboolean- Set to true to allow cancelling events that already have submitted feedback; cancelling deletes that feedback. Defaults to false. Example: false.
interview_event_ids_to_cancelarray- Ids of interview events on the schedule to cancel. Example: ["e9ed20fd-d45f-4aad-8a00-a19bfba0083e"].
interview_eventsarray- Events to create or update on the schedule. Each event needs a start time, end time and interviewers (by Ashby user email). Include interviewEventId to update an existing event; omit it to create a new one. Example: [{"interviewEventId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e", "startTime": "2024-01-30T15:00:00.000Z", "endTime": "2024-01-30T16:00:00.000Z", "interviewers": [{"email": "interviewer@example.com"}]}].
ashby_job_createCreate a new job in Ashby with a title, department, location and optional interview plan, template, employment type and brand.WriteCreate Job
Create a new job in Ashby with a title, department, location and optional interview plan, template, employment type and brand. Returns the created job, in Draft status. Use to open a new role. Use ashby_departments_list and ashby_locations_list for ids, ashby_job_status_set to open it, and ashby_job_posting_create to publish a posting. Requires the jobsWrite permission on the Ashby API key.
Inputs
location_idstringrequired- The id of the location associated with the job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_idstringrequired- The id of the department or team associated with the job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
titlestringrequired- The title of the job. Example: Software Engineer.
brand_idstring- The id of the brand to use for this job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
default_interview_plan_idstring- The id of the default interview plan for this job. A job cannot be opened without a default interview plan. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
employment_typestring- The employment type for the job. When omitted, inherits from the job template or defaults to FullTime. One of: FullTime, PartTime, Intern, Contract, Temporary. Example: FullTime.one of
FullTimePartTimeInternContractTemporary job_template_idstring- The id of the job template to use for this job. Only active job templates can be used to create a job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_job_posting_createCreate a job posting for an existing Ashby job, with an HTML description, workplace type, locations, listing and publish status.WriteCreate Job Posting
Create a job posting for an existing Ashby job, with an HTML description, workplace type, locations, listing and publish status. Returns the created job posting. Use to advertise a job. Use ashby_job_posting_update to edit an existing posting and ashby_job_posting_status_set to publish or unpublish it. Requires the jobsWrite permission on the Ashby API key.
Inputs
job_idstringrequired- The id of the job to create a posting for. Example: 8cfb4f68-4d1f-4f8b-9b2f-1f3f2c945f3d.
application_form_definition_idstring- The id of the application form definition to use for the posting. If omitted, the organization default form is used. Example: a1b2c3d4-5678-9abc-def0-1234567890ab.
description_htmlstring- The job posting description as an HTML block. Required when status is Published. Example: <p>We are hiring a Software Engineer to build our platform.</p>.
is_listedboolean- Whether the posting should be listed on the job board. Defaults to true and is forced to false when the parent job is confidential. Example: true.
location_idstring- The id of the primary location for the job posting. If omitted, the posting inherits the parent job's location. Example: 7bb8f10f-12d0-4d26-8d08-0f432a67b123.
secondary_location_idsarray- Ids of secondary locations for the posting. Get ids from ashby_locations_list. Example: ["7bb8f10f-12d0-4d26-8d08-0f432a67b123"].
statusstring- The initial status of the job posting. Defaults to Draft if omitted. A description is required when creating a Published posting. One of: Draft, Published. Example: Draft.one of
DraftPublished titlestring- Title for the posting. Defaults to the job's title. Example: Software Engineer.
workplace_typestring- The type of workplace One of: OnSite, Hybrid, Remote. Example: OnSite.one of
OnSiteHybridRemote
ashby_job_posting_status_setPublish or unpublish an Ashby job posting by setting its status to Published or Draft.WriteSet Job Posting Status
Publish or unpublish an Ashby job posting by setting its status to Published or Draft. Returns the updated job posting. Use to take a posting live or down. Use ashby_job_status_set to open or close the job itself. Requires the jobsWrite permission on the Ashby API key.
- Idempotent
Inputs
job_posting_idstringrequired- The unique id of the job posting to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
statusstringrequired- The status to apply to the job posting. Set to Draft to unpublish or Published to publish. One of: Draft, Published. Example: Draft.one of
DraftPublished
ashby_job_posting_updateUpdate an Ashby job posting's title, HTML description, workplace type, locations, application form, confirmation email template or job board listings.WriteUpdate Job Posting
Update an Ashby job posting's title, HTML description, workplace type, locations, application form, confirmation email template or job board listings. Returns the updated job posting. Use to edit a posting. Use ashby_job_posting_status_set to publish or unpublish it, and ashby_job_update to edit the underlying job. Requires the jobsWrite permission on the Ashby API key.
- Idempotent
Inputs
job_posting_idstringrequired- The unique id of the job posting to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
application_confirmation_email_template_idstring- The id of the email template used for application confirmation emails on this posting. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
application_form_definition_idstring- The id of the application form definition to use for this posting. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
description_htmlstring- New job posting description as an HTML block. Example: <p>We are hiring a Software Engineer to build our platform.</p>.
include_unpublished_job_postingsboolean- Set to true to allow updating an unpublished (draft) posting. Required when the posting is a draft. Example: false.
job_board_associationsarray- Full replacement of the Ashby-hosted job boards this posting appears on. Each entry needs a job board id and whether the posting is listed on it. Pass an empty array to remove the posting from every Ashby-hosted board; omit to leave boards unchanged. Example: [{"jobBoardId": "ce033f37-9f24-4f6d-8b7f-1d8a3d7c0a2b", "isListed": true}].
location_idstring- The id of the primary location for the posting. Get ids from ashby_locations_list. Example: 7bb8f10f-12d0-4d26-8d08-0f432a67b123.
secondary_location_idsarray- Full replacement list of secondary location ids for the posting. Pass an empty array to clear them. Example: ["7bb8f10f-12d0-4d26-8d08-0f432a67b123"].
suppress_description_closingboolean- When true, the job description closing from the brand will be suppressed. descriptionClosing will be returned as null. Example: false.
suppress_description_openingboolean- When true, the job description opening from the brand will be suppressed. descriptionOpening will be returned as null. Example: false.
titlestring- A new title for the job posting. Example: Software Engineer.
workplace_typestring- The type of workplace One of: OnSite, Hybrid, Remote. Example: OnSite.one of
OnSiteHybridRemote
ashby_job_status_setSet an Ashby job's status to Draft, Open, Closed or Archived, with an optional close reason.WriteSet Job Status
Set an Ashby job's status to Draft, Open, Closed or Archived, with an optional close reason. Returns the updated job record. Use to open or close a role. Use ashby_close_reasons_list for close reason ids, and ashby_job_posting_status_set to publish or unpublish the posting. Requires the jobsWrite permission on the Ashby API key.
- Idempotent
Inputs
job_idstringrequired- The unique id of the job to set the status of. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
statusstringrequired- The status to apply to the job One of: Draft, Open, Closed, Archived. Example: Draft.one of
DraftOpenClosedArchived close_reason_idstring- The unique id of the close reason. Only valid when setting the job status to Closed. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_job_updateUpdate an Ashby job's title, department, location, default interview plan, employment type or custom requisition id.WriteUpdate Job
Update an Ashby job's title, department, location, default interview plan, employment type or custom requisition id. Returns the updated job record. Use to edit job details. Use ashby_job_status_set to open, close or archive the job, and ashby_job_posting_update to edit its public posting. Requires the jobsWrite permission on the Ashby API key.
- Idempotent
Inputs
job_idstringrequired- The unique id of the job to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
custom_requisition_idstring- The new custom requisition id for the job. Example: REQ-2471.
default_interview_plan_idstring- The new default interview plan to associate with the job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
employment_typestring- The new employment type for the job One of: FullTime, PartTime, Intern, Contract, Temporary. Example: FullTime.one of
FullTimePartTimeInternContractTemporary location_idstring- The new location to associate with the job. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_idstring- The id of the department or team to associate with the job. Get ids from ashby_departments_list. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
titlestring- A new title for the job. Example: Software Engineer.
ashby_offer_createCreate an Ashby offer by submitting the offer form for an offer process.WriteCreate Offer
Create an Ashby offer by submitting the offer form for an offer process. This is the final step of creating an offer. Returns the created offer. Use after ashby_offer_process_start and ashby_offer_start, which supply the offer process id, the offer form id and the field paths. Use ashby_offer_update to change an existing offer. Requires the offersWrite permission on the Ashby API key.
Inputs
field_submissionsarrayrequired- The values for the offer form fields. Each entry names a field by its path from the offer form definition and gives a value whose shape depends on the field type: a currency field takes an object with a currency code and an integer value, a date field takes an ISO date string, a number field takes an integer, a string field takes text, a select field takes one of its option values, and a multi-select field takes an array of option values. Example: [{"path": "startDate", "value": "2024-03-01"}, {"path": "salary", "value": {"currencyCode": "USD", "value": 150000}}].
offer_form_idstringrequired- The id of the form associated with the offer. This value is the id included in the response of the offer.start API. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
offer_process_idstringrequired- The id of the offer process associated with the offer you're creating. This value is the id included in the response of the offerProcess.start API. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
exclude_form_definitionboolean- If true, omit the form definition from the response. Example: false.
ashby_offer_process_startStart the offer process for an Ashby application.WriteStart Offer Process
Start the offer process for an Ashby application. This is the first step of creating an offer. Returns the offer process, whose id is needed by ashby_offer_start and ashby_offer_create. Use before ashby_offer_start when making an offer to a candidate. Requires the offersWrite permission on the Ashby API key.
Inputs
application_idstringrequired- The id of the application to start an offer process for. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_offer_startStart a new offer version within an Ashby offer process.WriteStart Offer
Start a new offer version within an Ashby offer process. This is the second step of creating an offer. Returns the offer form definition, whose id and field paths are needed by ashby_offer_create. Use after ashby_offer_process_start and before ashby_offer_create. Requires the offersWrite permission on the Ashby API key.
Inputs
offer_process_idstringrequired- The ID of the offer process to start. This value is the id included in the response of the offerProcess.start API. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_offer_updateUpdate an Ashby offer by submitting new field values.WriteUpdate Offer
Update an Ashby offer by submitting new field values. This creates a new offer version and restarts any required approvals. Returns the updated offer. Use to change offer terms. Use ashby_offer_get first to read the current field paths and values. Requires the offersWrite permission on the Ashby API key.
- Idempotent
Inputs
field_submissionsarrayrequired- The offer field values to submit. Each entry identifies a field by its path (from ashby_offer_get) or, for offer custom fields, by its reference identifier (beta), and gives a value whose shape depends on the field type: a currency field takes an object with a currency code and an integer value, a date field takes an ISO date string, a number field takes an integer, a string field takes text, and select fields take option values. Example: [{"path": "salary", "value": {"currencyCode": "USD", "value": 160000}}].
offer_idstringrequired- The id of the offer you're updating. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
exclude_form_definitionboolean- If true, omit the form definition from the response. Example: false.
ashby_opening_createCreate an opening (a headcount slot) in Ashby, optionally linked to jobs, a team and locations, with target hire and start dates.WriteCreate Opening
Create an opening (a headcount slot) in Ashby, optionally linked to jobs, a team and locations, with target hire and start dates. Returns the created opening, in Draft state unless another state is given. Use to add headcount. Use ashby_opening_update to edit it later. Requires the jobsWrite permission on the Ashby API key.
Inputs
descriptionstring- The description of the opening. Example: Backfill for the platform team.
employment_typestring- The employment type for this opening One of: FullTime, PartTime, Intern, Contract, Temporary. Example: FullTime.one of
FullTimePartTimeInternContractTemporary identifierstring- The human-readable identifier of the opening. Example: ENG-042.
is_backfillboolean- Whether this opening is intended to backfill a previous employee. Example: false.
job_idsarray- Ids of the jobs associated with the opening. Get ids from ashby_jobs_list. Example: ["e9ed20fd-d45f-4aad-8a00-a19bfba0083e"].
location_idsarray- Ids of the locations associated with the opening. Get ids from ashby_locations_list. Example: ["e9ed20fd-d45f-4aad-8a00-a19bfba0083e"].
opening_statestring- The state the opening should be created in. Defaults to Draft. If not Draft, additional validation will be performed. One of: Draft, Approved, Open, Closed. Example: Draft.one of
DraftApprovedOpenClosed target_hire_datestring- The date (in YYYY-MM-DD format) by which you intend to hire against this opening. Example: 2026-03-01.
target_start_datestring- The date (in YYYY-MM-DD format) by which you intend someone hired against this opening will start employment. Example: 2026-04-01.
team_idstring- The id of the department or team associated with the opening. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_opening_updateUpdate an Ashby opening's identifier, description, team, target hire and start dates, backfill flag or employment type.WriteUpdate Opening
Update an Ashby opening's identifier, description, team, target hire and start dates, backfill flag or employment type. Returns the updated opening. Use to edit headcount details. Use ashby_opening_create to add a new opening. Requires the jobsWrite permission on the Ashby API key.
- Idempotent
Inputs
opening_idstringrequired- The id of the opening to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
descriptionstring- The description of the opening. Example: Backfill for the platform team.
employment_typestring- The employment type for this opening One of: FullTime, PartTime, Intern, Contract, Temporary. Example: FullTime.one of
FullTimePartTimeInternContractTemporary identifierstring- The human-readable identifier of the opening. Example: ENG-042.
is_backfillboolean- Whether this opening is intended to backfill a previous employee. Example: false.
target_hire_datestring- The date (in YYYY-MM-DD format) by which you intend to hire against this opening. Example: 2026-03-01.
target_start_datestring- The date (in YYYY-MM-DD format) by which you intend someone hired against this opening will start employment. Example: 2026-04-01.
team_idstring- The id of the department or team associated with the opening. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_project_createCreate a sourcing project in Ashby with a title, optional description, initial custom field values and confidentiality.WriteCreate Project
Create a sourcing project in Ashby with a title, optional description, initial custom field values and confidentiality. Returns the created project, active and with no candidates. Use to start a new talent pool. Use ashby_candidate_project_add to add candidates and ashby_project_update to edit it. Requires the projectsWrite permission on the Ashby API key.
Inputs
titlestringrequired- The project's title. Example: Engineering prospects.
confidentialboolean- Whether the project is confidential. Defaults to false. Requires confidential project availability. Example: false.
custom_fieldsarray- Initial custom field values. Supply every required Project custom field. Each entry identifies the field by its id (or, in beta, its reference identifier) and gives a value: text, a boolean, a number, option values, an ISO date or a User id. Find Project field definitions with ashby_custom_fields_list. Example: [{"fieldId": "b4e1f83d-e4d0-41b9-a0ef-50a5ea9a0f9b", "fieldValue": "Engineering"}].
descriptionstring- The project's description. Plain text by default; set description_content_type to text/html to send HTML. Example: Candidates for future engineering roles.
description_content_typestring- Content type of the description: text/plain (default) or text/html. One of: text/plain, text/html. Example: text/plain.one of
text/plaintext/htmldefaulttext/plain
ashby_project_updateUpdate an Ashby project's title or description.WriteUpdate Project
Update an Ashby project's title or description. Returns the updated project. Use to rename or re-describe a project. Use ashby_project_create to make a new one. Requires the projectsWrite permission on the Ashby API key.
- Idempotent
Inputs
project_idstringrequired- The id of the project to update. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
descriptionstring- New project description. Plain text by default; set description_content_type to text/html to send HTML. Omit to keep the current description. Example: Candidates for future engineering roles.
description_content_typestring- Content type of the description: text/plain (default) or text/html. Only used with description. One of: text/plain, text/html. Example: text/plain.one of
text/plaintext/htmldefaulttext/plain titlestring- The project's title. Example: Engineering prospects.
ashby_referral_createSubmit an employee referral in Ashby by filling in the referral form.WriteCreate Referral
Submit an employee referral in Ashby by filling in the referral form. Returns the created referral, including the new candidate and application. Use ashby_referral_form_get first for the form id and field paths. Use ashby_referrals_list to see existing referrals. Requires the candidatesWrite permission on the Ashby API key.
Inputs
credited_to_user_idstringrequired- The id of the user submitting the referral. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
field_submissionsarrayrequired- The referral form values. Each entry names a field by its path from the referral form and gives a value: most fields take a string, number or boolean; a job field takes the id of an open job; a location field takes an object with any of country, region and city. Example: [{"path": "_systemfield_name", "value": "Adam Hart"}, {"path": "_systemfield_email", "value": "adam.hart@example.com"}].
referral_form_idstringrequired- The id of the referral form, from ashby_referral_form_get. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
created_atstring- An ISO date string to set the referral's createdAt timestamp to. When this value isn't provided, the createdAt timestamp defaults to the time the referral was created. Example: 2022-08-12T20:29:56.964Z.
ashby_application_hiring_team_member_removeRemove an Ashby user's hiring team role from one application.DestructiveRemove Application Hiring Team Member
Remove an Ashby user's hiring team role from one application. Returns the result of the removal. Use for application-level assignments. Use ashby_hiring_team_member_remove for job- or opening-level teams. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
application_idstringrequired- The application to unassign the user a role from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
role_idstringrequired- The id of the hiring team role to unassign. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_member_idstringrequired- The id of the user to unassign the role from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_candidate_project_removeRemove an Ashby candidate from a project.DestructiveRemove Candidate from Project
Remove an Ashby candidate from a project. Returns the updated candidate record. Use to take a candidate out of a sourcing project. Use ashby_candidate_project_add to add one. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
candidate_idstringrequired- The id of the candidate. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
project_idstringrequired- The id of the project. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_candidate_tag_removeRemove a tag from an Ashby candidate.DestructiveRemove Tag from Candidate
Remove a tag from an Ashby candidate. Returns the updated candidate record with its remaining tags. Use to take a label off a candidate. Use ashby_candidate_tag_add to add one. Requires the candidatesWrite permission on the Ashby API key.
- Idempotent
Inputs
candidate_idstringrequired- The id of the candidate to remove the tag from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
tag_idstringrequired- The id of the tag to remove from the candidate. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_hiring_team_member_removeRemove an Ashby user's hiring team role from an application, a job or an opening.DestructiveRemove Hiring Team Member
Remove an Ashby user's hiring team role from an application, a job or an opening. Returns the result of the removal. Provide exactly one of application_id, job_id or opening_id. Use ashby_hiring_team_member_add to assign a role. Requires the organizationWrite permission on the Ashby API key.
- Idempotent
Inputs
role_idstringrequired- The id of the hiring team role to unassign from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
team_member_idstringrequired- The id of the user to unassign the role from. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
application_idstring- The application to remove the role from. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
job_idstring- The job to remove the role from. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
opening_idstring- The opening to remove the role from. Provide exactly one of application_id, job_id or opening_id. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
ashby_interview_schedule_cancelCancel an Ashby interview schedule and its events.DestructiveCancel Interview Schedule
Cancel an Ashby interview schedule and its events. Returns the cancelled interview schedule. Use to call off scheduled interviews. Use ashby_interview_schedule_update to cancel only some events. Requires the interviewsWrite permission on the Ashby API key.
- Idempotent
Inputs
interview_schedule_idstringrequired- The id of the interview schedule to cancel. Example: e9ed20fd-d45f-4aad-8a00-a19bfba0083e.
allow_rescheduleboolean- Whether or not this interview schedule can be rescheduled. Example: true.
No tools match.