List opportunities

List opportunities, newest first, with optional filters.

GET https://api.centerfy.ai/webhooks/inbound/opportunities

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.

Query parameters

NameTypeRequiredDefaultDescription
limitintegerNo50Page size; minimum 1, maximum 100 (larger values are rejected with 400).
offsetintegerNo0Number of records to skip for paging; minimum 0.
pipeline_idstring (uuid)No—Only opportunities in this pipeline.
stage_idstring (uuid)No—Only opportunities in this stage.
contact_idstring (uuid)No—Only opportunities for this contact.
company_idstring (uuid)No—Only opportunities for this company.
statusstringNo—One of open, won, lost, abandoned.

Example

curl -X GET "https://api.centerfy.ai/webhooks/inbound/opportunities?limit=50&offset=0" \
  -H "x-api-key: $CENTERFY_API_KEY"
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.opportunities.list({
  "limit": 50,
  "offset": 0
});
console.log(result);
centerfy opportunities list '{"limit":50,"offset":0}'

MCP tool: centerfy_opportunities_list (see MCP server)

Response

{
  "status": "success",
  "total": 1,
  "limit": 50,
  "offset": 0,
  "has_more": false,
  "opportunities": [
    {
      "id": "9e4c5f61-7d8a-4b92-8c3d-4e5f6a7b8c93",
      "name": "Acme — annual plan",
      "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
      "company_id": null,
      "pipeline_id": "7d2e9f10-4b3c-4a1d-9e8f-2a3b4c5d6e7f",
      "stage_id": "0b6f2c1e-3a4d-4e5f-8a9b-1c2d3e4f5a60",
      "monetary_value": 1200,
      "source": "website",
      "status": "open",
      "assigned_to": null,
      "created_at": "2026-10-03T12:00:00.000Z",
      "updated_at": "2026-10-03T12:00:00.000Z"
    }
  ]
}

Errors

  • 400 — if an id filter is not a valid UUID.
© 2026 Centerfy AI. All rights reserved.