{"openapi":"3.0.3","info":{"title":"Wesley API","version":"1.0.0","description":"748 endpoints are auto-discovered from pages/api and documented with method-specific auth, parameters, request metadata, and exported Zod contracts where available. Start at /docs/reference/api-keys (Markdown: /llms.mdx/docs/reference/api-keys). Personal keys call existing APIs as their owner; look for x-wesley-personal-api-key: true. Filter this specification with ?path=/api/users/me or ?tag=Transactions. Inferred fields are optional unless the contract marks them required; follow endpoint descriptions and validation errors."},"servers":[{"url":"https://www.wesley-ai.co","description":"Current request origin"},{"url":"http://localhost:3000","description":"Local development"}],"tags":[{"name":"Account Types"},{"name":"Accounting Firms"},{"name":"Accounts"},{"name":"Admin"},{"name":"Agent"},{"name":"Ai"},{"name":"Ai Agent"},{"name":"Ap"},{"name":"Ar"},{"name":"Ask Client Activity"},{"name":"Audit Logs"},{"name":"Bank Statement Imports"},{"name":"Banking Unified Upload"},{"name":"Bill Com"},{"name":"Blob Upload Token"},{"name":"Cal Com"},{"name":"Chart Of Accounts"},{"name":"Chat Credits"},{"name":"Check Items"},{"name":"Checks"},{"name":"Classes"},{"name":"Clerk"},{"name":"Client Emails"},{"name":"Client Links"},{"name":"Client Onboarding"},{"name":"Client Portal"},{"name":"Client Presence"},{"name":"Client Tasks"},{"name":"Client Work"},{"name":"Codex"},{"name":"Companies"},{"name":"Company Comment Reads"},{"name":"Company Comments"},{"name":"Converted Documents"},{"name":"Custom Domain Auth"},{"name":"Document Action Proposals"},{"name":"Document Conversion Files"},{"name":"Document Links"},{"name":"Document Review Answers"},{"name":"Document Upload Session"},{"name":"Employees"},{"name":"Entity Groups"},{"name":"Experiment Access"},{"name":"External Transactions"},{"name":"Feature Usage"},{"name":"Finance"},{"name":"Fixed Assets"},{"name":"Integration Link"},{"name":"Integrations"},{"name":"Intercom Jwt"},{"name":"Intercom Latest Conversation"},{"name":"Internal"},{"name":"Invitations"},{"name":"Issue Board"},{"name":"Journal Entries"},{"name":"Journal Entry Applications"},{"name":"Journal Inspection"},{"name":"Journal Lines"},{"name":"Journal Period Locks"},{"name":"Journal Templates"},{"name":"Kpi"},{"name":"Locations"},{"name":"Marketing"},{"name":"Master Data"},{"name":"Mcp"},{"name":"Monthly Close Runs"},{"name":"Observability"},{"name":"Operational Errors"},{"name":"Payees"},{"name":"Payroll"},{"name":"Plaid"},{"name":"Private Blob Upload Token"},{"name":"Private Blob Upload Tokens"},{"name":"Processor Reconciliation"},{"name":"Processor Settlements"},{"name":"Projects"},{"name":"Public"},{"name":"Quickbooks"},{"name":"Quickbooks Desktop"},{"name":"Quickbooks Payroll"},{"name":"Receipt Integrations"},{"name":"Reconciliations"},{"name":"Recurring Journal Entries"},{"name":"Referrals"},{"name":"Reports"},{"name":"Review Books"},{"name":"Rules"},{"name":"Setup Guide Interactions"},{"name":"Shared Files"},{"name":"Shopify"},{"name":"Smartvault"},{"name":"Square"},{"name":"Stripe"},{"name":"Tags"},{"name":"Tax Line Mappings"},{"name":"Tax Lines"},{"name":"Team"},{"name":"Tiktok Shop"},{"name":"Timecards"},{"name":"Transaction Suggestions"},{"name":"Transactions"},{"name":"Tutorials"},{"name":"Users"},{"name":"Vendors"},{"name":"W9 Requests"},{"name":"Watch Tower"},{"name":"Webhooks"},{"name":"Wesley Chat"},{"name":"Workspace Search"},{"name":"Xero"}],"components":{"securitySchemes":{"personalApiKey":{"type":"http","scheme":"bearer","bearerFormat":"wsy_user_...","description":"Personal API key. Executes as its owner with their current permissions; never send the key in a URL."},"sessionCookie":{"type":"apiKey","in":"cookie","name":"__session","description":"Interactive Clerk browser session."},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"basicAuth":{"type":"http","scheme":"basic","description":"Power BI Web connector credentials: username `wesley`, password set to the firm feed key."},"integrationKeyHeader":{"type":"apiKey","in":"header","name":"x-wesley-api-key","description":"Firm-scoped Wesley integration key."}},"schemas":{"DocumentSummary":{"type":"object","properties":{"id":{"type":"string","description":"Unique document identifier"},"name":{"type":"string"},"original_name":{"type":"string"},"folder_id":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"string"}}}},"AnalyzeRequest":{"type":"object","required":["selectedDataSources"],"properties":{"prompt":{"type":["string","null"],"description":"Free-form request for the AI analysis workflow"},"templateId":{"type":["string","null"],"description":"Identifier of a saved AI template prompt"},"selectedDataSources":{"type":"array","items":{"type":"string"},"description":"Account and document identifiers that power the analysis"}}},"AnalyzeResponse":{"type":"object","properties":{"analysis":{"type":"string","description":"HTML or markdown string generated by the Gemini model"},"data_summary":{"type":"object","properties":{"accounts_analyzed":{"type":"integer"},"total_balance":{"type":"number"},"institutions":{"type":"array","items":{"type":"string"}},"transactions_analyzed":{"type":"integer"},"date_range":{"type":"string"}}}}}}},"paths":{"/api/users/me":{"get":{"operationId":"get_users_me","tags":["Users"],"summary":"Retrieve Users Me","description":"Retrieve Users Me.\n\nRequires authenticated user context.\n\nAccepts a personal API key as `Authorization: Bearer wsy_user_...`. Uses the key owner's current Wesley permissions.\n\nSource handler: `pages/api/users/me.ts` (auto-discovered).","responses":{"200":{"description":"Request succeeded","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad request"},"401":{"description":"Authentication required"},"403":{"description":"Forbidden"},"404":{"description":"Resource not found"},"405":{"description":"Method not allowed"},"500":{"description":"Unexpected server error"}},"security":[{"sessionCookie":[]},{"personalApiKey":[]},{"bearerAuth":[]}],"x-wesley-personal-api-key":true}}}}