> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Ashby with Public API – StackOne Hub

> Link a Ashby account in the StackOne Hub using Public API. End-user guide to authorize the integration and start using Ashby actions.

<Warning>Admin access to your Ashby account is required to generate an API key.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;ashby_list_departments&#x22;,&#x22;label&#x22;:&#x22;List Departments&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_department&#x22;,&#x22;label&#x22;:&#x22;Get Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_department&#x22;,&#x22;label&#x22;:&#x22;Create Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_department&#x22;,&#x22;label&#x22;:&#x22;Update Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_archive_department&#x22;,&#x22;label&#x22;:&#x22;Archive Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_restore_department&#x22;,&#x22;label&#x22;:&#x22;Restore Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_move_department&#x22;,&#x22;label&#x22;:&#x22;Move Department&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interview_plans&#x22;,&#x22;label&#x22;:&#x22;List Interview Plans&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_job_boards&#x22;,&#x22;label&#x22;:&#x22;List Job Boards&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_job_postings&#x22;,&#x22;label&#x22;:&#x22;List Job Postings&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_job_posting&#x22;,&#x22;label&#x22;:&#x22;Get Job Posting&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_job_posting&#x22;,&#x22;label&#x22;:&#x22;Update Job Posting&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_job&#x22;,&#x22;label&#x22;:&#x22;Create Job&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_job&#x22;,&#x22;label&#x22;:&#x22;Update Job&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_job_compensation&#x22;,&#x22;label&#x22;:&#x22;Update Job Compensation&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_job_templates&#x22;,&#x22;label&#x22;:&#x22;List Job Templates&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_set_job_status&#x22;,&#x22;label&#x22;:&#x22;Set Job Status&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_search_jobs&#x22;,&#x22;label&#x22;:&#x22;Search Jobs&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_jobs&#x22;,&#x22;label&#x22;:&#x22;List Jobs&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_job&#x22;,&#x22;label&#x22;:&#x22;Get Job&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_locations&#x22;,&#x22;label&#x22;:&#x22;List Locations&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_location&#x22;,&#x22;label&#x22;:&#x22;Create Location&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_location&#x22;,&#x22;label&#x22;:&#x22;Get Location&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_archive_location&#x22;,&#x22;label&#x22;:&#x22;Archive Location&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_restore_location&#x22;,&#x22;label&#x22;:&#x22;Restore Location&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_move_location&#x22;,&#x22;label&#x22;:&#x22;Move Location&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_location_address&#x22;,&#x22;label&#x22;:&#x22;Update Location Address&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_location_name&#x22;,&#x22;label&#x22;:&#x22;Update Location Name&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_location_workplace_type&#x22;,&#x22;label&#x22;:&#x22;Update Location Workplace Type&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_location_external_name&#x22;,&#x22;label&#x22;:&#x22;Update Location External Name&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_opening&#x22;,&#x22;label&#x22;:&#x22;Get Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_openings&#x22;,&#x22;label&#x22;:&#x22;List Openings&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_search_openings&#x22;,&#x22;label&#x22;:&#x22;Search Openings&#x22;,&#x22;scopes&#x22;:[&#x22;jobsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_opening&#x22;,&#x22;label&#x22;:&#x22;Create Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_job_to_opening&#x22;,&#x22;label&#x22;:&#x22;Add Job To Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_remove_job_from_opening&#x22;,&#x22;label&#x22;:&#x22;Remove Job From Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_opening&#x22;,&#x22;label&#x22;:&#x22;Update Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_opening_location&#x22;,&#x22;label&#x22;:&#x22;Add Location To Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_remove_opening_location&#x22;,&#x22;label&#x22;:&#x22;Remove Location From Opening&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_set_opening_state&#x22;,&#x22;label&#x22;:&#x22;Set Opening State&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_set_opening_archived&#x22;,&#x22;label&#x22;:&#x22;Set Opening Archived Status&#x22;,&#x22;scopes&#x22;:[&#x22;jobsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_file&#x22;,&#x22;label&#x22;:&#x22;Get File&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_candidates&#x22;,&#x22;label&#x22;:&#x22;List Candidates&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_candidate_by_id&#x22;,&#x22;label&#x22;:&#x22;Get Candidate (by ID)&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_candidate_by_external_mapping_id&#x22;,&#x22;label&#x22;:&#x22;Get Candidate (by External Mapping ID)&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_search_candidates&#x22;,&#x22;label&#x22;:&#x22;Search Candidates&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_candidate&#x22;,&#x22;label&#x22;:&#x22;Create Candidate&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_candidate&#x22;,&#x22;label&#x22;:&#x22;Update Candidate&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_upload_candidate_resume_complete&#x22;,&#x22;label&#x22;:&#x22;Upload Candidate Resume&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_upload_candidate_file_complete&#x22;,&#x22;label&#x22;:&#x22;Upload Candidate File&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_candidate_tag&#x22;,&#x22;label&#x22;:&#x22;Add Candidate Tag&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_candidate_project&#x22;,&#x22;label&#x22;:&#x22;Add Candidate To Project&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_anonymize_candidate&#x22;,&#x22;label&#x22;:&#x22;Anonymize Candidate&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_candidate_notes&#x22;,&#x22;label&#x22;:&#x22;List Candidate Notes&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_candidate_note_as_string&#x22;,&#x22;label&#x22;:&#x22;Create Candidate Note As String&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_candidate_note_as_object&#x22;,&#x22;label&#x22;:&#x22;Create Candidate Note As Object&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_candidate_projects&#x22;,&#x22;label&#x22;:&#x22;List Candidate Projects&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_candidate_client_info&#x22;,&#x22;label&#x22;:&#x22;List Candidate Client Info&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_assessment_to_candidate&#x22;,&#x22;label&#x22;:&#x22;Add Completed Assessment To Candidate&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_remove_candidate_tag&#x22;,&#x22;label&#x22;:&#x22;Remove Candidate Tag&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_remove_candidate_project&#x22;,&#x22;label&#x22;:&#x22;Remove Candidate From Project&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_email_message&#x22;,&#x22;label&#x22;:&#x22;Add Candidate Email Message&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_candidate_tags&#x22;,&#x22;label&#x22;:&#x22;List Candidate Tags&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_candidate_tag&#x22;,&#x22;label&#x22;:&#x22;Create Candidate Tag&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_projects&#x22;,&#x22;label&#x22;:&#x22;List Projects&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_search_projects&#x22;,&#x22;label&#x22;:&#x22;Search Projects&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_project&#x22;,&#x22;label&#x22;:&#x22;Get Project&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_application_by_id&#x22;,&#x22;label&#x22;:&#x22;Get Application (by ID)&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_application_by_submitted_form_instance_id&#x22;,&#x22;label&#x22;:&#x22;Get Application (by Submitted Form Instance ID)&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_applications&#x22;,&#x22;label&#x22;:&#x22;List Applications&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_application&#x22;,&#x22;label&#x22;:&#x22;Create Application&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_application&#x22;,&#x22;label&#x22;:&#x22;Update Application&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_transfer_application&#x22;,&#x22;label&#x22;:&#x22;Transfer Application&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_change_application_stage&#x22;,&#x22;label&#x22;:&#x22;Change Application Stage&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_change_application_source&#x22;,&#x22;label&#x22;:&#x22;Change Application Source&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_application_history&#x22;,&#x22;label&#x22;:&#x22;Update Application History&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_application_history&#x22;,&#x22;label&#x22;:&#x22;List Application History&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_application_hiring_team_member&#x22;,&#x22;label&#x22;:&#x22;Add Application Hiring Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_remove_application_hiring_team_member&#x22;,&#x22;label&#x22;:&#x22;Remove Application Hiring Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interview_stages&#x22;,&#x22;label&#x22;:&#x22;List Interview Stages&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_interview_stage&#x22;,&#x22;label&#x22;:&#x22;Get Interview Stage&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interview_stage_groups&#x22;,&#x22;label&#x22;:&#x22;List Interview Stage Groups&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interviewer_pools&#x22;,&#x22;label&#x22;:&#x22;List Interviewer Pools&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interview_events&#x22;,&#x22;label&#x22;:&#x22;List Interview Events&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interviews&#x22;,&#x22;label&#x22;:&#x22;List Interviews&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_interview&#x22;,&#x22;label&#x22;:&#x22;Get Interview&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_interview_schedules&#x22;,&#x22;label&#x22;:&#x22;List Interview Schedules&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_interview_schedule&#x22;,&#x22;label&#x22;:&#x22;Create Interview Schedule&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_interview_schedule&#x22;,&#x22;label&#x22;:&#x22;Update Interview Schedule&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_cancel_interview_schedule&#x22;,&#x22;label&#x22;:&#x22;Cancel Interview Schedule&#x22;,&#x22;scopes&#x22;:[&#x22;interviewsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_feedback_form_definitions&#x22;,&#x22;label&#x22;:&#x22;List Feedback Form Definitions&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_feedback_form_definition&#x22;,&#x22;label&#x22;:&#x22;Get Feedback Form Definition&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_application_feedback&#x22;,&#x22;label&#x22;:&#x22;List Application Feedback&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_submit_application_feedback&#x22;,&#x22;label&#x22;:&#x22;Submit Application Feedback&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_user&#x22;,&#x22;label&#x22;:&#x22;Get User&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_search_users&#x22;,&#x22;label&#x22;:&#x22;Search Users&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_user_interviewer_settings&#x22;,&#x22;label&#x22;:&#x22;Get User Interviewer Settings&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_user_interviewer_settings&#x22;,&#x22;label&#x22;:&#x22;Update User Interviewer Settings&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_offers&#x22;,&#x22;label&#x22;:&#x22;List Offers&#x22;,&#x22;scopes&#x22;:[&#x22;offersRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_offer&#x22;,&#x22;label&#x22;:&#x22;Get Offer&#x22;,&#x22;scopes&#x22;:[&#x22;offersRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_offer&#x22;,&#x22;label&#x22;:&#x22;Create Offer&#x22;,&#x22;scopes&#x22;:[&#x22;offersWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_start_offer&#x22;,&#x22;label&#x22;:&#x22;Start Offer Process&#x22;,&#x22;scopes&#x22;:[&#x22;offersWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_offer&#x22;,&#x22;label&#x22;:&#x22;Update Offer&#x22;,&#x22;scopes&#x22;:[&#x22;offersWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_approve_offer&#x22;,&#x22;label&#x22;:&#x22;Approve Offer&#x22;,&#x22;scopes&#x22;:[&#x22;offersWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_start_offer_process&#x22;,&#x22;label&#x22;:&#x22;Start Offer Process&#x22;,&#x22;scopes&#x22;:[&#x22;offersWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_approvals&#x22;,&#x22;label&#x22;:&#x22;List Approvals&#x22;,&#x22;scopes&#x22;:[&#x22;approvalsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_approval_definition&#x22;,&#x22;label&#x22;:&#x22;Update Approval Definition&#x22;,&#x22;scopes&#x22;:[&#x22;approvalsWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_generate_report&#x22;,&#x22;label&#x22;:&#x22;Generate Report&#x22;,&#x22;scopes&#x22;:[&#x22;reportsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_generate_report_synchronous&#x22;,&#x22;label&#x22;:&#x22;Generate Report (Synchronous)&#x22;,&#x22;scopes&#x22;:[&#x22;reportsRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_communication_templates&#x22;,&#x22;label&#x22;:&#x22;List Communication Templates&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_custom_field&#x22;,&#x22;label&#x22;:&#x22;Create Custom Field&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_custom_fields&#x22;,&#x22;label&#x22;:&#x22;List Custom Fields&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_custom_field&#x22;,&#x22;label&#x22;:&#x22;Get Custom Field&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_set_custom_field_value&#x22;,&#x22;label&#x22;:&#x22;Set Custom Field Value&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_set_custom_field_values&#x22;,&#x22;label&#x22;:&#x22;Set Custom Field Values (Batch)&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_custom_field_selectable_values&#x22;,&#x22;label&#x22;:&#x22;Update Custom Field Selectable Values&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_sources&#x22;,&#x22;label&#x22;:&#x22;List Sources&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_source_tracking_links&#x22;,&#x22;label&#x22;:&#x22;List Source Tracking Links&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_survey_form_definition&#x22;,&#x22;label&#x22;:&#x22;Get Survey Form Definition&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_survey_request&#x22;,&#x22;label&#x22;:&#x22;Create Survey Request&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_survey_requests&#x22;,&#x22;label&#x22;:&#x22;List Survey Requests&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_survey_submission&#x22;,&#x22;label&#x22;:&#x22;Create Survey Submission&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_survey_submissions&#x22;,&#x22;label&#x22;:&#x22;List Survey Submissions&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_webhook&#x22;,&#x22;label&#x22;:&#x22;Create Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;apiKeysWebhooksWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_webhook&#x22;,&#x22;label&#x22;:&#x22;Get Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;apiKeysWebhooksRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_update_webhook&#x22;,&#x22;label&#x22;:&#x22;Update Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;apiKeysWebhooksWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_delete_webhook&#x22;,&#x22;label&#x22;:&#x22;Delete Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;apiKeysWebhooksWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_get_referral_form&#x22;,&#x22;label&#x22;:&#x22;Get Referral Form&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_create_referral&#x22;,&#x22;label&#x22;:&#x22;Create Referral&#x22;,&#x22;scopes&#x22;:[&#x22;candidatesWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_archive_reasons&#x22;,&#x22;label&#x22;:&#x22;List Archive Reasons&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_close_reasons&#x22;,&#x22;label&#x22;:&#x22;List Close Reasons&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_hiring_team_roles&#x22;,&#x22;label&#x22;:&#x22;List Hiring Team Roles&#x22;,&#x22;scopes&#x22;:[&#x22;organizationRead&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_hiring_team_member_to_application&#x22;,&#x22;label&#x22;:&#x22;Add Hiring Team Member To Application&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_hiring_team_member_to_job&#x22;,&#x22;label&#x22;:&#x22;Add Hiring Team Member To Job&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_add_hiring_team_member_to_opening&#x22;,&#x22;label&#x22;:&#x22;Add Hiring Team Member To Opening&#x22;,&#x22;scopes&#x22;:[&#x22;organizationWrite&#x22;]},{&#x22;id&#x22;:&#x22;ashby_list_brands&#x22;,&#x22;label&#x22;:&#x22;List Brands&#x22;,&#x22;scopes&#x22;:[&#x22;hiringProcessRead&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Generating an API key</h2>

  <p>To connect Ashby with StackOne, you'll need to generate an API key from your Ashby account.</p>

  <Steps>
    <Step title="Sign in to Ashby">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://app.ashbyhq.com/signin" target="_blank" rel="noopener noreferrer">Ashby account</a>.</p>

        <ul>
          <li>Click the <strong>Admin</strong> button on the top bar.</li>
          <li>In the left menu bar, click <strong>Integrations</strong> to expand the menu.</li>
          <li>Click <strong>API Keys</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Add a new API key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>New</strong> to open the new API key form.</p>

        <ul>
          <li>Enter a descriptive name such as `StackOne Integration`.</li>
          <li>Click <strong>Create API Key</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Select the API key permissions">
      <div data-guide-step data-guide-scopes="jobsRead,jobsWrite,candidatesRead,candidatesWrite,interviewsRead,interviewsWrite,hiringProcessRead,hiringProcessWrite,organizationRead,organizationWrite,offersRead,offersWrite,apiKeysWebhooksRead,apiKeysWebhooksWrite,approvalsRead,approvalsWrite,reportsRead" data-guide-display-scopes-list="jobsRead,jobsWrite,candidatesRead,candidatesWrite,interviewsRead,interviewsWrite,hiringProcessRead,hiringProcessWrite,organizationRead,organizationWrite,offersRead,offersWrite,apiKeysWebhooksRead,apiKeysWebhooksWrite,approvalsRead,approvalsWrite,reportsRead">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="jobsRead,jobsWrite,candidatesRead,candidatesWrite,interviewsRead,interviewsWrite,hiringProcessRead,hiringProcessWrite,organizationRead,organizationWrite,offersRead,offersWrite,apiKeysWebhooksRead,apiKeysWebhooksWrite,approvalsRead,approvalsWrite,reportsRead" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Add Application Hiring Team Member, Add Candidate Email Message, Add Candidate Tag, Add Candidate To Project, Add Completed Assessment To Candidate, Add Hiring Team Member To Application, Add Hiring Team Member To Job, Add Hiring Team Member To Opening, Add Job To Opening, Add Location To Opening, Anonymize Candidate, Approve Offer, Archive Department, Archive Location, Cancel Interview Schedule, Change Application Source, Change Application Stage, Create Application, Create Candidate, Create Candidate Note As Object, Create Candidate Note As String, Create Candidate Tag, Create Custom Field, Create Department, Create Interview Schedule, Create Job, Create Location, Create Offer, Create Opening, Create Referral, Create Survey Request, Create Survey Submission, Create Webhook, Delete Webhook, Generate Report, Generate Report (Synchronous), Get Application (by ID), Get Application (by Submitted Form Instance ID), Get Candidate (by External Mapping ID), Get Candidate (by ID), Get Custom Field, Get Department, Get Feedback Form Definition, Get File, Get Interview, Get Interview Stage, Get Job, Get Job Posting, Get Location, Get Offer, Get Opening, Get Project, Get Referral Form, Get Survey Form Definition, Get User, Get User Interviewer Settings, Get Webhook, List Application Feedback, List Application History, List Applications, List Approvals, List Archive Reasons, List Brands, List Candidate Client Info, List Candidate Notes, List Candidate Projects, List Candidate Tags, List Candidates, List Close Reasons, List Communication Templates, List Custom Fields, List Departments, List Feedback Form Definitions, List Hiring Team Roles, List Interview Events, List Interview Plans, List Interview Schedules, List Interview Stage Groups, List Interview Stages, List Interviewer Pools, List Interviews, List Job Boards, List Job Postings, List Job Templates, List Jobs, List Locations, List Offers, List Openings, List Projects, List Source Tracking Links, List Sources, List Survey Requests, List Survey Submissions, List Users, Move Department, Move Location, Remove Application Hiring Team Member, Remove Candidate From Project, Remove Candidate Tag, Remove Job From Opening, Remove Location From Opening, Restore Department, Restore Location, Search Candidates, Search Jobs, Search Openings, Search Projects, Search Users, Set Custom Field Value, Set Custom Field Values (Batch), Set Job Status, Set Opening Archived Status, Set Opening State, Start Offer Process, Submit Application Feedback, Transfer Application, Update Application, Update Application History, Update Approval Definition, Update Candidate, Update Custom Field Selectable Values, Update Department, Update Interview Schedule, Update Job, Update Job Compensation, Update Job Posting, Update Location Address, Update Location External Name, Update Location Name, Update Location Workplace Type, Update Offer, Update Opening, Update User Interviewer Settings, Update Webhook, Upload Candidate File, Upload Candidate Resume</span>
        </div>

        <p>Select the permissions that match the data and operations you need. The `candidatesRead` permission is required at minimum to connect Ashby with StackOne.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="jobsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy jobsRead" title="Copy scope" data-copy="jobsRead">
                  <span className="connector-guide-scope-copy__label">jobsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="jobsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy jobsWrite" title="Copy scope" data-copy="jobsWrite">
                  <span className="connector-guide-scope-copy__label">jobsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="candidatesRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy candidatesRead" title="Copy scope" data-copy="candidatesRead">
                  <span className="connector-guide-scope-copy__label">candidatesRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="candidatesWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy candidatesWrite" title="Copy scope" data-copy="candidatesWrite">
                  <span className="connector-guide-scope-copy__label">candidatesWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="interviewsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy interviewsRead" title="Copy scope" data-copy="interviewsRead">
                  <span className="connector-guide-scope-copy__label">interviewsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="interviewsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy interviewsWrite" title="Copy scope" data-copy="interviewsWrite">
                  <span className="connector-guide-scope-copy__label">interviewsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="hiringProcessRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy hiringProcessRead" title="Copy scope" data-copy="hiringProcessRead">
                  <span className="connector-guide-scope-copy__label">hiringProcessRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="hiringProcessWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy hiringProcessWrite" title="Copy scope" data-copy="hiringProcessWrite">
                  <span className="connector-guide-scope-copy__label">hiringProcessWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="organizationRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy organizationRead" title="Copy scope" data-copy="organizationRead">
                  <span className="connector-guide-scope-copy__label">organizationRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="organizationWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy organizationWrite" title="Copy scope" data-copy="organizationWrite">
                  <span className="connector-guide-scope-copy__label">organizationWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="offersRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy offersRead" title="Copy scope" data-copy="offersRead">
                  <span className="connector-guide-scope-copy__label">offersRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="offersWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy offersWrite" title="Copy scope" data-copy="offersWrite">
                  <span className="connector-guide-scope-copy__label">offersWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="apiKeysWebhooksRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy apiKeysWebhooksRead" title="Copy scope" data-copy="apiKeysWebhooksRead">
                  <span className="connector-guide-scope-copy__label">apiKeysWebhooksRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="apiKeysWebhooksWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy apiKeysWebhooksWrite" title="Copy scope" data-copy="apiKeysWebhooksWrite">
                  <span className="connector-guide-scope-copy__label">apiKeysWebhooksWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="approvalsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy approvalsRead" title="Copy scope" data-copy="approvalsRead">
                  <span className="connector-guide-scope-copy__label">approvalsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="approvalsWrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy approvalsWrite" title="Copy scope" data-copy="approvalsWrite">
                  <span className="connector-guide-scope-copy__label">approvalsWrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="reportsRead">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy reportsRead" title="Copy scope" data-copy="reportsRead">
                  <span className="connector-guide-scope-copy__label">reportsRead</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Configure other permissions">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Choose any additional access the key needs, then save.</p>

        <ul>
          <li>Select <strong>Other Permissions</strong> as per your use cases.</li>
          <li>Click <strong>Save and Continue</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Copy the API key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Copy the generated key and store it securely for use later.</p>
      </div>
    </Step>
  </Steps>
</section>

<div data-whitelabel-hide>
  <h2>Linking the Account from the Hub</h2>

  <Steps>
    <Step title="Navigate to the Hub">
      Use one of the three <a href="/guides/accounts-section#linking-accounts">Linking Account Methods</a> to access the Hub.
    </Step>

    <Step title="Fill out the fields">
      Fill out the following fields using details from your provider:

      <ul>
        <li><strong>API Key</strong></li>
      </ul>
    </Step>

    <Step title="Connect">
      <ul>
        <li>Click <strong>Connect</strong></li>
        <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
        <li>Once authorization is successful, you will see a confirmation popup</li>
      </ul>
    </Step>
  </Steps>

  <p>If the account linking is successful, you will see the newly linked account in your <a href="/guides/accounts-section">Accounts</a> page.</p>
</div>
