canonical: https://jentic.com/apis/catsone.com/catsone

# Catsone CATS API

Jentic publishes the only available OpenAPI specification for CATS API, keeping it validated and agent-ready. CATS is an applicant tracking system that exposes endpoints for managing candidates, companies, contacts, jobs, pipelines, activities, tasks, and attachments. Agents can post new candidate records, parse resumes, search and filter applicants with structured queries, advance candidates through hiring pipelines, and log recruiting activities. The API is rate limited to 500 requests per rolling hour and authenticates via a header token.

## For AI agents

Manage candidates, jobs, hiring pipelines, and recruiting activities in CATS Applicant Tracking System. Parse resumes, search applicants, and move candidates through pipeline stages.

## Scope

Does not handle payroll, employee onboarding, or background checks - use for applicant tracking and recruiting pipeline management only.

## Capabilities

- Create and update candidate records with contact details, resumes, and custom fields
- Parse uploaded resumes into structured candidate data via the attachments parse endpoint
- Advance candidates through job pipelines and record stage changes
- Search and filter candidates, jobs, and companies using POST search endpoints
- Log recruiting activities such as calls, emails, and notes against candidates
- Manage company and contact records linked to job orders
- Schedule and track recruiter tasks tied to candidates and jobs

## Use cases

### Resume Ingestion and Candidate Creation

Agents accept inbound resumes, post them to the attachments parse endpoint, and create candidate records populated from the parsed fields. This replaces manual data entry on bulk applications and keeps the CATS database current within seconds of a resume arriving. Search endpoints then check for duplicates before insertion.

Example prompt: Parse the attached PDF resume via POST /attachments/parse, then POST /candidates with the extracted name, email, phone, and skills fields

### Pipeline Advancement and Status Tracking

Recruiters use agents to advance candidates through hiring pipelines after interviews or screening calls. The agent reads the current pipeline state via GET /candidates/{id}/pipelines and posts status updates without the recruiter logging into CATS. This shortens the loop between candidate conversation and pipeline update.

Example prompt: Retrieve candidate 12345's pipelines via GET /candidates/12345/pipelines and update the status to interview-scheduled

### Recruiter Activity Logging

Sales-style activity tracking matters for high-volume recruiting. Agents log calls, emails, and notes against candidate records via the activities endpoints so reporting reflects real recruiter effort. Filter activities by date range or recruiter to feed weekly performance reports.

Example prompt: POST a phone call activity to /activities with candidate_id 12345, duration 15 minutes, and notes from the call summary

### AI Agent Integration via Jentic

Through Jentic, an AI recruiting assistant can search the CATS catalogue by intent, load operation schemas, and execute candidate or pipeline updates without storing the API token in agent memory. Tokens stay in your Jentic One instance and the agent receives scoped execution access only.

Example prompt: Use Jentic to search 'create a candidate in CATS', load the schema for POST /candidates, and execute it with the parsed resume fields

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /candidates | Create a candidate |
| GET | /candidates/search | Search candidates |
| POST | /attachments/parse | Parse a resume into candidate fields |
| GET | /candidates/{id}/pipelines | List a candidate's pipelines |
| POST | /activities | Log a recruiter activity |
| GET | /jobs | List job orders |
| POST | /companies | Create a client company |

## Key resources

- **Candidates** — Create, update, search, and delete candidate records and their phone numbers
- **Jobs** — Manage job orders, assignments, and associated pipelines
- **Companies** — Track client companies and their associated contacts and jobs
- **Pipelines** — Read and update candidate progression through job hiring stages
- **Activities** — Log calls, emails, notes, and other recruiter activities
- **Attachments** — Upload, download, and parse resumes and supporting files
- **Tasks** — Create and track recruiter tasks tied to candidates
- **Backups** — Trigger and retrieve account-level data backups

## Why Jentic

- **Setup:** Wiring CATS by hand means learning its token header auth, formatted as Token followed by your key, and picking the right operations out of a 79-endpoint recruiting surface yourself. Through Jentic you install once, import CATS from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** CATS puts the candidate id in the URL path for operations like /candidates/{id}/pipelines, so a rule can pin your agent to one candidate for pipeline reads. You choose the operations it may call, so writes like creating candidates or logging activities are not included unless you add them.
- **Credential handling:** Your CATS API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a candidate in CATS' or 'search candidates by keyword', and Jentic returns the matching CATS operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Breezy HR API** — Modern applicant tracking system for small and mid-market recruiters
- **Ashby API** — All-in-one recruiting platform with sourcing, scheduling, and analytics
- **Calendly API** — Schedule candidate interviews after a pipeline stage change in CATS

## FAQ

### Why is there no official OpenAPI spec for CATS API?

CATS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call CATS API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the CATS API use?

The CATS API uses an API key passed in the Authorization header in the format `Token <Your API Key>`. Through Jentic, this token is held in the encrypted vault and never enters the agent's context - agents call operations through scoped execution requests instead.

### Can I parse resumes into candidate records with the CATS API?

Yes. POST /attachments/parse accepts a resume file and returns structured candidate fields. You can chain this with POST /candidates to create the record from the parsed output in a single agent run.

### What are the rate limits for the CATS API?

CATS rate limits requests to 500 per rolling hour per account, as documented in the API description. Plan bulk imports and resume parses against this ceiling, or stagger them across multiple hours.

### How do I move a candidate through a hiring pipeline through Jentic?

Search Jentic for 'advance a CATS candidate pipeline', load the schema for the candidate pipelines endpoint, then execute against /candidates/{id}/pipelines with the new status. The agent never sees the raw API token.

### Can the CATS API search candidates with structured filters?

Yes. GET /candidates/search runs simple keyword searches and POST /candidates/search accepts a JSON filter body for structured queries across fields such as status, owner, and pipeline. Equivalent search endpoints exist for activities, jobs, and companies.

### Can I limit what my agent is allowed to do with the CATS API?

Yes. Because you self-host Jentic One, your own rules decide which CATS operations and credentials the agent may use, so it can read a candidate pipeline through GET /candidates/{id}/pipelines while write operations like POST /candidates or POST /activities stay off unless you add them. Since CATS puts the candidate id in the URL path, a rule can pin the agent to a single candidate for pipeline reads. Your CATS API token is injected only at execution time and never enters the agent's prompt or logs.
