Skip to content

fix: repair/remove list_* methods on Apollo's removed nested routes - #20

Merged
jschfflr merged 1 commit into
mainfrom
fix/remove-dead-list-endpoints
Jul 10, 2026
Merged

fix: repair/remove list_* methods on Apollo's removed nested routes#20
jschfflr merged 1 commit into
mainfrom
fix/remove-dead-list-endpoints

Conversation

@jschfflr

Copy link
Copy Markdown
Contributor

Context

A live audit of every endpoint (prompted by the deprecated people search) found Apollo has removed several nested sub-resource GET routes — they now 404.

Changes

Method Old (dead) route Action
list_contact_tasks /contacts/{id}/tasks ✅ rewired to search_tasks(contact_ids=[id]) (verified: filters 33→1)
list_account_jobs /accounts/{id}/job_postings ✅ resolves organization_id, reads /organizations/{org_id}/job_postings (verified: 395 postings)
list_contact_calls /contacts/{id}/calls removed — no replacement (phone_calls/search ignores contact_ids/person_ids)
list_account_news /accounts/{id}/news removed — no replacement found

⚠️ Breaking

Removes ApolloClient.list_contact_calls and list_account_news. A companion apollo-cli PR removes the calls and news commands that used them.

Testing

  • Rewrote the two fixed methods' tests; removed the two deleted methods' tests. +1 test for the no-organization jobs path.
  • Live-verified both fixed methods against the real API.
  • ruff ✅ · pyright ✅ · 185 tests ✅

No version bump (release PR will bump — this is a breaking change → minor/major your call at release).

🤖 Generated with Claude Code

Apollo removed several nested sub-resource GET routes (now 404). Audit fixed:

- list_contact_tasks: /contacts/{id}/tasks (gone) -> search_tasks(contact_ids=[id]).
- list_account_jobs: /accounts/{id}/job_postings (gone) -> resolve the account's
  organization_id, then /organizations/{org_id}/job_postings.
- list_contact_calls: REMOVED. /contacts/{id}/calls is gone and phone_calls/search
  ignores contact_ids/person_ids, so there's no working way to list a contact's
  calls via the API.
- list_account_news: REMOVED. /accounts/{id}/news is gone with no replacement.

Live-verified: list_contact_tasks and list_account_jobs return correct data.

BREAKING: removes ApolloClient.list_contact_calls and list_account_news.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@peqy

peqy Bot commented Jul 10, 2026

Copy link
Copy Markdown

[Question] Potential pagination behavior change in the rewired “list_*” methods

list_contact_tasks() now delegates to search_tasks() which (per current client patterns) returns a single page (default page=1, limit=100). If a contact can have >100 tasks, list_contact_tasks() will now truncate unless callers pass a bigger limit (they can’t via this method).

Fix: if “list” is intended to mean “all”, consider either (a) adding limit/page args to list_contact_tasks() (and maybe list_account_jobs() if that endpoint paginates), or (b) documenting that it returns only the first page.

@peqy

peqy Bot commented Jul 10, 2026

Copy link
Copy Markdown

[Improvement] Version bump note vs actual change

PR description says “No version bump”, but this PR updates uv.lock to 0.4.0 (and pyproject.toml already reports 0.4.0). Not a blocker, but it’s a breaking API removal, so it might be worth aligning the description and/or ensuring the intended version bump is handled in the release PR.

@jschfflr
jschfflr merged commit 39117a8 into main Jul 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant