Breadcrumbs

API Changelog

API Changelog

February 2026

Breaking: Prospect endpoints restructured

The prospect endpoints have been completely restructured for consistency and simplicity.

Removed endpoints:

  • GET /v1/prospects/{name} (lookup by company name) — removed entirely

  • GET /v1/prospects/by-id/{id}URL changed (see below)

New endpoint URL:

  • GET /v1/prospects/:id replaces both /v1/prospects/{name} and /v1/prospects/by-id/{id}

Migration:

  • If you used GET /v1/prospects/{name} to get prospect details by company name: first call GET /v1/prospects?companyName=... to find matching prospects and their IDs, then call GET /v1/prospects/:id to get the full detail (including signal intelligence).

  • If you used GET /v1/prospects/by-id/{id}, change the URL to GET /v1/prospects/:id (same ID format, accepts both prospect-{uuid} and plain {uuid}).

  • Signal filters (signalContent, evidenceKeywords, signalCategories, signalSourceTypes) are now available directly on GET /v1/prospects as optional parameters.

Breaking: Prospect detail response shape changed

The prospect detail endpoint (GET /v1/prospects/:id) now returns a single prospect object instead of a prospects array.

Before:

JSON
{
  "success": true,
  "data": {
    "prospects": [{ "prospectId": "...", ... }],
    "totalCount": 1
  }
}

After:

JSON
{
  "success": true,
  "data": {
    "prospect": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "companyName": "Acme Corp",
      "signalIntelligence": [...]
    }
  },
  "timestamp": "2026-02-19T10:30:00.000Z"
}

Migration: Change response.data.prospects[0] to response.data.prospect.

Breaking: prospectId renamed to id in prospect responses

The prospectId field has been renamed to id. The value is now a plain UUID (without the prospect- prefix).

Affected endpoints:

  • GET /v1/prospects

  • GET /v1/prospects/:id

Migration: Replace prospectId with id in your code. The GET /v1/prospects/:id endpoint accepts both plain UUID and prospect-{uuid} format.

Breaking: Removed legacy fields from prospect responses

The following fields have been removed from all prospect responses:

  • urgencyScore, maturityScore, intentScore, intentFrequency

  • buyingJourneyPhase

  • whyThisMattersNow, whatWeveSeenSoFar, momentumSnapshot

  • averageUrgencyScore (from list response)

The companyId and buyingJourneyPhase query filters and urgencyScore sortBy option have also been removed. Default sort is now lastActivity.

Breaking: Removed fields from domains list response

  • context field removed from the response envelope

  • description field removed from domain objects

New: Companies, Solutions, and Opportunities endpoints

Six new endpoints:

  • GET /v1/companies — list and filter companies

  • GET /v1/companies/:id — company details with associated prospects

  • GET /v1/solutions — list and filter solutions (detection patterns)

  • GET /v1/solutions/:id — solution details

  • GET /v1/opportunities — list and filter opportunities

  • GET /v1/opportunities/:id — opportunity details with signal matches

New: Pagination in all list responses

All list endpoints now include a pagination object:

JSON
{
  "data": {
    "prospects": [...],
    "totalCount": 150,
    "pagination": {
      "offset": 0,
      "limit": 20,
      "totalCount": 150,
      "hasMore": true
    }
  }
}

New: opportunities in prospect responses

Prospect responses now include an opportunities array with open opportunities per solution (highest conviction score each).

Fix: GET /v1/domains now accepts query parameters

The domains list endpoint now accepts includeArchived, limit, and offset query parameters.

Fix: GET /v1/prospects/:id returns proper 404

Previously returned 500 for non-existent prospect IDs. Now correctly returns 404.