All integrations

CATSone

BUSINESS · PEOPLE

Candidates, jobs, activities, attachments, and pipelines in the applicant tracking system they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

catsone_delete_activities_by_idWRITE

Delete an activity via DELETE /activities/{id}.

api
catsone_delete_attachments_by_idWRITE

Delete an attachment via DELETE /attachments/{id}.

api
catsone_delete_candidates_by_candidate_id_emails_by_idWRITE

Delete a candidate email via DELETE /candidates/{candidate_id}/emails/{id}.

api
catsone_delete_candidates_by_candidate_id_phones_by_idWRITE

Delete a candidate phone via DELETE /candidates/{candidate_id}/phones/{id}.

api
catsone_delete_candidates_by_candidate_id_tags_by_tag_idWRITE

Delete candidate tag via DELETE /candidates/{candidate_id}/tags/{tag_id}.

api
catsone_delete_candidates_by_idWRITE

Delete a candidate via DELETE /candidates/{id}.

api
catsone_delete_candidates_lists_by_idWRITE

Delete a candidate list via DELETE /candidates/lists/{id}.

api
catsone_delete_candidates_lists_by_list_id_items_by_item_idWRITE

Delete a candidate list item via DELETE /candidates/lists/{list_id}/items/{item_id}.

api
catsone_delete_candidates_work_history_by_idWRITE

Delete a candidate work history item via DELETE /candidates/work_history/{id}.

api
catsone_delete_companies_by_company_id_phones_by_idWRITE

Delete a company phone via DELETE /companies/{company_id}/phones/{id}.

api
catsone_delete_companies_by_company_id_tags_by_tag_idWRITE

Delete company tag via DELETE /companies/{company_id}/tags/{tag_id}.

api
catsone_delete_companies_by_idWRITE

Delete a company via DELETE /companies/{id}.

api
catsone_delete_companies_departments_by_department_idWRITE

Delete department via DELETE /companies/departments/{department_id}.

api
catsone_delete_companies_lists_by_idWRITE

Delete a company list via DELETE /companies/lists/{id}.

api
catsone_delete_companies_lists_by_list_id_items_by_item_idWRITE

Delete a company list item via DELETE /companies/lists/{list_id}/items/{item_id}.

api
catsone_delete_contacts_by_contact_id_emails_by_idWRITE

Delete a contact email via DELETE /contacts/{contact_id}/emails/{id}.

api
catsone_delete_contacts_by_contact_id_phones_by_idWRITE

Delete a contact phone via DELETE /contacts/{contact_id}/phones/{id}.

api
catsone_delete_contacts_by_contact_id_tags_by_tag_idWRITE

Delete contact tag via DELETE /contacts/{contact_id}/tags/{tag_id}.

api
catsone_delete_contacts_by_idWRITE

Delete a contact via DELETE /contacts/{id}.

api
catsone_delete_contacts_lists_by_idWRITE

Delete a contact list via DELETE /contacts/lists/{id}.

api
catsone_delete_contacts_lists_by_list_id_items_by_item_idWRITE

Delete a contact list item via DELETE /contacts/lists/{list_id}/items/{item_id}.

api
catsone_delete_jobs_by_idWRITE

Delete a job via DELETE /jobs/{id}.

api
catsone_delete_jobs_by_job_id_tags_by_tag_idWRITE

Delete job tag via DELETE /jobs/{job_id}/tags/{tag_id}.

api
catsone_delete_jobs_lists_by_idWRITE

Delete a job list via DELETE /jobs/lists/{id}.

api
catsone_delete_jobs_lists_by_list_id_items_by_item_idWRITE

Delete a job list item via DELETE /jobs/lists/{list_id}/items/{item_id}.

api
catsone_delete_pipelines_by_idWRITE

Delete a pipeline via DELETE /pipelines/{id}.

api
catsone_delete_portals_by_portal_id_jobs_by_job_idWRITE

Unpublish portal job via DELETE /portals/{portal_id}/jobs/{job_id}.

api
catsone_delete_tasks_by_idWRITE

Delete a task via DELETE /tasks/{id}.

