{"openapi":"3.1.0","info":{"title":"GTM Engine API","version":"1.0.0","description":"Public API for GTM Engine."},"servers":[{"url":"https://api.gtmengine.ai","description":"Production"}],"tags":[{"name":"Accounts","description":"Account management"},{"name":"Contacts","description":"Contact management"},{"name":"Genie","description":"Public-facing Genie chatbot for the marketing site"},{"name":"Opportunities","description":"Opportunity management"},{"name":"Pipelines","description":"Pipeline management"},{"name":"Stages","description":"Stage management"},{"name":"Users","description":"User management"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-Api-Key"}},"schemas":{"CustomActivity":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"content":{"type":"string"},"interaction_type":{"type":"string"},"direction":{"type":"string","nullable":true,"enum":["inbound","outbound",null]},"source":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"date_time":{"type":"string","nullable":true,"format":"date-time"},"owner_id":{"type":"string","nullable":true,"format":"uuid"},"contact_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"opportunity_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","content","interaction_type","source","date_time"]},"CreateCustomActivity":{"type":"object","properties":{"content":{"type":"string","example":"Had a productive call about Q3 expansion plans."},"direction":{"type":"string","enum":["inbound","outbound"],"example":"outbound"},"tags":{"type":"array","items":{"type":"string"},"example":["follow-up","expansion"]},"date_time":{"type":"string","nullable":true,"format":"date-time","description":"ISO 8601 timestamp. Defaults to now.","example":"2026-04-01T14:30:00Z"},"source":{"type":"string","description":"Custom source label.","example":"salesforce-plugin"},"owner_id":{"type":"string","format":"uuid","description":"User ID of the activity owner."},"contact_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Associated contact IDs.","example":[]},"opportunity_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Associated opportunity IDs.","example":[]}},"required":["content"]},"DemoRequestAck":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"]},"Account":{"type":"object","properties":{"account_name":{"type":"string","example":"Acme Corp"},"domain":{"type":"string","example":"acme.com"},"linkedin_url":{"type":"string","example":"https://linkedin.com/company/acme"},"address":{"type":"string","example":"123 Main St"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"relationship_type":{"type":"string","enum":["prospect","customer","partner","investor"],"example":"prospect"},"sales_status":{"type":"string","enum":["lead","working","pipeline","renewal_growth","closed_lost","churned"],"example":"lead"},"icp_label":{"type":"string","example":"Enterprise"},"tags":{"type":"array","items":{"type":"string"},"example":["saas","enterprise"]},"id":{"type":"string","format":"uuid"},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["account_name","id"]},"Contact":{"type":"object","properties":{"first_name":{"type":"string","example":"Jane"},"middle_name":{"type":"string","example":"A."},"last_name":{"type":"string","example":"Doe"},"title":{"type":"string","example":"Marketing Manager"},"email":{"type":"string","format":"email","example":"janedoe@example.com"},"phone":{"type":"string","example":"+1-555-123-4567"},"company":{"type":"string","example":"Acme Corp"},"linkedin_url":{"type":"string","example":"https://www.linkedin.com/in/janedoe"},"location":{"type":"string","example":"San Francisco, CA"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"tags":{"type":"array","items":{"type":"string"},"example":["marketing","manager"]},"icp_label":{"type":"string","example":"Enterprise"},"id":{"type":"string","format":"uuid"},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["first_name","last_name","id"]},"Opportunity":{"type":"object","properties":{"opportunity_name":{"type":"string","example":"Acme Corp Enterprise Deal"},"account_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000"},"tags":{"type":"array","items":{"type":"string"},"example":["enterprise","q2"]},"amount":{"type":"number","example":50000},"close_date":{"type":"string","nullable":true,"format":"date-time","example":"2026-06-30"},"stage_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440001"},"pipeline":{"type":"string","example":"Sales Pipeline"},"id":{"type":"string","format":"uuid"},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["account_id","id"]},"Pipeline":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","example":"Sales Pipeline"},"active":{"type":"boolean","example":true},"is_default":{"type":"boolean","example":false},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","name","active","is_default"]},"Stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"pipeline_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000"},"name":{"type":"string","example":"Qualification"},"is_won":{"type":"boolean","example":false},"is_lost":{"type":"boolean","example":false},"is_closed":{"type":"boolean","example":false},"active":{"type":"boolean","example":true},"display_order":{"type":"integer","example":1},"exit_criteria":{"type":"string","example":"Budget confirmed"},"entry_criteria":{"type":"string","example":"Discovery call completed"},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","pipeline_id","name","is_won","is_lost","is_closed","active","display_order"]},"User":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","example":"jane@acme.com"},"first_name":{"type":"string","example":"Jane"},"last_name":{"type":"string","example":"Doe"},"role":{"type":"string","example":"member"},"status":{"type":"string","example":"active"},"job_function":{"type":"string","example":"Sales"},"job_level":{"type":"string","example":"ae"},"profile_photo":{"type":"string","example":"Profile_avatar_placeholder_large_i3fisd"},"crm_id":{"type":"string","example":"123456"},"created_at":{"type":"string","nullable":true,"format":"date-time"},"updated_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","email","first_name","last_name","role","status"]}},"parameters":{}},"paths":{"/v1/activities/custom":{"post":{"tags":["Activities"],"summary":"Create a custom activity","description":"Creates a custom activity in the authenticated organization.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomActivity"}}}},"responses":{"201":{"description":"Custom activity created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustomActivity"}},"required":["data"]}}}},"400":{"description":"Invalid input"}}}},"/v1/genie/chat":{"post":{"tags":["Genie"],"summary":"Chat with the marketing Genie","description":"Streaming chat endpoint for the public marketing site assistant. Returns a Vercel AI SDK UI-message stream that can be consumed by `useChat` with a `DefaultChatTransport`.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"},"parts":{"type":"array","items":{"nullable":true}}},"required":["role"]},"description":"Conversation history in Vercel AI SDK UI-message format."},"session_id":{"type":"string","description":"Opaque session identifier for the visitor. Not persisted server-side yet.","example":"abcd1234"}},"required":["messages"]}}}},"responses":{"200":{"description":"UI-message stream (text/event-stream).","content":{"text/event-stream":{"schema":{"type":"string","description":"Server-sent events payload following the AI SDK UI message stream protocol."}}}},"400":{"description":"Invalid request body."},"429":{"description":"Rate limit exceeded (per-IP)."}}}},"/v1/genie/demo-request":{"post":{"tags":["Genie"],"summary":"Submit a demo request","description":"Submit a demo request collected by the marketing Genie. Posts the request to the configured Slack channel via `SLACK_DEMO_WEBHOOK_URL`.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"example":"Jane Doe"},"work_email":{"type":"string","format":"email","example":"jane@acme.com"},"company":{"type":"string","example":"Acme Corp"},"team_size":{"type":"string","example":"25-50 reps"},"crm":{"type":"string","example":"Salesforce"},"use_case":{"type":"string","example":"Forecasting and pipeline hygiene across a 30-person AE team."},"message":{"type":"string","description":"Freeform note from the visitor.","example":"Interested in seeing a live demo next week."}},"required":["name","work_email"]}}}},"responses":{"200":{"description":"Demo request forwarded to Slack.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoRequestAck"}}}},"400":{"description":"Invalid request body."},"429":{"description":"Rate limit exceeded (per-IP)."},"502":{"description":"Slack webhook unreachable or rejected the request."}}}},"/v1/records/accounts":{"get":{"tags":["Accounts"],"summary":"List accounts","description":"Returns a paginated list of accounts for the authenticated organization.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string"},"required":false,"name":"domain","in":"query"}],"responses":{"200":{"description":"List of accounts","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Account"}}},"required":["data"]}}}}}},"post":{"tags":["Accounts"],"summary":"Create an account","description":"Creates a new account in the authenticated organization.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"account_name":{"type":"string","example":"Acme Corp"},"domain":{"type":"string","example":"acme.com"},"linkedin_url":{"type":"string","example":"https://linkedin.com/company/acme"},"address":{"type":"string","example":"123 Main St"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"relationship_type":{"type":"string","enum":["prospect","customer","partner","investor"],"example":"prospect"},"sales_status":{"type":"string","enum":["lead","working","pipeline","renewal_growth","closed_lost","churned"],"example":"lead"},"icp_label":{"type":"string","example":"Enterprise"},"tags":{"type":"array","items":{"type":"string"},"example":["saas","enterprise"]}},"required":["account_name"]}}}},"responses":{"201":{"description":"Account created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Account"}},"required":["data"]}}}},"400":{"description":"Invalid input"}}}},"/v1/records/accounts/{id}":{"get":{"tags":["Accounts"],"summary":"Get account by ID","description":"Returns a single account by its ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Account found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Account"}},"required":["data"]}}}},"404":{"description":"Account not found"}}},"patch":{"tags":["Accounts"],"summary":"Update an account","description":"Partially updates an existing account.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"account_name":{"type":"string","example":"Acme Corp"},"domain":{"type":"string","example":"acme.com"},"linkedin_url":{"type":"string","example":"https://linkedin.com/company/acme"},"address":{"type":"string","example":"123 Main St"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"relationship_type":{"type":"string","enum":["prospect","customer","partner","investor"],"example":"prospect"},"sales_status":{"type":"string","enum":["lead","working","pipeline","renewal_growth","closed_lost","churned"],"example":"lead"},"icp_label":{"type":"string","example":"Enterprise"},"tags":{"type":"array","items":{"type":"string"},"example":["saas","enterprise"]}}}}}},"responses":{"200":{"description":"Account updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Account"}},"required":["data"]}}}},"404":{"description":"Account not found"}}}},"/v1/records/contacts":{"get":{"tags":["Contacts"],"summary":"List contacts","description":"Returns a paginated list of contacts for the authenticated organization.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string"},"required":false,"name":"email","in":"query"}],"responses":{"200":{"description":"List of contacts","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}},"required":["data"]}}}}}},"post":{"tags":["Contacts"],"summary":"Create a contact","description":"Creates a new contact in the authenticated organization.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"first_name":{"type":"string","example":"Jane"},"middle_name":{"type":"string","example":"A."},"last_name":{"type":"string","example":"Doe"},"title":{"type":"string","example":"Marketing Manager"},"email":{"type":"string","format":"email","example":"janedoe@example.com"},"phone":{"type":"string","example":"+1-555-123-4567"},"company":{"type":"string","example":"Acme Corp"},"linkedin_url":{"type":"string","example":"https://www.linkedin.com/in/janedoe"},"location":{"type":"string","example":"San Francisco, CA"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"tags":{"type":"array","items":{"type":"string"},"example":["marketing","manager"]},"icp_label":{"type":"string","example":"Enterprise"}},"required":["first_name","last_name"]}}}},"responses":{"201":{"description":"Contact created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"]}}}},"400":{"description":"Invalid input"}}}},"/v1/records/contacts/{id}":{"get":{"tags":["Contacts"],"summary":"Get contact by ID","description":"Returns a single contact by its ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Contact found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"]}}}},"404":{"description":"Contact not found"}}},"patch":{"tags":["Contacts"],"summary":"Update a contact","description":"Partially updates an existing contact.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"first_name":{"type":"string","example":"Jane"},"middle_name":{"type":"string","example":"A."},"last_name":{"type":"string","example":"Doe"},"title":{"type":"string","example":"Marketing Manager"},"email":{"type":"string","format":"email","example":"janedoe@example.com"},"phone":{"type":"string","example":"+1-555-123-4567"},"company":{"type":"string","example":"Acme Corp"},"linkedin_url":{"type":"string","example":"https://www.linkedin.com/in/janedoe"},"location":{"type":"string","example":"San Francisco, CA"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"CA"},"country":{"type":"string","example":"USA"},"tags":{"type":"array","items":{"type":"string"},"example":["marketing","manager"]},"icp_label":{"type":"string","example":"Enterprise"}}}}}},"responses":{"200":{"description":"Contact updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"]}}}},"404":{"description":"Contact not found"}}}},"/v1/records/opportunities":{"get":{"tags":["Opportunities"],"summary":"List opportunities","description":"Returns a paginated list of opportunities for the authenticated organization.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"account_id","in":"query"}],"responses":{"200":{"description":"List of opportunities","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Opportunity"}}},"required":["data"]}}}}}},"post":{"tags":["Opportunities"],"summary":"Create an opportunity","description":"Creates a new opportunity in the authenticated organization.","security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"opportunity_name":{"type":"string","example":"Acme Corp Enterprise Deal"},"account_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000"},"tags":{"type":"array","items":{"type":"string"},"example":["enterprise","q2"]},"amount":{"type":"number","example":50000},"close_date":{"type":"string","nullable":true,"format":"date-time","example":"2026-06-30"},"stage_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440001"},"pipeline":{"type":"string","example":"Sales Pipeline"}},"required":["opportunity_name","account_id"]}}}},"responses":{"201":{"description":"Opportunity created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Opportunity"}},"required":["data"]}}}},"400":{"description":"Invalid input"}}}},"/v1/records/opportunities/{id}":{"get":{"tags":["Opportunities"],"summary":"Get opportunity by ID","description":"Returns a single opportunity by its ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Opportunity found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Opportunity"}},"required":["data"]}}}},"404":{"description":"Opportunity not found"}}},"patch":{"tags":["Opportunities"],"summary":"Update an opportunity","description":"Partially updates an existing opportunity.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"opportunity_name":{"type":"string","example":"Acme Corp Enterprise Deal"},"account_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000"},"tags":{"type":"array","items":{"type":"string"},"example":["enterprise","q2"]},"amount":{"type":"number","example":50000},"close_date":{"type":"string","nullable":true,"format":"date-time","example":"2026-06-30"},"stage_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440001"},"pipeline":{"type":"string","example":"Sales Pipeline"}}}}}},"responses":{"200":{"description":"Opportunity updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Opportunity"}},"required":["data"]}}}},"404":{"description":"Opportunity not found"}}}},"/v1/records/pipelines":{"get":{"tags":["Pipelines"],"summary":"List pipelines","description":"Returns a paginated list of pipelines for the authenticated organization.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"boolean","nullable":true},"required":false,"name":"active","in":"query"}],"responses":{"200":{"description":"List of pipelines","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Pipeline"}}},"required":["data"]}}}}}}},"/v1/records/pipelines/{id}":{"get":{"tags":["Pipelines"],"summary":"Get pipeline by ID","description":"Returns a single pipeline by its ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Pipeline found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Pipeline"}},"required":["data"]}}}},"404":{"description":"Pipeline not found"}}}},"/v1/records/stages":{"get":{"tags":["Stages"],"summary":"List stages","description":"Returns a paginated list of stages for the authenticated organization. Optionally filter by pipeline.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Filter stages by pipeline ID"},"required":false,"description":"Filter stages by pipeline ID","name":"pipeline_id","in":"query"},{"schema":{"type":"boolean","nullable":true},"required":false,"name":"active","in":"query"}],"responses":{"200":{"description":"List of stages","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Stage"}}},"required":["data"]}}}}}}},"/v1/records/stages/{id}":{"get":{"tags":["Stages"],"summary":"Get stage by ID","description":"Returns a single stage by its ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Stage found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Stage"}},"required":["data"]}}}},"404":{"description":"Stage not found"}}}},"/v1/records/users":{"get":{"tags":["Users"],"summary":"List users","description":"Returns a paginated list of users for the authenticated organization.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string"},"required":false,"name":"email","in":"query"}],"responses":{"200":{"description":"List of users","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}}},"required":["data"]}}}}}}},"/v1/records/users/{id}":{"get":{"tags":["Users"],"summary":"Get user by ID","description":"Returns a single user by their ID.","security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"User found","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/User"}},"required":["data"]}}}},"404":{"description":"User not found"}}}}}}