{"components":{"securitySchemes":{"forgoogleformsApiKey":{"description":"API key `fgf_...` created in the web dashboard.","scheme":"bearer","type":"http"}}},"info":{"description":"Create Google Forms from plain text. Machine API for agents; MCP server available (see /.well-known/forgoogleforms.json).","title":"For Google Forms API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1/forgoogleforms/capabilities":{"get":{"responses":{"200":{"description":"Success"}},"summary":"Product capabilities (public)"}},"/api/v1/forgoogleforms/credits/checkout":{"post":{"description":"Requires API key scope `(any valid key)`.","requestBody":{"content":{"application/json":{"schema":{"properties":{"amount_cents":{"type":"integer"}},"required":["amount_cents"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Create Stripe Checkout session for credit top-up"}},"/api/v1/forgoogleforms/credits/ledger":{"get":{"description":"Requires API key scope `credits:read`.","responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Credit transaction ledger"}},"/api/v1/forgoogleforms/forms":{"get":{"description":"Requires API key scope `forms:read`.","responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"List forms created by the key's owner"},"post":{"description":"Requires API key scope `forms:write`. Billed action `forgoogleforms.create_form` (10 credits; PRO users free). Returns HTTP 402 when balance is insufficient (x402-style body).","requestBody":{"content":{"application/json":{"schema":{"properties":{"form_text":{"description":"Plain-text form definition (see llms.txt / QUESTION_TYPES.md for the format).","type":"string"}},"required":["form_text"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Form created"},"402":{"description":"Insufficient credits"},"409":{"description":"Google account not linked"},"422":{"description":"Parse errors"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Create a Google Form from plain text (supports Idempotency-Key header)"}},"/api/v1/forgoogleforms/me":{"get":{"description":"Requires API key scope `(any valid key)`.","responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Key owner info + balance"}},"/api/v1/forgoogleforms/openapi.json":{"get":{"responses":{"200":{"description":"Success"}},"summary":"This document (public)"}},"/api/v1/forgoogleforms/parse":{"post":{"description":"Requires API key scope `validate`.","requestBody":{"content":{"application/json":{"schema":{"properties":{"form_text":{"description":"Plain-text form definition (see llms.txt / QUESTION_TYPES.md for the format).","type":"string"}},"required":["form_text"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Parse plain-text form, return structure + errors"}},"/api/v1/forgoogleforms/pricing":{"get":{"responses":{"200":{"description":"Success"}},"summary":"Per-action credit pricing (public)"}},"/api/v1/forgoogleforms/validate":{"post":{"description":"Requires API key scope `validate`. Billed action `forgoogleforms.validate_llm` (2 credits; PRO users free). Returns HTTP 402 when balance is insufficient (x402-style body).","requestBody":{"content":{"application/json":{"schema":{"properties":{"form_text":{"description":"Plain-text form definition (see llms.txt / QUESTION_TYPES.md for the format).","type":"string"},"use_llm":{"default":false,"type":"boolean"}},"required":["form_text"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"}},"security":[{"forgoogleformsApiKey":[]}],"summary":"Validate form text (basic free; use_llm=true billed)"}}},"servers":[{"url":"https://for-google-forms.surveysai.com"}]}