api
catsone_delete_webhooks_by_idWRITE

Delete a webhook via DELETE /webhooks/{id}.

api
catsone_delete_work_history_by_work_history_idWRITE

History delete a work history via DELETE /work_history/{work_history_id}.

api
catsone_get_activitiesREAD

List all activities via GET /activities.

api
catsone_get_activities_by_idREAD

Get an activity via GET /activities/{id}.

api
catsone_get_activities_searchREAD

Search activities via GET /activities/search.

api
catsone_get_attachments_by_idREAD

Get an attachment via GET /attachments/{id}. Returns the attachment's METADATA (id, filename, is_resume, owning data item) as JSON, not its bytes. Agentic Fabriq does not ship the file download: measured 2026-09-24 it answers application/octet-stream, and unbounded bytes cannot enter a tool result.

api
catsone_get_backupsREAD

List all backups via GET /backups.

api
catsone_get_backups_by_idREAD

Get a backup via GET /backups/{id}.

api
catsone_get_candidatesREAD

List all candidates via GET /candidates.

api
catsone_get_candidates_applications_by_application_idREAD

Get a candidate application via GET /candidates/applications/{application_id}.

api
catsone_get_candidates_by_candidate_id_applicationsREAD

List applications by candidate via GET /candidates/{candidate_id}/applications.

api
catsone_get_candidates_by_candidate_id_custom_fields_by_custom_field_idREAD

Get a candidate custom field value via GET /candidates/{candidate_id}/custom_fields/{custom_field_id}.

api
catsone_get_candidates_by_candidate_id_emailsREAD

List candidate emails via GET /candidates/{candidate_id}/emails.

api
catsone_get_candidates_by_candidate_id_emails_by_idREAD

Get a candidate email via GET /candidates/{candidate_id}/emails/{id}. PROVIDER DEFECT, measured 2026-09-24: a valid candidate with an ABSENT email id answers 500 {"message":"Internal server error."} where a 404 belongs. A valid pair answers 200 normally. So a 500 here means the child id does not exist, not that CATS is down.

api
catsone_get_candidates_by_candidate_id_phonesREAD

List candidate phones via GET /candidates/{candidate_id}/phones.

api
catsone_get_candidates_by_candidate_id_phones_by_idREAD

Get a candidate phone via GET /candidates/{candidate_id}/phones/{id}. PROVIDER DEFECT, measured 2026-09-24: a valid candidate with an ABSENT phone id answers 500 {"message":"Internal server error."} where a 404 belongs. A valid pair answers 200 normally, and a valid phone id under the WRONG candidate answers a typed 409 "That phone number does not exist on that data item." So a 500 here means the child id does not exist, not that CATS is down.

api
catsone_get_candidates_by_candidate_id_tagsREAD

List all candidate tags via GET /candidates/{candidate_id}/tags.

api
catsone_get_candidates_by_idREAD

Get a candidate via GET /candidates/{id}.

api
catsone_get_candidates_by_id_activitiesREAD

List candidate activities via GET /candidates/{id}/activities.

api
catsone_get_candidates_by_id_attachmentsREAD

List a candidate attachments via GET /candidates/{id}/attachments.

api
catsone_get_candidates_by_id_custom_fieldsREAD

List candidate custom field values via GET /candidates/{id}/custom_fields.

api
catsone_get_candidates_by_id_pipelinesREAD

List pipelines by candidate via GET /candidates/{id}/pipelines.

api
catsone_get_candidates_by_id_tasksREAD

List candidate tasks via GET /candidates/{id}/tasks.

api
catsone_get_candidates_by_id_thumbnailREAD

Get a candidate thumbnail via GET /candidates/{id}/thumbnail.

api
catsone_get_candidates_by_id_work_historyREAD

List candidate work history via GET /candidates/{id}/work_history.

api
catsone_get_candidates_custom_fieldsREAD

List candidate custom fields via GET /candidates/custom_fields.

api
catsone_get_candidates_custom_fields_by_idREAD

Get a candidate custom field via GET /candidates/custom_fields/{id}.

api
catsone_get_candidates_listsREAD

List all candidate lists via GET /candidates/lists.

