One company's canonical profile and witness facts

The canonical published profile for a company, keyed by domain or slug, with the witness facts a buyer's tool needs: the standing field (the witnessed state), lastWitnessed (freshness), firstWitnessedAt and the unbroken run of Trooth's own hourly readings (continuity), and checksPassed out of checksRun on the signed result (coverage: checks that read as expected, out of checks run). Continuity is never claimed older than Trooth's own record and stays null until two consecutive readings agree. Responds { found: false } with 200 when no profile is published, 400 when q is missing. Cached at the edge for 120 seconds. Every response carries a methodology object stating the reading cadence, the gap tolerance that defines an unbroken series, the retention period, the per-category freshness windows, and an explicit list of coverage limits - what Trooth does not read. A caller restating witnessed or updatedAt elsewhere must carry those limits with it: neither field is a certification nor an audit opinion. Only the witness statement is signed; the profile, its facts and the company's text are not (see signing). sectionCapabilities links the section map, which says which sections this record and the other projections carry. Limited to 600 requests a minute and 20,000 an hour per client network (an IPv4 address, or an IPv6 /64), counted across server instances; over either window the answer is 429 with Retry-After set to the seconds until that window resets. If the counting store fails, each instance counts alone at the same ceilings and the read is not refused. Readable cross-origin: the response carries Access-Control-Allow-Origin: * and never Access-Control-Allow-Credentials, so a browser on any site may read it without cookies.

get/api/network/profile

Request

  • Base URL: https://trooth.co
  • URL: https://trooth.co/api/network/profile
  • Auth: none required

Query parameters

qstring required

Company domain (example.com) or Trooth slug.

contractstring

Pin the response contract version, here or in the Trooth-Contract request header (not both with different values, which is refused with 400). Omit for the current contract. A version this deployment does not answer is refused with 400 rather than approximated. Every response names the contract that served it in the Trooth-Contract response header and in contractVersion, and the one requested in requestedContract; a request for contract 1 is served contract 1 itself, with Deprecation and Sunset headers, until its withdrawal on 2027-03-01, leaving out every fact two sources answered differently and naming each in withheldContested.

sectionsstring

Comma-separated categories to return facts from: identity, registration, hosting, pricing, pricing-add-ons, security, privacy, privacy-roles, recovery, ai-practices. Omit for all. An unknown name is refused with 400 and the valid list; a section's conflicts travel with its facts.

limitstring

Facts per page, 1 to 200. With limit or after, a page carries up to 100 facts unless limit says otherwise; with neither, the response carries every fact in the selected sections. The response's selection object says how many facts the selected sections hold, how many this page carries and whether it was truncated.

afterstring

The selection.next cursor from the previous page. It is bound to the record version and to the sections asked for: if the company publishes a new version between pages, the cursor is refused with 400 (stale_cursor) rather than served from a different record. A cursor also expires 24 hours after the page that issued it and is then refused with 400 (cursor_expired).

Response

The record, or { found: false } when the Network holds none. Which body is served is keyed by the Trooth-Contract response header: 2 (the default) is NetworkProfileV2, written to the published JSON Schema https://trooth.co/schemas/network-profile.v2.schema.json and validated against it on every push and after every deployment; 1 is NetworkProfileV1, deprecated, served only to a caller that pinned contract 1, with Deprecation and Sunset headers, until its withdrawal on 2027-03-01.

NetworkProfileV2 required(unresolved $ref)
OR

Changes

No recorded changes to this operation across all 1 revision of this API.