HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private
Content-Type: application/json
Expires: Sat, 27 Jun 2026 01:49:23 GMT
Vary: Accept
{
"openapi": "3.1.0",
"info": {
"title": "SiteShot Agent API",
"version": "1.0.0",
"description": "ChatGPT Actions-ready API for SiteShot plan discovery, email-gated signup, usage status, subscription checkout, and explicit screenshot API key reveal."
},
"servers": [
{
"url": "https://www.site-shot.com"
}
],
"paths": {
"/api/v1/agent/plans/": {
"get": {
"operationId": "listPlans",
"summary": "List public SiteShot subscription plans",
"responses": {
"200": {
"description": "Public plans"
}
}
}
},
"/api/v1/agent/signup/": {
"post": {
"operationId": "startEmailGatedSignup",
"summary": "Create an inactive account and send a setup email",
"x-openai-isConsequential": true,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSignupRequest"
}
}
}
},
"responses": {
"202": {
"description": "Setup email queued"
}
}
}
},
"/api/v1/agent/profile/": {
"get": {
"operationId": "getProfile",
"summary": "Read the authorized SiteShot account profile without exposing the full API key",
"security": [
{
"SiteShotOAuth": [
"account:read"
]
}
],
"responses": {
"200": {
"description": "Account profile"
}
}
}
},
"/api/v1/agent/usage/": {
"get": {
"operationId": "getUsageSummary",
"summary": "Read current screenshot quota and usage summary",
"security": [
{
"SiteShotOAuth": [
"usage:read"
]
}
],
"responses": {
"200": {
"description": "Usage summary"
}
}
}
},
"/api/v1/agent/subscription/": {
"get": {
"operationId": "getSubscriptionStatus",
"summary": "Read active subscription status",
"security": [
{
"SiteShotOAuth": [
"account:read"
]
}
],
"responses": {
"200": {
"description": "Subscription status"
}
}
}
},
"/api/v1/agent/checkout-sessions/": {
"post": {
"operationId": "createCheckoutSession",
"summary": "Create a Stripe Checkout Session for a public tariff",
"x-openai-isConsequential": true,
"security": [
{
"SiteShotOAuth": [
"billing:checkout"
]
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CheckoutSessionRequest"
}
}
}
},
"responses": {
"201": {
"description": "Checkout URL created"
}
}
}
},
"/api/v1/agent/reveal-api-key/": {
"post": {
"operationId": "revealApiKey",
"summary": "Explicitly reveal the full screenshot API key and create an audit log entry",
"x-openai-isConsequential": true,
"security": [
{
"SiteShotOAuth": [
"api_key:read"
]
}
],
"responses": {
"200": {
"description": "API key revealed with warning"
}
}
}
}
},
"components": {
"securitySchemes": {
"SiteShotOAuth": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://www.site-shot.com/o/authorize/",
"tokenUrl": "https://www.site-shot.com/o/token/",
"scopes": {
"account:read": "Read account profile and subscription status.",
"usage:read": "Read screenshot usage and quota summary.",
"billing:checkout": "Create Stripe Checkout sessions.",
"api_key:read": "Reveal the full screenshot API key after explicit authorization."
}
}
}
}
},
"schemas": {
"AgentSignupRequest": {
"type": "object",
"required": [
"email",
"first_name",
"last_name"
],
"properties": {
"email": {
"type": "string",
"format": "email"
},
"first_name": {
"type": "string",
"maxLength": 30
},
"last_name": {
"type": "string",
"maxLength": 30
}
}
},
"CheckoutSessionRequest": {
"type": "object",
"required": [
"tariff_id"
],
"properties": {
"tariff_id": {
"type": "integer",
"minimum": 1
}
}
}
}
}
}