api
catsone_get_candidates_lists_by_idREAD

Get a candidate list via GET /candidates/lists/{id}.

api
catsone_get_candidates_lists_by_id_itemsREAD

List all candidate list items via GET /candidates/lists/{id}/items.

api
catsone_get_candidates_lists_by_list_id_items_by_item_idREAD

Get a candidate list item via GET /candidates/lists/{list_id}/items/{item_id}.

api
catsone_get_candidates_searchREAD

Search candidates via GET /candidates/search.

api
catsone_get_candidates_work_history_by_idREAD

Get a candidate work history item via GET /candidates/work_history/{id}.

api
catsone_get_companiesREAD

List all companies via GET /companies.

api
catsone_get_companies_by_company_id_custom_fields_by_custom_field_idREAD

Get a company custom field value via GET /companies/{company_id}/custom_fields/{custom_field_id}.

api
catsone_get_companies_by_company_id_departmentsREAD

List all departments via GET /companies/{company_id}/departments.

api
catsone_get_companies_by_company_id_phonesREAD

List company phones via GET /companies/{company_id}/phones.

api
catsone_get_companies_by_company_id_phones_by_idREAD

Get a company phone via GET /companies/{company_id}/phones/{id}.

api
catsone_get_companies_by_company_id_tagsREAD

List all company tags via GET /companies/{company_id}/tags.

api
catsone_get_companies_by_idREAD

Get a company via GET /companies/{id}.

api
catsone_get_companies_by_id_attachmentsREAD

List company attachments via GET /companies/{id}/attachments.

api
catsone_get_companies_by_id_custom_fieldsREAD

List company custom field values via GET /companies/{id}/custom_fields.

api
catsone_get_companies_by_id_tasksREAD

List company tasks via GET /companies/{id}/tasks.

api
catsone_get_companies_by_id_thumbnailREAD

Get a company thumbnail via GET /companies/{id}/thumbnail.

api
catsone_get_companies_custom_fieldsREAD

List company custom fields via GET /companies/custom_fields.

api
catsone_get_companies_custom_fields_by_idREAD

Get a company custom field via GET /companies/custom_fields/{id}.

api
catsone_get_companies_departments_by_idREAD

Get a department via GET /companies/departments/{id}.

api
catsone_get_companies_listsREAD

List all company lists via GET /companies/lists.

api
catsone_get_companies_lists_by_idREAD

Get a list via GET /companies/lists/{id}.

api
catsone_get_companies_lists_by_id_itemsREAD

List all company list items via GET /companies/lists/{id}/items.

api
catsone_get_companies_lists_by_list_id_items_by_item_idREAD

Get a company list item via GET /companies/lists/{list_id}/items/{item_id}.

api
catsone_get_companies_searchREAD

Search companies via GET /companies/search.

api
catsone_get_companies_statusesREAD

List company statuses via GET /companies/statuses.

api
catsone_get_companies_statuses_by_idREAD

Get a company status via GET /companies/statuses/{id}.

api
catsone_get_contactsREAD

List all contacts via GET /contacts.

api
catsone_get_contacts_by_contact_id_custom_fields_by_custom_field_idREAD

Get a contact custom field value via GET /contacts/{contact_id}/custom_fields/{custom_field_id}.

api
catsone_get_contacts_by_contact_id_emailsREAD

List contact emails via GET /contacts/{contact_id}/emails.

api
catsone_get_contacts_by_contact_id_emails_by_idREAD

Get a contact email via GET /contacts/{contact_id}/emails/{id}.

api
catsone_get_contacts_by_contact_id_phonesREAD

Lis contact phones via GET /contacts/{contact_id}/phones.

api
catsone_get_contacts_by_contact_id_phones_by_idREAD

Get a contact phone via GET /contacts/{contact_id}/phones/{id}.

api
catsone_get_contacts_by_contact_id_tagsREAD

List all contact tags via GET /contacts/{contact_id}/tags.

api
catsone_get_contacts_by_idREAD

Get a contact via GET /contacts/{id}.

api
catsone_get_contacts_by_id_activitiesREAD

