{"providerId":"provider_000001","version":"0.1.0-prototype.1","apiVersion":"v1","generatedAt":"2026-09-13T02:57:21.173Z","restBasePath":"/v1/capabilities/invoke","openApiPath":"/v1/openapi.json","problemDetailsContentType":"application/problem+json","idempotencyHeader":"Idempotency-Key","telemetryHeaders":["X-Request-Id","X-Venrac-Client","X-Venrac-SDK-Version"],"installationTokenMode":"scoped_public_read","contractTests":["openapi-3.1","problem-details","request-id","scoped-public-read","sdk-reference-client"],"kits":[{"id":"typescript-client","name":"TypeScript client","target":"typescript","status":"preview","entrypoint":"VenracClient","capabilities":["business.get","source.list","company.get","product.get","pricing.get","docs.search","integration.list","security.get","demo.request","support.create","contact.create"],"setupSteps":["Set the VENRAC base URL.","Create a client with public read scopes.","Call business.get, source.list, or aiReadiness through /v1."],"securityNotes":["Use scoped read permissions.","Do not ship private tenant credentials in browser code.","Attach X-Request-Id for traceable support and contract tests."]},{"id":"nextjs-middleware","name":"Next.js middleware","target":"nextjs","status":"preview","entrypoint":"middleware.ts","capabilities":["business.get","source.list"],"setupSteps":["Route public discovery requests through middleware.","Cache public reads at the edge.","Forward denied writes to server-side actions only."],"securityNotes":["Keep write scopes server-side.","Treat provider IDs as tenant-bound inputs."]},{"id":"wordpress-plugin","name":"WordPress plugin","target":"wordpress","status":"planned","entrypoint":"venrac-discovery.php","capabilities":["business.get","source.list"],"setupSteps":["Register the site domain.","Publish the manifest URL.","Sync public organization and offer facts."],"securityNotes":["Store tokens outside public options.","Respect crawl and freshness limits."]},{"id":"rest-contract","name":"REST contract","target":"rest","status":"preview","entrypoint":"/v1/capabilities/invoke","capabilities":["business.get","source.list","company.get","product.get","pricing.get","docs.search","integration.list","security.get","demo.request","support.create","contact.create"],"setupSteps":["Send JSON payloads with capabilityName, scopes, and payload.","Validate problem+json errors before retrying.","Record invocation receipts and request IDs for audit."],"securityNotes":["Scopes are required even for public reads.","Invalid payloads fail closed.","Use Idempotency-Key for retryable invocations."]}]}