# CATS API v3 Endpoint Coverage Report
Generated: 2025-12-16
## Summary
**Total Implemented**: 164 tools
**Documentation Reference**: `/home/gotime2022/Projects/RedAI/CATS_API_v3_endpoints.md`
## Coverage by Resource
### ✅ FULLY IMPLEMENTED
#### Activities (6/6 endpoints)
- ✅ List all activities
- ✅ Get an activity
- ✅ Update an activity
- ✅ Delete an activity
- ✅ Search activities
- ✅ Filter activities
#### Attachments (4/4 core endpoints)
- ✅ Get an attachment
- ✅ Delete an attachment
- ✅ Download an attachment
- ✅ Parse a resume
#### Backups (3/3 endpoints)
- ✅ List all backups
- ✅ Get a backup
- ✅ Create a backup
#### Tags (2/2 endpoints)
- ✅ List all tags
- ✅ Get a tag
#### Tasks (5/5 endpoints)
- ✅ List all tasks
- ✅ Get a task
- ✅ Create a task
- ✅ Update a task
- ✅ Delete a task
#### Triggers (2/2 endpoints)
- ✅ List all triggers
- ✅ Get a trigger
#### Users (2/2 endpoints)
- ✅ List all users
- ✅ Get a user
#### Webhooks (4/4 core endpoints)
- ✅ List all webhooks
- ✅ Get a webhook
- ✅ Create a webhook
- ✅ Delete a webhook
#### Work History (3/3 top-level endpoints)
- ✅ Get a work history
- ✅ Update a work history
- ✅ Delete a work history
#### Site (1/1 endpoint)
- ✅ Get site
#### Portals (8/8 endpoints)
- ✅ List all portals
- ✅ Get a portal
- ✅ List portal jobs
- ✅ Submit
- ✅ Publish portal job
- ✅ Unpublish portal job
- ✅ Get portal registration application
- ✅ Submit portal registration application
---
### ⚠️ PARTIALLY IMPLEMENTED
#### Candidates (29 tools implemented, ~60+ total endpoints in docs)
**✅ Core Operations (10/10)**
- ✅ List all candidates
- ✅ Get a candidate
- ✅ Create a candidate
- ✅ Update a candidate
- ✅ Delete a candidate
- ✅ Authorize a candidate
- ✅ List pipelines by candidate
- ✅ List candidate tasks
- ✅ Search candidates
- ✅ Filter candidates (FIXED: pagination in body)
**✅ Phones (5/5)**
- ✅ List candidate phones
- ✅ Get a candidate phone
- ✅ Create a candidate phone
- ✅ Update a candidate phone
- ✅ Delete a candidate phone
**✅ Emails (5/5)**
- ✅ List candidate emails
- ✅ Get a candidate email
- ✅ Create a candidate email
- ✅ Update a candidate email
- ✅ Delete a candidate email
**⚠️ Custom Fields (2/5 - 60% coverage)**
- ✅ List candidate custom fields
- ✅ Update a candidate custom field
- ❌ Get a candidate custom field
- ❌ List candidate custom field values
- ❌ Get a candidate custom field value
**✅ Activities (2/2)**
- ✅ List candidate activities
- ✅ Create a candidate activity
**✅ Attachments (3/3)**
- ✅ List candidate attachments
- ✅ Upload a candidate attachment
- ✅ Upload a resume
**⚠️ Work History (2/5 - 40% coverage)**
- ✅ List candidate work history
- ✅ Create a candidate work history item
- ❌ Get a candidate work history item
- ❌ Update a candidate work history item
- ❌ Delete a candidate work history item
**❌ Lists (0/8 - 0% coverage)**
- ❌ List all candidate lists
- ❌ Get a candidate list
- ❌ Create a candidate list
- ❌ Delete a candidate list
- ❌ List all candidate list items
- ❌ Get a candidate list item
- ❌ Create candidate list items
- ❌ Delete a candidate list item
**✅ Applications (2/2)**
- ✅ List applications by candidate
- ✅ Get a candidate application
**✅ Tags (4/4)**
- ✅ List all candidate tags
- ✅ Replace candidate tags
- ✅ Attach candidate tags
- ✅ Delete candidate tag
**❌ Thumbnails (0/2 - 0% coverage)**
- ❌ Get a candidate thumbnail
- ❌ Change a candidate thumbnail
---
#### Jobs (29 tools implemented, ~50+ total endpoints in docs)
**✅ Core Operations (7/7)**
- ✅ List all jobs
- ✅ Get a job
- ✅ Create a job
- ✅ Update a job
- ✅ Delete a job
- ✅ Search jobs
- ✅ Filter jobs (FIXED: pagination in body)
**✅ Sub-Resources**
- ✅ List pipelines by job
- ✅ List job tasks
**⚠️ Custom Fields (2/5 - 40% coverage)**
- ✅ List job custom fields
- ✅ Update a job custom field
- ❌ Get a job custom field
- ❌ List job custom field values
- ❌ Get a job custom field value
**❌ Statuses (0/3 - 0% coverage)**
- ❌ List job statuses
- ❌ Get a job status
- ❌ Change job status
**✅ Attachments (2/2)**
- ✅ List job attachments
- ✅ Upload a job attachment
**✅ Lists (8/8)**
- ✅ List all job lists
- ✅ Get a job list
- ✅ Create a job list
- ✅ Delete a job list
- ✅ List all job list items
- ✅ Get a job list item
- ✅ Create job list items
- ✅ Delete a job list item
**✅ Applications (3/3)**
- ✅ List applications by job
- ✅ Get a job application
- ✅ List job application fields
**✅ Tags (4/4)**
- ✅ List all job tags
- ✅ Replace job tags
- ✅ Attach job tags
- ✅ Delete job tag
---
#### Companies (22 tools implemented, ~45+ total endpoints in docs)
**✅ Core Operations (7/7)**
- ✅ List all companies
- ✅ Get a company
- ✅ Create a company
- ✅ Update a company
- ✅ Delete a company
- ✅ Search companies
- ✅ Filter companies
**✅ Basic Sub-Resources**
- ✅ List company tasks
- ✅ List company activities
- ✅ List company attachments
- ✅ List company pipelines
- ✅ List company contacts
**❌ Phones (0/5 - 0% coverage)**
- ❌ List company phones
- ❌ Get a company phone
- ❌ Create a company phone
- ❌ Update a company phone
- ❌ Delete a company phone
**✅ Custom Fields (2/5 - 40% coverage)**
- ✅ List company custom fields
- ✅ Update a company custom field
- ❌ Get a company custom field
- ❌ List company custom field values
- ❌ Get a company custom field value
**❌ Statuses (0/3 - 0% coverage)**
- ❌ List company statuses
- ❌ Get a company status
- ❌ Change company status
**❌ Lists (0/8 - 0% coverage)**
- ❌ List all company lists
- ❌ Get a list
- ❌ Create a company list
- ❌ Delete a company list
- ❌ List all company list items
- ❌ Get a company list item
- ❌ Create company list items
- ❌ Delete a company list item
**✅ Tags (4/4)**
- ✅ List all company tags
- ✅ Replace company tags
- ✅ Attach company tags
- ✅ Delete company tag
**❌ Departments (0/5 - 0% coverage)**
- ❌ List all departments
- ❌ Get a department
- ❌ Add department
- ❌ Update department
- ❌ Delete department
**❌ Thumbnails (0/2 - 0% coverage)**
- ❌ Get a company thumbnail
- ❌ Change a company thumbnail
---
#### Contacts (26 tools implemented, ~50+ total endpoints in docs)
**✅ Core Operations (7/7)**
- ✅ List all contacts
- ✅ Get a contact
- ✅ Create a contact
- ✅ Update a contact
- ✅ Delete a contact
- ✅ Search contacts
- ✅ Filter contacts
**✅ Basic Sub-Resources**
- ✅ List contact tasks
- ✅ List contact activities
- ✅ List contact attachments
- ✅ List contact pipelines
**✅ Phones (5/5)**
- ✅ List contact phones
- ✅ Get a contact phone
- ✅ Create a contact phone
- ✅ Update a contact phone
- ✅ Delete a contact phone
**✅ Emails (5/5)**
- ✅ List contact emails
- ✅ Get a contact email
- ✅ Create a contact email
- ✅ Update a contact email
- ✅ Delete a contact email
**✅ Custom Fields (2/5 - 40% coverage)**
- ✅ List contact custom fields
- ✅ Update a contact custom field
- ❌ Get a contact custom field
- ❌ List contact custom field values
- ❌ Get a contact custom field value
**❌ Statuses (0/3 - 0% coverage)**
- ❌ List contact statuses
- ❌ Get contact status
- ❌ Change contact status
**❌ Lists (0/8 - 0% coverage)**
- ❌ List all contact lists
- ❌ Get a contact list
- ❌ Create a contact list
- ❌ Delete a contact list
- ❌ List all contact list items
- ❌ Get a contact list item
- ❌ Create contact list items
- ❌ Delete a contact list item
**✅ Tags (4/4)**
- ✅ List all contact tags
- ✅ Replace contact tags
- ✅ Attach contact tags
- ✅ Delete contact tag
**❌ Thumbnails (0/2 - 0% coverage)**
- ❌ Get a contact thumbnail
- ❌ Change a contact thumbnail
---
#### Pipelines (13 tools implemented, ~15 total endpoints in docs)
**✅ Core Operations (6/6)**
- ✅ List all pipelines
- ✅ Get a pipeline
- ✅ Create a pipeline
- ✅ Update a pipeline
- ✅ Delete a pipeline
- ✅ Filter pipelines
**✅ Status Operations (2/2)**
- ✅ Get pipeline historical statuses
- ✅ Change pipeline status
**❌ Workflows (0/4 - 0% coverage)**
- ❌ List workflows
- ❌ Get a workflow
- ❌ List workflow statuses
- ❌ Get a workflow status
---
#### Events (0/2 - 0% coverage)
- ❌ List all events starting after an ID
- ❌ List all events starting after a timestamp
---
## Key Issues Found & Fixed
### ✅ FIXED: Filter Function Bugs
**Issue**: `filter_candidates` and `filter_jobs` were sending pagination in query params instead of JSON body, causing 400 Bad Request errors.
**Fixed**:
- toolsets_default.py:167 - `filter_candidates`
- toolsets_default.py:779 - `filter_jobs`
**Change**: Moved `per_page` and `page` from query params into JSON payload for POST `/candidates/search` and POST `/jobs/search`.
---
## Missing Endpoint Categories (High Priority)
### Critical Missing Features
1. **Candidate/Company/Contact Lists** (0% coverage)
- List management endpoints completely missing
- 24 endpoints total across 3 resources
2. **Thumbnails** (0% coverage)
- Image management for candidates, companies, contacts
- 6 endpoints total
3. **Status Management** (partial)
- Job statuses: 0/3
- Company statuses: 0/3
- Contact statuses: 0/3
- 9 endpoints total
4. **Workflow Management** (0% coverage)
- Pipeline workflows and workflow statuses
- 4 endpoints
5. **Events** (0% coverage)
- Event stream endpoints
- 2 endpoints
6. **Departments** (0% coverage)
- Company department management
- 5 endpoints
7. **Custom Field Details** (40% coverage across resources)
- Get individual custom fields
- List/get custom field values
- ~9-12 missing endpoints
8. **Work History Item CRUD** (Candidates)
- Get/update/delete individual work history items
- 3 endpoints
9. **Company Phones** (0% coverage)
- Phone management for companies
- 5 endpoints
---
## Recommendations
### Immediate Actions
1. ✅ **DONE**: Fix `filter_candidates` and `filter_jobs` pagination bugs
2. **TODO**: Add missing high-value endpoints:
- Candidate/Job/Company/Contact Lists (critical for workflows)
- Status management (job/company/contact statuses)
- Workflow endpoints (pipeline workflows)
- Events API (for real-time updates)
### Future Enhancements
1. Add thumbnail management endpoints
2. Complete custom fields detail operations
3. Add department management for companies
4. Complete work history CRUD for candidates
5. Add company phone management
---
## Current Tool Count: 164/200+ endpoints (~82% core coverage)
**Strong Coverage**: Core CRUD operations, basic sub-resources
**Weak Coverage**: Advanced features (lists, statuses, workflows, thumbnails)
**Fixed Issues**: Filter function pagination bugs