---
title: "Businesses whose published supply categories match the categories one business has published as things it buys. Returns potential_compatibility only: no relationship is asserted, neither party has said they have done business, and nothing is matched on industry. Withheld categories on either side are excluded, so an empty result is not evidence that no counterparty exists."
method: GET
path: "/api/v1/businesses/suppliers"
---

# Businesses whose published supply categories match the categories one business has published as things it buys. Returns potential_compatibility only: no relationship is asserted, neither party has said they have done business, and nothing is matched on industry. Withheld categories on either side are excluded, so an empty result is not evidence that no counterparty exists.

`GET /api/v1/businesses/suppliers`

## Request

- Base URL: `https://veilpoint.ca`
- URL: `https://veilpoint.ca/api/v1/businesses/suppliers`
- Auth: none declared

## Query parameters

- `businessId` string, required

## Response `200`

The envelope described above.

- PublicEnvelope
  - `meta` object, required
    - `platform` 'VeilPoint Opportunity Exchange', required
    - `canonical` string, uri, required
    - `retrievedAt` string, date-time, required
    - `dataStatus` string, required
    - `evidence` EvidenceSummary, required
      - `status` 'published' | 'derived' | 'mixed' | 'placeholder', required
      - `truthState` 'preview' | 'snapshot' | 'measured_aggregate' | 'mixed' | 'live' | 'metadata', required
      - `scenarioType` 'preview_scenario' | 'published_snapshot' | 'measured_aggregate' | 'mixed_evidence' | 'actionable_record' | 'observed_hiring_signal' | 'platform_metadata', required
      - `recordType` string, required
      - `isActionable` boolean, required
      - `synthetic` boolean, required
      - `confidence` 'A' | 'B' | 'C' | 'D', nullable, required
      - `sourceKinds` string[], required
      - `asOf` string, date-time, nullable, required
      - `qualification` string, required
      - `assumptions` string[], required
    - `provenance` object
    - `citeAs` string, required
  - `data` object, required

## Other responses

- `304`: Not modified (If-None-Match matched the data ETag).
- `400`: Invalid parameter value, with an error naming the parameter.
- `404`: Unknown id or missing required parameter, with an error hint.
- `429`: Rate limited. Retry-After and the RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset headers state when to resume.

---

[API](https://skmtc.dev/veilpoint/apis/veilpoint-opportunity-exchange-public-api.md) · [All operations](https://skmtc.dev/veilpoint/apis/veilpoint-opportunity-exchange-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/veilpoint/apis/veilpoint-opportunity-exchange-public-api/revisions/fa1381cfa886?raw)