List contact activities via GET /contacts/{id}/activities.

api
catsone_get_contacts_by_id_attachmentsREAD

List contact attachments via GET /contacts/{id}/attachments.

api
catsone_get_contacts_by_id_custom_fieldsREAD

List contact custom field values via GET /contacts/{id}/custom_fields.

api
catsone_get_contacts_by_id_tasksREAD

List contact tasks via GET /contacts/{id}/tasks.

api
catsone_get_contacts_by_id_thumbnailREAD

Get a contact thumbnail via GET /contacts/{id}/thumbnail.

api
catsone_get_contacts_custom_fieldsREAD

List contact custom fields via GET /contacts/custom_fields.

api
catsone_get_contacts_custom_fields_by_idREAD

Get a contact custom field via GET /contacts/custom_fields/{id}.

api
catsone_get_contacts_listsREAD

List all contact lists via GET /contacts/lists.

api
catsone_get_contacts_lists_by_idREAD

Get a contact list via GET /contacts/lists/{id}.

api
catsone_get_contacts_lists_by_id_itemsREAD

List all contact list items via GET /contacts/lists/{id}/items.

api
catsone_get_contacts_lists_by_list_id_items_by_item_idREAD

Get a contact list item via GET /contacts/lists/{list_id}/items/{item_id}.

api
catsone_get_contacts_searchREAD

Search contacts via GET /contacts/search.

api
catsone_get_contacts_statusesREAD

List contact statuses via GET /contacts/statuses.

api
catsone_get_contacts_statuses_by_idREAD

Get contact status via GET /contacts/statuses/{id}.

api
catsone_get_eventsREAD

List all events starting after an id via GET /events. Paginates by CURSOR rather than by page/per_page, and there are two: the response carries `last_id`, which the next call passes as `starting_after_id`, or pass an RFC 3339 `starting_after_timestamp` instead. The response's own self link echoes whichever one CATS used.

api
catsone_get_jobsREAD

List all jobs via GET /jobs.

api
catsone_get_jobs_applications_by_application_idREAD

Get a job application via GET /jobs/applications/{application_id}.

api
catsone_get_jobs_applications_by_application_id_fieldsREAD

List job application fields via GET /jobs/applications/{application_id}/fields.

api
catsone_get_jobs_by_idREAD

Get a job via GET /jobs/{id}.

api
catsone_get_jobs_by_id_attachmentsREAD

List job attachments via GET /jobs/{id}/attachments.

api
catsone_get_jobs_by_id_custom_fieldsREAD

List job custom field values via GET /jobs/{id}/custom_fields.

api
catsone_get_jobs_by_id_pipelinesREAD

List pipelines by job via GET /jobs/{id}/pipelines.

api
catsone_get_jobs_by_id_tasksREAD

List job tasks via GET /jobs/{id}/tasks.

api
catsone_get_jobs_by_job_id_applicationsREAD

List applications by job via GET /jobs/{job_id}/applications.

api
catsone_get_jobs_by_job_id_custom_fields_by_custom_field_idREAD

Get a job custom field value via GET /jobs/{job_id}/custom_fields/{custom_field_id}.

api
catsone_get_jobs_by_job_id_tagsREAD

List all job tags via GET /jobs/{job_id}/tags.

api
catsone_get_jobs_custom_fieldsREAD

List job custom fields via GET /jobs/custom_fields.

api
catsone_get_jobs_custom_fields_by_idREAD

Get a job custom field via GET /jobs/custom_fields/{id}.

api
catsone_get_jobs_listsREAD

List all job lists via GET /jobs/lists.

api
catsone_get_jobs_lists_by_idREAD

Get a job list via GET /jobs/lists/{id}.

api
catsone_get_jobs_lists_by_id_itemsREAD

List all job list items via GET /jobs/lists/{id}/items.

api
catsone_get_jobs_lists_by_list_id_items_by_item_idREAD

Get a job list item via GET /jobs/lists/{list_id}/items/{item_id}.

api
catsone_get_jobs_searchREAD

Search jobs via GET /jobs/search.

api
catsone_get_jobs_statusesREAD

