{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"https://api.poststreamai.com","description":"Generated server url"}],"tags":[{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}}],"paths":{"/oauth/token":{"post":{"tags":["o-auth-controller"],"operationId":"token","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"type":"string"},"code":{"type":"string"},"code_verifier":{"type":"string"},"redirect_uri":{"type":"string"},"client_id":{"type":"string"},"refresh_token":{"type":"string"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/oauth/revoke":{"post":{"tags":["o-auth-controller"],"operationId":"revoke","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"token":{"type":"string"}}}}}},"responses":{"200":{"description":"OK"}}}},"/oauth/register":{"post":{"tags":["o-auth-controller"],"operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/webhooks/lemonsqueezy":{"post":{"tags":["lemon-squeezy-webhook-controller"],"operationId":"handle","parameters":[{"name":"X-Signature","in":"header","required":false,"schema":{"type":"string"}},{"name":"X-Event-Name","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/posts":{"get":{"tags":["posts-controller"],"operationId":"list","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedResponsePostResponse"}}}}}},"post":{"tags":["posts-controller"],"operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}}}}},"/api/v1/posts/{postId}/targets/{targetId}/retry":{"post":{"tags":["posts-controller"],"operationId":"retry","parameters":[{"name":"postId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"targetId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PostTargetResponse"}}}}}}},"/api/v1/oauth/consent/{requestId}":{"get":{"tags":["o-auth-consent-controller"],"operationId":"get","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConsentResponse"}}}}}},"post":{"tags":["o-auth-consent-controller"],"operationId":"decide","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DecisionResponse"}}}}}}},"/api/v1/media/presign":{"post":{"tags":["media-controller"],"operationId":"presign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PresignResponse"}}}}}}},"/api/v1/mcp/tokens":{"get":{"tags":["mcp-tokens-controller"],"operationId":"list_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/McpTokenResponse"}}}}}}},"post":{"tags":["mcp-tokens-controller"],"operationId":"create_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}}}}},"/api/v1/clients":{"get":{"tags":["clients-controller"],"operationId":"list_2","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedResponseClientResponse"}}}}}},"post":{"tags":["clients-controller"],"operationId":"create_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClientResponse"}}}}}}},"/api/v1/captions/generate":{"post":{"tags":["caption-controller"],"operationId":"generate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateCaptionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateCaptionResponse"}}}}}}},"/api/v1/billing/portal-session":{"post":{"tags":["billing-controller"],"operationId":"portalSession","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/billing/checkout-session":{"post":{"tags":["billing-controller"],"operationId":"checkoutSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutSessionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/auth/verify-email":{"post":{"tags":["auth-controller"],"operationId":"verifyEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/auth/signup":{"post":{"tags":["auth-controller"],"operationId":"signup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}}}}},"/api/v1/auth/reset-password":{"post":{"tags":["auth-controller"],"operationId":"resetPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/auth/resend-verification":{"post":{"tags":["auth-controller"],"operationId":"resendVerification","responses":{"200":{"description":"OK"}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth-controller"],"operationId":"refresh","parameters":[{"name":"refreshToken","in":"cookie","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RefreshResponse"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth-controller"],"operationId":"logout","parameters":[{"name":"refreshToken","in":"cookie","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/auth/login":{"post":{"tags":["auth-controller"],"operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}}}}},"/api/v1/auth/forgot-password":{"post":{"tags":["auth-controller"],"operationId":"forgotPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/admin/orders/{orderId}/refund":{"post":{"tags":["admin-order-controller"],"operationId":"refund","parameters":[{"name":"orderId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"X-Admin-Api-Token","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequest"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{}}}}}}}},"/api/v1/accounts/connect/{platform}":{"post":{"tags":["accounts-controller"],"operationId":"connect","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string"}},{"name":"instance","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/accounts/connect/{platform}/app-password":{"post":{"tags":["accounts-controller"],"operationId":"connectWithAppPassword","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPasswordConnectRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/posts/{postId}":{"get":{"tags":["posts-controller"],"operationId":"get_1","parameters":[{"name":"postId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}}}},"delete":{"tags":["posts-controller"],"operationId":"cancel","parameters":[{"name":"postId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["posts-controller"],"operationId":"update","parameters":[{"name":"postId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePostRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}}}}},"/api/v1/clients/{clientId}":{"delete":{"tags":["clients-controller"],"operationId":"delete","parameters":[{"name":"clientId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["clients-controller"],"operationId":"update_1","parameters":[{"name":"clientId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClientResponse"}}}}}}},"/api/v1/auth/password":{"patch":{"tags":["auth-controller"],"operationId":"changePassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/auth/me":{"get":{"tags":["auth-controller"],"operationId":"me","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}}},"patch":{"tags":["auth-controller"],"operationId":"updateMe","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}}}},"/api/v1/auth/email":{"patch":{"tags":["auth-controller"],"operationId":"changeEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}}}},"/api/v1/alert-settings":{"get":{"tags":["alert-settings-controller"],"operationId":"get_2","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AlertSettingsResponse"}}}}}},"patch":{"tags":["alert-settings-controller"],"operationId":"update_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AlertSettingsResponse"}}}}}}},"/api/v1/accounts/{accountId}":{"delete":{"tags":["accounts-controller"],"operationId":"disconnect","parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["accounts-controller"],"operationId":"update_3","parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectedAccountResponse"}}}}}}},"/oauth/authorize":{"get":{"tags":["o-auth-controller"],"operationId":"authorize","parameters":[{"name":"response_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"client_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"redirect_uri","in":"query","required":false,"schema":{"type":"string"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string"}},{"name":"resource","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/status/public":{"get":{"tags":["status-controller"],"operationId":"publicStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PublicStatusResponse"}}}}}}},"/api/v1/posts/upcoming":{"get":{"tags":["posts-controller"],"operationId":"upcoming","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":4}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedResponsePostResponse"}}}}}}},"/api/v1/oauth/grants":{"get":{"tags":["o-auth-grants-controller"],"operationId":"list_3","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GrantResponse"}}}}}}}},"/api/v1/mcp/whoami":{"get":{"tags":["mcp-whoami-controller"],"operationId":"whoami","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WhoamiResponse"}}}}}}},"/api/v1/mcp/tokens/scopes":{"get":{"tags":["mcp-tokens-controller"],"operationId":"scopes","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScopeInfo"}}}}}}}},"/api/v1/mcp/tokens/eligibility":{"get":{"tags":["mcp-tokens-controller"],"operationId":"eligibility","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EligibilityResponse"}}}}}}},"/api/v1/billing/subscription":{"get":{"tags":["billing-controller"],"operationId":"subscription","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}}}}},"/api/v1/billing/orders":{"get":{"tags":["billing-controller"],"operationId":"orders","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrderSummaryResponse"}}}}}}}},"/api/v1/auth/session":{"get":{"tags":["auth-controller"],"operationId":"session","parameters":[{"name":"refreshToken","in":"cookie","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}}}},"/api/v1/accounts":{"get":{"tags":["accounts-controller"],"operationId":"list_4","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedResponseConnectedAccountResponse"}}}}}}},"/api/v1/accounts/connect/{platform}/callback":{"get":{"tags":["accounts-controller"],"operationId":"callback","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"query","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/actuator":{"get":{"tags":["Actuator"],"summary":"Actuator root web endpoint","operationId":"links","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Link"}}}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Link"}}}},"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Link"}}}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"tags":["o-auth-controller"],"operationId":"metadata","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthServerMetadata"}}}}}}},"/api/v1/oauth/grants/{grantId}":{"delete":{"tags":["o-auth-grants-controller"],"operationId":"revoke_1","parameters":[{"name":"grantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/mcp/tokens/{tokenId}":{"delete":{"tags":["mcp-tokens-controller"],"operationId":"revoke_2","parameters":[{"name":"tokenId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"RegistrationRequest":{"type":"object","properties":{"client_name":{"type":"string"},"redirect_uris":{"type":"array","items":{"type":"string"}},"software_id":{"type":"string"},"software_version":{"type":"string"}}},"CreatePostRequest":{"type":"object","properties":{"caption":{"type":"string","minLength":1},"mediaUrls":{"type":"array","items":{"type":"string"}},"scheduledFor":{"type":"string","format":"date-time"},"targetAccountIds":{"type":"array","items":{"type":"string","format":"uuid"}},"draft":{"type":"boolean"},"redditSubreddits":{"type":"object","additionalProperties":{"type":"string"}}},"required":["caption"]},"PostResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"caption":{"type":"string"},"mediaUrls":{"type":"array","items":{"type":"string"}},"aiGenerated":{"type":"boolean"},"status":{"type":"string"},"scheduledFor":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/PostTargetResponse"}}},"required":["aiGenerated","caption","createdAt","id","mediaUrls","scheduledFor","status","targets"]},"PostTargetResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"connectedAccountId":{"type":"string","format":"uuid"},"platformPostId":{"type":"string"},"status":{"type":"string"},"confirmedAt":{"type":"string","format":"date-time"},"failureReason":{"type":"string"},"retryCount":{"type":"integer","format":"int32"},"subreddit":{"type":"string"}},"required":["connectedAccountId","id","retryCount","status"]},"DecisionRequest":{"type":"object","properties":{"approved":{"type":"boolean"}},"required":["approved"]},"DecisionResponse":{"type":"object","properties":{"redirectTo":{"type":"string"}},"required":["redirectTo"]},"PresignRequest":{"type":"object","properties":{"fileName":{"type":"string","minLength":1},"contentType":{"type":"string","minLength":1}},"required":["contentType","fileName"]},"PresignResponse":{"type":"object","properties":{"uploadUrl":{"type":"string"},"objectKey":{"type":"string"},"publicUrl":{"type":"string"}}},"CreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1},"scopes":{"type":"array","items":{"type":"string"}}},"required":["name"]},"CreatedResponse":{"type":"object","properties":{"token":{"type":"string","description":"plaintext psk_live_… token — shown once, store it now"},"tokenInfo":{"$ref":"#/components/schemas/McpTokenResponse"}},"required":["token","tokenInfo"]},"McpTokenResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"tokenPrefix":{"type":"string","description":"e.g. \"psk_live\""},"lastFour":{"type":"string","description":"last 4 chars of the secret, for recognition"},"lastUsedAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"}},"required":["createdAt","id","name","scopes","tokenPrefix"]},"ClientRequest":{"type":"object","properties":{"name":{"type":"string"},"alertEmail":{"type":"string"}}},"ClientResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"alertEmail":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["createdAt","id","name"]},"GenerateCaptionRequest":{"type":"object","properties":{"topic":{"type":"string"},"platform":{"type":"string"}},"required":["topic"]},"GenerateCaptionResponse":{"type":"object","properties":{"caption":{"type":"string"}},"required":["caption"]},"CheckoutSessionRequest":{"type":"object","properties":{"tier":{"type":"string"}}},"VerifyEmailRequest":{"type":"object","properties":{"token":{"type":"string","minLength":1}},"required":["token"]},"SignupRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","minLength":1},"password":{"type":"string","maxLength":2147483647,"minLength":8},"firstName":{"type":"string","minLength":1},"lastName":{"type":"string","minLength":1},"captchaToken":{"type":"string"}},"required":["email","firstName","lastName","password"]},"AuthResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"accessTokenExpiresIn":{"type":"integer","format":"int64"},"user":{"$ref":"#/components/schemas/UserResponse"}},"required":["accessToken","accessTokenExpiresIn","user"]},"UserResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string"},"workspaceType":{"type":"string"},"subscriptionTier":{"type":"string"},"weeklyPostingGoal":{"type":"integer","format":"int32"},"captionFromFilename":{"type":"boolean"},"use24HourTime":{"type":"boolean"},"emailVerified":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}},"required":["captionFromFilename","createdAt","displayName","email","emailVerified","id","subscriptionTier","use24HourTime","weeklyPostingGoal","workspaceType"]},"ResetPasswordRequest":{"type":"object","properties":{"token":{"type":"string","minLength":1},"password":{"type":"string","maxLength":2147483647,"minLength":8}},"required":["password","token"]},"RefreshResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"accessTokenExpiresIn":{"type":"integer","format":"int64"}},"required":["accessToken","accessTokenExpiresIn"]},"LoginRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","minLength":1},"password":{"type":"string","minLength":1},"captchaToken":{"type":"string"}},"required":["email","password"]},"ForgotPasswordRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","minLength":1},"captchaToken":{"type":"string"}},"required":["email"]},"RefundRequest":{"type":"object","properties":{"amountMinor":{"type":"integer","format":"int64"},"reason":{"type":"string"}}},"AppPasswordConnectRequest":{"type":"object","properties":{"identifier":{"type":"string"},"secret":{"type":"string"}}},"UpdatePostRequest":{"type":"object","properties":{"caption":{"type":"string"},"mediaUrls":{"type":"array","items":{"type":"string"}},"scheduledFor":{"type":"string","format":"date-time"},"targetAccountIds":{"type":"array","items":{"type":"string","format":"uuid"}}}},"ChangePasswordRequest":{"type":"object","properties":{"currentPassword":{"type":"string","minLength":1},"newPassword":{"type":"string","maxLength":2147483647,"minLength":8}},"required":["currentPassword","newPassword"]},"UpdateMeRequest":{"type":"object","properties":{"workspaceType":{"type":"string"},"displayName":{"type":"string"},"weeklyPostingGoal":{"type":"integer","format":"int32"},"captionFromFilename":{"type":"boolean"},"use24HourTime":{"type":"boolean"}}},"ChangeEmailRequest":{"type":"object","properties":{"newEmail":{"type":"string","format":"email","minLength":1},"currentPassword":{"type":"string","minLength":1}},"required":["currentPassword","newEmail"]},"UpdateRequest":{"type":"object","properties":{"windowMinutes":{"type":"integer","format":"int32"},"channels":{"type":"array","items":{"type":"string"}},"slackWebhookUrl":{"type":"string"}}},"AlertSettingsResponse":{"type":"object","properties":{"windowMinutes":{"type":"integer","format":"int32"},"channels":{"type":"array","items":{"type":"string"}},"slackConfigured":{"type":"boolean"}},"required":["channels","slackConfigured","windowMinutes"]},"UpdateAccountRequest":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid"}}},"ConnectedAccountResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"platform":{"type":"string"},"platformUsername":{"type":"string"},"avatarUrl":{"type":"string"},"status":{"type":"string"},"clientId":{"type":"string","format":"uuid"},"connectedAt":{"type":"string","format":"date-time"}},"required":["connectedAt","id","platform","platformUsername","status"]},"PublicStatusResponse":{"type":"object","properties":{"last30Days":{"type":"array","items":{"$ref":"#/components/schemas/StatusMetricResponse"}},"currentUptimePercent":{"type":"number"},"avgAlertLatencySeconds":{"type":"integer","format":"int32"}},"required":["currentUptimePercent","last30Days"]},"StatusMetricResponse":{"type":"object","properties":{"date":{"type":"string","format":"date"},"totalPosts":{"type":"integer","format":"int32"},"confirmedPosts":{"type":"integer","format":"int32"},"failedPosts":{"type":"integer","format":"int32"},"avgAlertLatencySeconds":{"type":"integer","format":"int32"},"uptimePercent":{"type":"number"}},"required":["confirmedPosts","date","failedPosts","totalPosts"]},"PagedResponsePostResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"}},"total":{"type":"integer","format":"int64"}},"required":["items","total"]},"GrantResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"clientName":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"type":"string","format":"date-time"}},"required":["clientName","createdAt","id","scopes"]},"ConsentResponse":{"type":"object","properties":{"clientName":{"type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/ScopeGrant"}},"alreadyGranted":{"type":"boolean"},"subscriptionActive":{"type":"boolean"}},"required":["alreadyGranted","clientName","scopes","subscriptionActive"]},"ScopeGrant":{"type":"object","properties":{"scope":{"type":"string"},"description":{"type":"string"}},"required":["description","scope"]},"WhoamiResponse":{"type":"object","properties":{"userId":{"type":"string","format":"uuid"},"email":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"subscriptionActive":{"type":"boolean"},"dashboardUrl":{"type":"string"}},"required":["dashboardUrl","email","scopes","subscriptionActive","userId"]},"ScopeInfo":{"type":"object","properties":{"scope":{"type":"string"},"defaultOn":{"type":"boolean"}},"required":["defaultOn","scope"]},"EligibilityResponse":{"type":"object","properties":{"eligible":{"type":"boolean"}},"required":["eligible"]},"PagedResponseClientResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ClientResponse"}},"total":{"type":"integer","format":"int64"}},"required":["items","total"]},"SubscriptionResponse":{"type":"object","properties":{"tier":{"type":"string"},"status":{"type":"string"},"accountCap":{"type":"integer","format":"int32"},"connectedAccountCount":{"type":"integer","format":"int64"},"currentPeriodEnd":{"type":"string","format":"date-time"}},"required":["accountCap","connectedAccountCount","currentPeriodEnd","status","tier"]},"OrderSummaryResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"providerOrderNumber":{"type":"string"},"kind":{"type":"string"},"tier":{"type":"string"},"productName":{"type":"string"},"status":{"type":"string"},"currency":{"type":"string"},"totalMinor":{"type":"integer","format":"int64"},"placedAt":{"type":"string","format":"date-time"},"receiptUrl":{"type":"string"}},"required":["currency","id","kind","placedAt","status","totalMinor"]},"PagedResponseConnectedAccountResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConnectedAccountResponse"}},"total":{"type":"integer","format":"int64"}},"required":["items","total"]},"Link":{"type":"object","properties":{"href":{"type":"string"},"templated":{"type":"boolean"}}},"AuthServerMetadata":{"type":"object","properties":{"issuer":{"type":"string"},"authorization_endpoint":{"type":"string"},"token_endpoint":{"type":"string"},"registration_endpoint":{"type":"string"},"revocation_endpoint":{"type":"string"},"scopes_supported":{"type":"array","items":{"type":"string"}},"response_types_supported":{"type":"array","items":{"type":"string"}},"grant_types_supported":{"type":"array","items":{"type":"string"}},"code_challenge_methods_supported":{"type":"array","items":{"type":"string"}},"token_endpoint_auth_methods_supported":{"type":"array","items":{"type":"string"}}}}}}}