Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Super Carl to the tool catalog: six search tools and two free account-usage tools, authenticated with
X-API-Key. Reuses the existing people, company, job, post, and account capabilities.Contact: support@supercarl.ai
Please contact us there to arrange an independent test credential and live verification. We created a dedicated search-only review account with a 1,000-credit complimentary allowance; 993 credits remain after our self-tests. The credential is ready but has not been submitted to Treg. Please contact us with your preferred private delivery channel; no key is included in this PR.
Billing and shared-key support
GET https://api.supercarl.ai/api/v1/credits.per_success,unit: call, andexpect: {json_path: success, equals: true}. Success means a completed API search. An HTTP-200success:falseclarification is free; a completedsuccess:trueempty search is still billable. This uses Treg's existing response-envelope settlement rule, with regression tests and no provider-specific runtime logic.own_accountmetadata and platform-ineligible, so a shared key cannot expose Treg's balance/account identity.TREG_PLATFORM_KEY_SUPERCARLsetting, web/worker deployment wiring, and the offered USD-per-credit rate. Treg's maintainers control provisioning/allow-list activation. There is no paid account, cash payment, invoice receipt, or agreed revenue-share arrangement to claim yet; the review grant is complimentary.What agents can do with Super Carl
Super Carl connects professional profiles with career history, employer hiring activity, company data, indexed posts, and the account owner's available relationship graph. This listing exposes those signals as searchable criteria and cross-search pivots.
The catalog publishes these as separate entry points, rather than requiring every request to begin as a people search:
supercarl.people.searchsupercarl.people.search.previewsupercarl.companies.searchsupercarl.companies.jobs.searchsupercarl.linkedin.search.postssupercarl.people.search.from_postsThese additional filter capabilities are documented in the public filter schema; the live ledger below verifies the bounded core requests, not every signal combination. Named contacts grouped with job postings (
/jobs/with-people) and relationship-detail enrichment remain outside this initial catalog scope.Self-verification ledger — 2026-09-09 UTC
All eight final catalog
test_requests returned HTTP 200. Each search returned one real result and charged one credit. The meter isGET /api/v1/credits/status→remaining, measured immediately before/after each isolated call with no other account activity. These are vendor observations, not maintainer verification stamps.supercarl.people.searchsupercarl.people.search.previewsupercarl.companies.searchsupercarl.companies.jobs.searchsupercarl.linkedin.search.postssupercarl.people.search.from_postssupercarl.account.usagesupercarl.account.usage.statusAdditional observations:
result_mode=detailed, Microsoft, limit 1: HTTP 200, one company, 1 credit, remaining 996 → 995. Both supported company modes were metered.success:falseand entity-resolution choices; both charged 0 credits (999 → 999 and 998 → 998). The final test targets avoid that ambiguity. Theexpectrules ensure these free clarification envelopes do not settle at the one-credit estimate.current_key_usage.credits_usedrose only 0 → 4: company/job activity was absent from that counter. It is not a complete meter for these six search tools. The account balance and cumulativeusedcounter reconciled all seven debits. Do not treatX-Carl-Credits-Usedas a per-request charge.Bogus-key verification, observed live 2026-09-09:
GET https://api.supercarl.ai/api/v1/credits/status: HTTP 401, exact body{"error":"Invalid API key"}.POST /connections/tokenagainst that real probe: HTTP 422, exact body{"detail":"Super Carl rejected that token (Invalid API key)"}. Follow-upGET /connectionsreturned200 []; no invalid credential was saved. The throwaway database/org was deleted and the local server stopped.Validation
uv run --frozen python scripts/catalog_validate.py: 95 provider files, 3,226 endpoints, 0 errors, 0 warnings after rebasing on upstream8f1a71ba(2026-09-09).uv run --frozen python scripts/build_plugin.py --check: all five generated copies match.TZ=UTC uv run --with pytest-xdist pytest -n auto -q: 3,223 passed, 5 skipped (116.70 seconds) after the rebase. UTC matches service accounting; local-date tests otherwise straddle UTC midnight.uv run --frozen lint-imports: 14 contracts kept, 0 broken. The rebase preserves both provider additions in shared lists; Super Carl endpoint definitions, live targets, and settlement tests are unchanged. No additional live credits used.git diff --check: passed. Context fragments and generated source map updated.Full REST surface map
Source: https://supercarl.ai/docs/endpoints.json; 48 operations fetched 2026-09-09. The custom JSON schema is not OpenAPI, so
source.openapiis null. Stable full schema: https://supercarl.ai/docs/schema.json. MCP tools are a separately documented transport at https://supercarl.ai/docs/mcp and are excluded from this REST catalog proposal. The overview also mentions/api/v1/network/summary; it is excluded as private graph readiness metadata and is absent from the focused endpoint schema.GET /api/v1/creditsGET /api/v1/credits/statusGET /api/v1/contacts/reconciliation/schemaPOST /api/v1/contacts/delegate-resolvePOST /api/v1/contacts/reconciliation/runsPOST /api/v1/contacts/reconciliation/runs/:runId/batches/previewPOST /api/v1/contacts/reconciliation/runs/:runId/batchesGET /api/v1/contacts/reconciliation/runs/:runIdPOST /api/v1/contacts/reconciliation/runs/:runId/finalizeGET /api/v1/contacts/reconciliation/reviewPOST /api/v1/contacts/reconciliation/review/bulkGET /api/v1/contacts/reconciliation/review/:entityId/candidatesPOST /api/v1/contacts/reconciliation/review/:entityId/confirmPOST /api/v1/contacts/reconciliation/review/:entityId/:actionPOST /api/v2/search/people/queryPOST /api/v1/search/peoplePOST /api/v1/communications/capabilitiesPOST /api/v1/communicationsGET /api/v1/communications/:communicationIdPOST /api/v1/communications/historyPOST /api/v1/communications/:communicationId/cancelGET /api/v1/communications/:communicationId/eventsGET /api/v1/communications/:communicationId/streamGET /api/v1/communications/:communicationId/artifacts/:filenameGET /api/v1/projectsGET /api/v1/projects/:projectIdGET /api/v1/projects/:projectId/targetsPOST /api/v1/projects/:projectId/targetsDELETE /api/v1/projects/:projectId/targetsGET /api/v1/projects/:projectId/metricsPATCH /api/v1/projects/:projectIdPUT /api/v1/projects/:projectId/templatesPOST /api/v1/projects/:projectId/templates/generatePOST /api/v1/projects/:projectId/messages/generatePUT /api/v1/projects/:projectId/target-users/:targetUserId/messagePUT /api/v1/projects/:projectId/targets/:targetId/messageGET /api/v1/projects/:projectId/send-readinessPOST /api/v1/projects/:projectId/activatePOST /api/v1/search/people/previewPOST /api/v1/search/people/enrichPOST /api/v1/companies/search/previewPOST /api/v1/search/jobs/previewPOST /api/v1/search/jobs/with-peoplePOST /api/v1/search/posts/previewPOST /api/v1/search/posts/with-peopleGET /api/v1/profiles/:id/chunksGET /api/v1/profiles/:id/textGET /api/v1/profiles/:idCuration and maintainer handoff
people.search,companies.search,companies.jobs.search,linkedin.search.posts,account.usage. No taxonomy expansion.searchscope.verified:stamps, example responses, secret values, or private profile payloads are committed. Cost provenance records the observed debit; maintainers still need their independent run.treg.people.searchneeds separately verified response fixtures/adapter work. Any adapter must preserve paid empty-search semantics instead of treating a completed empty result as a free billing miss.