List job statuses via GET /jobs/statuses.

api
catsone_get_jobs_statuses_by_idREAD

Get a job status via GET /jobs/statuses/{id}.

api
catsone_get_pipelinesREAD

List all pipelines via GET /pipelines.

api
catsone_get_pipelines_by_idREAD

Get a pipeline via GET /pipelines/{id}.

api
catsone_get_pipelines_by_id_statusesREAD

Get pipeline historical statuses via GET /pipelines/{id}/statuses.

api
catsone_get_pipelines_workflowsREAD

List workflows via GET /pipelines/workflows.

api
catsone_get_pipelines_workflows_by_idREAD

Get a workflow via GET /pipelines/workflows/{id}.

api
catsone_get_pipelines_workflows_by_workflow_id_statusesREAD

List workflow statuses via GET /pipelines/workflows/{workflow_id}/statuses.

api
catsone_get_pipelines_workflows_by_workflow_id_statuses_by_status_idREAD

Get a workflow status via GET /pipelines/workflows/{workflow_id}/statuses/{status_id}.

api
catsone_get_portalsREAD

List all portals via GET /portals.

api
catsone_get_portals_by_idREAD

Get a portal via GET /portals/{id}.

api
catsone_get_portals_by_id_jobsREAD

List portal jobs via GET /portals/{id}/jobs.

api
catsone_get_portals_by_id_registrationREAD

Get portal registration application via GET /portals/{id}/registration.

api
catsone_get_siteREAD

Get site via GET /site.

api
catsone_get_tagsREAD

List all tags via GET /tags.

api
catsone_get_tags_by_idREAD

Get a tag via GET /tags/{id}.

api
catsone_get_tasksREAD

List all tasks via GET /tasks.

api
catsone_get_tasks_by_idREAD

Get a task via GET /tasks/{id}.

api
catsone_get_triggersREAD

List all triggers via GET /triggers.

api
catsone_get_triggers_by_idREAD

Get a trigger via GET /triggers/{id}.

api
catsone_get_usersREAD

List all users via GET /users.

api
catsone_get_users_by_idREAD

Get a user via GET /users/{id}.

api
catsone_get_webhooksREAD

List all webhooks via GET /webhooks.

api
catsone_get_webhooks_by_idREAD

Get a webhook via GET /webhooks/{id}.

api
catsone_get_work_history_by_work_history_idREAD

History get a work history via GET /work_history/{work_history_id}.

api
catsone_post_activities_searchREAD

Filter activities via POST /activities/search.

api
catsone_post_backupsWRITE

Create a backup via POST /backups.

api
catsone_post_candidatesWRITE

Create a candidate via POST /candidates. `password` in the body is the CANDIDATE PORTAL password, set on the candidate's behalf -- not an API credential, and not this connection's. Agentic Fabriq never logs a request body and CATS does not echo the value back: measured 2026-09-24, its validation errors name the offending FIELD only ('date_available must be a valid date...'), and the 201 carries no body at all.

api
catsone_post_candidates_authorizationREAD

Authorize a candidate via POST /candidates/authorization. CREDENTIAL-VERIFICATION PRIMITIVE THAT YIELDS PII ON SUCCESS, and the only tool here that is one. It checks a CANDIDATE PORTAL email/password pair, and a correct pair answers 200 with that candidate's ENTIRE record -- legal name, primary and secondary emails, postal address, phone numbers, social-media URLs and website -- so a single correct guess returns personal data, not merely a yes. Both legs measured 2026-09-24: correct pair -> 200 with the whole candidate; wrong password on a REAL email -> 404 'No candidate could be found with that login information.'; unknown email -> the SAME 404, so it does not reveal whether the account exists. Catalogued as a READ because it mutates nothing -- that is the effect, and the catalogue has no axis for sensitivity -- but granting it lets the holder test candidate portal passwords AND read a candidate's personal record without knowing, or being able to guess, its id.

api
catsone_post_candidates_by_candidate_id_emailsWRITE

Create a candidate email via POST /candidates/{candidate_id}/emails.

api
catsone_post_candidates_by_candidate_id_phonesWRITE

