Public endpoints
Give this prompt to your AI agent. The agent does the task for you.
Read https://thirds.ai/docs/api-reference/public and help me choose the right thirds.ai endpoint and write a request. Check the fields and credentials in this reference.
Read the public API contract and service facts, or submit a testimonial with the required safety check.
See all API resources or read API keys and requests.
Endpoints
getOpenApiDocument
GET /v1/openapi.json
Get the OpenAPI document
Return this API contract as a JSON document.
Authentication: no credential required.
| Status | Meaning | Body |
|---|---|---|
| 200 | The OpenAPI document. | application/json: {"type":"object"} |
| 405 | The method is not allowed on this route. | application/json: ErrorEnvelope |
| 431 | The request has more than 64 headers or more than 32 KiB of header names and values. | application/json: ErrorEnvelope |
getPublicStats
GET /v1/public-stats
Read measured public facts
Return the count of successful customer and playground files, the reviewed gallery template count, and the weakest uptime and current status from the public status page. The response is cached for five minutes. Customer content and account data never enter this response.
Authentication: no credential required.
| Status | Meaning | Body |
|---|---|---|
| 200 | The measured public facts. Uptime is unavailable when the status provider does not answer. | application/json: PublicStats |
| 405 | The method is not allowed on this route. | application/json: ErrorEnvelope |
| 431 | The request has more than 64 headers or more than 32 KiB of header names and values. | application/json: ErrorEnvelope |
| 500 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
submitTestimonial
POST /v1/testimonials
Offer a testimonial for private review
Store one visitor's name, company, quote, and permission for owner review. Sending this request never publishes the quote. A same-site browser origin and a fresh CAPTCHA pass protect the form.
Authentication: no credential required.
Request body: application/json, TestimonialRequest.
| Status | Meaning | Body |
|---|---|---|
| 201 | The testimonial is stored for private owner review. | application/json: TestimonialSubmission |
| 400 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 403 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 405 | The method is not allowed on this route. | application/json: ErrorEnvelope |
| 413 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 415 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 429 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 431 | The request has more than 64 headers or more than 32 KiB of header names and values. | application/json: ErrorEnvelope |
| 500 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
| 503 | The one error envelope every backend response uses. | application/json: ErrorEnvelope |
Schemas
PublicStats
Measured facts shown on the public sales site.
| Field | Required | Description and type |
|---|---|---|
renders_served | Yes | {"type":"integer","minimum":0} |
gallery_templates | Yes | {"type":"integer","minimum":0} |
uptime_percent | Yes | {"type":["number","null"],"minimum":0,"maximum":100} |
uptime_days | Yes | {"type":"integer","minimum":0} |
status | Yes | {"type":"string","enum":["operational","degraded","downtime","maintenance","unavailable"]} |
Schema rules: {"type":"object","additionalProperties":false}.
TestimonialRequest
One private testimonial offer and the fresh browser check that protects it.
| Field | Required | Description and type |
|---|---|---|
name | Yes | {"type":"string","minLength":2,"maxLength":80} |
company | Yes | {"type":"string","minLength":2,"maxLength":120} |
quote | Yes | {"type":"string","minLength":20,"maxLength":1000} |
permission | Yes | The visitor permits contact about the quote. This does not publish it. {"type":"boolean","const":true} |
captcha_token | Yes | {"type":"string","minLength":1,"maxLength":2048} |
Schema rules: {"type":"object","additionalProperties":false}.
TestimonialSubmission
The private submission identifier returned after storage.
| Field | Required | Description and type |
|---|---|---|
id | Yes | {"type":"string","format":"uuid"} |
Schema rules: {"type":"object","additionalProperties":false}.
Shared errors, headers, and authentication schemes are in shared types and security.