API reference

Public endpoints

Use with your agent

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.

StatusMeaningBody
200The OpenAPI document.application/json: {"type":"object"}
405The method is not allowed on this route.application/json: ErrorEnvelope
431The 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.

StatusMeaningBody
200The measured public facts. Uptime is unavailable when the status provider does not answer.application/json: PublicStats
405The method is not allowed on this route.application/json: ErrorEnvelope
431The request has more than 64 headers or more than 32 KiB of header names and values.application/json: ErrorEnvelope
500The 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.

StatusMeaningBody
201The testimonial is stored for private owner review.application/json: TestimonialSubmission
400The one error envelope every backend response uses.application/json: ErrorEnvelope
403The one error envelope every backend response uses.application/json: ErrorEnvelope
405The method is not allowed on this route.application/json: ErrorEnvelope
413The one error envelope every backend response uses.application/json: ErrorEnvelope
415The one error envelope every backend response uses.application/json: ErrorEnvelope
429The one error envelope every backend response uses.application/json: ErrorEnvelope
431The request has more than 64 headers or more than 32 KiB of header names and values.application/json: ErrorEnvelope
500The one error envelope every backend response uses.application/json: ErrorEnvelope
503The one error envelope every backend response uses.application/json: ErrorEnvelope

Schemas

PublicStats

Measured facts shown on the public sales site.

FieldRequiredDescription and type
renders_servedYes{"type":"integer","minimum":0}
gallery_templatesYes{"type":"integer","minimum":0}
uptime_percentYes{"type":["number","null"],"minimum":0,"maximum":100}
uptime_daysYes{"type":"integer","minimum":0}
statusYes{"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.

FieldRequiredDescription and type
nameYes{"type":"string","minLength":2,"maxLength":80}
companyYes{"type":"string","minLength":2,"maxLength":120}
quoteYes{"type":"string","minLength":20,"maxLength":1000}
permissionYesThe visitor permits contact about the quote. This does not publish it. {"type":"boolean","const":true}
captcha_tokenYes{"type":"string","minLength":1,"maxLength":2048}

Schema rules: {"type":"object","additionalProperties":false}.

TestimonialSubmission

The private submission identifier returned after storage.

FieldRequiredDescription and type
idYes{"type":"string","format":"uuid"}

Schema rules: {"type":"object","additionalProperties":false}.

Shared errors, headers, and authentication schemes are in shared types and security.

Ready to make your first file?

Start in the playground with a gallery template, or get an API key and send your first request from your own terminal.