Create a candidate phone via POST /candidates/{candidate_id}/phones.

api
catsone_post_candidates_by_candidate_id_tagsWRITE

Replace candidate tags via POST /candidates/{candidate_id}/tags.

api
catsone_post_candidates_by_id_activitiesWRITE

Create a candidate activity via POST /candidates/{id}/activities.

api
catsone_post_candidates_by_id_work_historyWRITE

Create a candidate work history item via POST /candidates/{id}/work_history.

api
catsone_post_candidates_listsWRITE

Create a candidate list via POST /candidates/lists.

api
catsone_post_candidates_lists_by_id_itemsWRITE

Create candidate list items via POST /candidates/lists/{id}/items.

api
catsone_post_candidates_searchREAD

Filter candidates via POST /candidates/search.

api
catsone_post_companiesWRITE

Create a company via POST /companies.

api
catsone_post_companies_by_company_id_departmentsWRITE

Add department via POST /companies/{company_id}/departments.

api
catsone_post_companies_by_company_id_phonesWRITE

Create a company phone via POST /companies/{company_id}/phones.

api
catsone_post_companies_by_company_id_tagsWRITE

Replace company tags via POST /companies/{company_id}/tags.

api
catsone_post_companies_by_id_statusWRITE

Change company status via POST /companies/{id}/status.

api
catsone_post_companies_listsWRITE

Create a company list via POST /companies/lists.

api
catsone_post_companies_lists_by_id_itemsWRITE

Create company list items via POST /companies/lists/{id}/items.

api
catsone_post_companies_searchREAD

Filter companies via POST /companies/search.

api
catsone_post_contactsWRITE

Create a contact via POST /contacts.

api
catsone_post_contacts_by_contact_id_emailsWRITE

Create a contact email via POST /contacts/{contact_id}/emails.

api
catsone_post_contacts_by_contact_id_phonesWRITE

Create a contact phone via POST /contacts/{contact_id}/phones.

api
catsone_post_contacts_by_contact_id_tagsWRITE

Replace contact tags via POST /contacts/{contact_id}/tags.

api
catsone_post_contacts_by_id_activitiesWRITE

Create a contact activity via POST /contacts/{id}/activities.

api
catsone_post_contacts_by_id_statusWRITE

Change contact status via POST /contacts/{id}/status.

api
catsone_post_contacts_listsWRITE

Create a contact list via POST /contacts/lists.

api
catsone_post_contacts_lists_by_id_itemsWRITE

Create contact list items via POST /contacts/lists/{id}/items.

api
catsone_post_contacts_searchREAD

Filter contacts via POST /contacts/search.

api
catsone_post_jobsWRITE

Create a job via POST /jobs.

api
catsone_post_jobs_by_id_statusWRITE

Change job status via POST /jobs/{id}/status.

api
catsone_post_jobs_by_job_id_tagsWRITE

Replace job tags via POST /jobs/{job_id}/tags.

api
catsone_post_jobs_listsWRITE

Create a job list via POST /jobs/lists.

api
catsone_post_jobs_lists_by_id_itemsWRITE

Create job list items via POST /jobs/lists/{id}/items.

api
catsone_post_jobs_searchREAD

Filter jobs via POST /jobs/search.

api
catsone_post_pipelinesWRITE

Create a pipeline via POST /pipelines.

api
catsone_post_pipelines_by_id_statusWRITE

Change pipeline status via POST /pipelines/{id}/status.

api
catsone_post_pipelines_searchREAD

Filter pipelines via POST /pipelines/search.

api
catsone_post_portals_by_id_registrationWRITE

Submit portal registration application via POST /portals/{id}/registration.

api
catsone_post_portals_by_portal_id_jobs_by_job_idWRITE

Submit via POST /portals/{portal_id}/jobs/{job_id}.

api
catsone_post_tasksWRITE

Create a task via POST /tasks.

api
catsone_post_webhooksWRITE

Create a webhook via POST /webhooks. `secret` is the signing secret CATS will use on deliveries to `target_url`; the CALLER chooses it, so keep a copy -- measured 2026-09-24, NEITHER read hands it back. `GET /webhooks` and `GET /webhooks/{id}` return only id, event, target_url and _links, and the read shape is byte-identical for a webhook created with a secret and one created without.

