Recommended integration order
- Read /agent.json or /.well-known/agent.json for discovery metadata.
- Load /openapi.json if your client supports typed planning or schema validation.
- Start from /api/public for a stable endpoint map and policy surface.
- Use /api/public/items for summaries and hydrate individual records from /api/public/items/{slug}.
- Use /feed.json or /api/public/updates to detect change events before recrawling item detail.
Cache and indexing policy
- Machine-readable responses send
public, max-age=300, s-maxage=3600, stale-while-revalidate=86400withX-Robots-Tag: noindex, follow. - Respect response Cache-Control headers and use /feed.json or /api/public/updates as the preferred recrawl trigger surfaces.
- Browser TTL is
300s, shared cache TTL is3600s, and stale-while-revalidate is86400s.
Error semantics
Public list endpoints prefer normalization over hard failure for unsupported query values. Item detail remains strict for missing published localized records and returns a stable 404 contract.
- Unsupported locale values fall back to the default locale.
- limit is clamped to a maximum of 50 and falls back to the default when invalid.
- Unknown taxonomy type values fall back to category for /api/public/taxonomies.
404 payload
{
"status": 404,
"error": "not_found",
"message": "Published item not found for this locale."
}Freshness and evidence semantics
For AI retrieval and agent workflows, the fastest way to rank record quality is to combine freshness, evidence, and trustSignals instead of relying only on raw descriptions.
- Freshness tracks publication, localized content changes, record updates, enrichment, manual review cadence, and recrawl hints.
- Evidence tracks whether the item has an official source, manual review, structured attributes, and written content.
- trustSignals remains the detailed fact surface for pricing, integrations, platforms, regions, languages, and verification notes.
Example requests
List featured items updated after a checkpoint
curl -s 'https://opstt.com/api/public/items?locale=pt&page=1&limit=20&featured=true&updated_after=2026-01-01T00:00:00.000Z'Hydrate one localized item detail
curl -s 'https://opstt.com/api/public/items/%7Bslug%7D?locale=pt'Poll the JSON Feed for change detection
curl -s 'https://opstt.com/feed.json?locale=pt&limit=20'Example response shapes
List response excerpt
{
"apiVersion": "2026-03-08",
"locale": "pt",
"pagination": {
"page": 1,
"limit": 20,
"total": 124,
"totalPages": 7
},
"items": [
{
"slug": "example-tool",
"title": "Example Tool",
"publicUrl": "https://opstt.com/items/example-tool",
"updatedAt": "2026-03-01T12:00:00.000Z",
"freshness": {
"lastChangedAt": "2026-03-02T09:00:00.000Z",
"publishedAt": "2026-02-10T08:00:00.000Z",
"contentUpdatedAt": "2026-03-01T12:00:00.000Z",
"recordUpdatedAt": "2026-03-01T12:00:00.000Z",
"enrichedAt": "2026-03-02T09:00:00.000Z",
"reviewedAt": "2026-03-03T10:00:00.000Z",
"recommendedReviewWindowDays": 30,
"reviewDueAt": "2026-04-02T10:00:00.000Z",
"recrawlHints": [
"manual_review_available",
"official_source_available"
]
},
"evidence": {
"basisLevel": "verified",
"officialSourceUrl": "https://example.com",
"sourceHost": "example.com",
"officialSourceAvailable": true,
"manualReviewAvailable": true,
"structuredAttributesAvailable": true,
"writtenContentAvailable": true,
"evidenceSummary": "official vendor site + manual review + structured attributes",
"evidenceSources": [
"official vendor site",
"manual review",
"structured attributes"
]
}
}
]
}Detail response excerpt
{
"slug": "example-tool",
"canonicalUrl": "https://opstt.com/items/example-tool",
"alternates": {
"languages": {
"en": "https://opstt.com/items/example-tool",
"zh": "https://opstt.com/zh/items/example-tool-cn"
}
},
"freshness": {
"lastChangedAt": "2026-03-03T10:00:00.000Z",
"reviewDueAt": "2026-04-02T10:00:00.000Z"
},
"evidence": {
"basisLevel": "verified",
"evidenceSummary": "official vendor site + manual review + structured attributes"
},
"trustSignals": {
"sourceHost": "example.com",
"reviewedAt": "2026-03-03T10:00:00.000Z",
"contentUpdatedAt": "2026-03-01T12:00:00.000Z",
"recordUpdatedAt": "2026-03-01T12:00:00.000Z",
"evidenceSources": [
"official vendor site",
"manual review",
"structured attributes"
]
}
}