api
catsone_put_activities_by_idWRITE

Update an activity via PUT /activities/{id}.

api
catsone_put_candidates_by_candidate_id_custom_fields_by_custom_field_idWRITE

Update a candidate custom field via PUT /candidates/{candidate_id}/custom_fields/{custom_field_id}.

api
catsone_put_candidates_by_candidate_id_emails_by_idWRITE

Update a candidate email via PUT /candidates/{candidate_id}/emails/{id}.

api
catsone_put_candidates_by_candidate_id_phones_by_idWRITE

Update a candidate phone via PUT /candidates/{candidate_id}/phones/{id}.

api
catsone_put_candidates_by_candidate_id_tagsWRITE

Attach candidate tags via PUT /candidates/{candidate_id}/tags.

api
catsone_put_candidates_by_idWRITE

Update a candidate via PUT /candidates/{id}. `password` in the body is the CANDIDATE PORTAL password, set on the candidate's behalf -- not an API credential, and not this connection's. Agentic Fabriq never logs a request body and CATS does not echo the value back (measured 2026-09-24).

api
catsone_put_candidates_by_id_thumbnailWRITE

Change a candidate thumbnail via PUT /candidates/{id}/thumbnail.

api
catsone_put_candidates_work_history_by_idWRITE

Update a candidate work history item via PUT /candidates/work_history/{id}.

api
catsone_put_companies_by_company_id_custom_fields_by_custom_field_idWRITE

Update a company custom field via PUT /companies/{company_id}/custom_fields/{custom_field_id}.

api
catsone_put_companies_by_company_id_phones_by_idWRITE

Update a company phone via PUT /companies/{company_id}/phones/{id}.

api
catsone_put_companies_by_company_id_tagsWRITE

Attach company tags via PUT /companies/{company_id}/tags.

api
catsone_put_companies_by_idWRITE

Update a company via PUT /companies/{id}.

api
catsone_put_companies_by_id_thumbnailWRITE

Change a company thumbnail via PUT /companies/{id}/thumbnail.

api
catsone_put_companies_departments_by_department_idWRITE

Update department via PUT /companies/departments/{department_id}.

api
catsone_put_contacts_by_contact_id_custom_fields_by_custom_field_idWRITE

Update a contact custom field via PUT /contacts/{contact_id}/custom_fields/{custom_field_id}.

api
catsone_put_contacts_by_contact_id_emails_by_idWRITE

Update a contact email via PUT /contacts/{contact_id}/emails/{id}.

api
catsone_put_contacts_by_contact_id_phones_by_idWRITE

Update a contact phone via PUT /contacts/{contact_id}/phones/{id}.

api
catsone_put_contacts_by_contact_id_tagsWRITE

Attach contact tags via PUT /contacts/{contact_id}/tags.

api
catsone_put_contacts_by_idWRITE

Update a contact via PUT /contacts/{id}.

api
catsone_put_contacts_by_id_thumbnailWRITE

Change a contact thumbnail via PUT /contacts/{id}/thumbnail.

api
catsone_put_jobs_by_idWRITE

Update a job via PUT /jobs/{id}.

api
catsone_put_jobs_by_job_id_custom_fields_by_custom_field_idWRITE

Update a job custom field via PUT /jobs/{job_id}/custom_fields/{custom_field_id}.

api
catsone_put_jobs_by_job_id_tagsWRITE

Attach job tags via PUT /jobs/{job_id}/tags.

api
catsone_put_pipelines_by_idWRITE

Update a pipeline via PUT /pipelines/{id}.

api
catsone_put_portals_by_portal_id_jobs_by_job_idWRITE

Publish portal job via PUT /portals/{portal_id}/jobs/{job_id}.

api
catsone_put_tasks_by_idWRITE

Update a task via PUT /tasks/{id}.

api
catsone_put_work_history_by_work_history_idWRITE

History update a work history via PUT /work_history/{work_history_id}.

api

Put CATSone behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.