{"openapi":"3.1.0","info":{"title":"tstly API","description":"Temporary email inboxes for automated tests. Use test data only; API keys are tenant-scoped.","contact":{"name":"tstly support","email":"support@tstly.ru"},"license":{"name":"API terms and security disclosure","url":"https://tstly.ru/docs#security"},"version":"v1 beta"},"servers":[{"url":"https://api.tstly.ru","description":"Public beta"}],"paths":{"/v1/webhooks":{"get":{"tags":["webhook-controller"],"operationId":"list","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}},"security":[{"apiKey":[]}]},"post":{"tags":["webhook-controller"],"summary":"Create a message.received webhook; secret is returned once","operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Created"}}}}},"security":[{"apiKey":[]}]}},"/v1/webhooks/{id}/rotate-secret":{"post":{"tags":["webhook-controller"],"operationId":"rotate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Created"}}}}},"security":[{"apiKey":[]}]}},"/v1/webhooks/deliveries/{id}/redeliver":{"post":{"tags":["webhook-controller"],"operationId":"redeliver","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Delivery"}}}}},"security":[{"apiKey":[]}]}},"/v1/inboxes":{"get":{"tags":["inbox-controller"],"operationId":"list_1","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Page"}}}}},"security":[{"apiKey":[]}]},"post":{"tags":["inbox-controller"],"summary":"Create a temporary inbox","operationId":"create_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Inbox"}}}}},"security":[{"apiKey":[]}]}},"/api/web/workspace-invitations/accept":{"post":{"tags":["workspace-controller"],"operationId":"accept","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Accept"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Accepted"}}}}}}},"/api/web/tenants":{"get":{"tags":["tenant-controller"],"operationId":"list_2","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TenantResponse"}}}}}}},"post":{"tags":["tenant-controller"],"operationId":"create_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenant"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TenantResponse"}}}}}}},"/api/web/tenants/{tenantId}/webhooks":{"get":{"tags":["web-webhook-controller"],"operationId":"list_3","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}},"post":{"tags":["web-webhook-controller"],"operationId":"create_3","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Created"}}}}}}},"/api/web/tenants/{tenantId}/webhooks/{id}/rotate-secret":{"post":{"tags":["web-webhook-controller"],"operationId":"rotate_1","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Created"}}}}}}},"/api/web/tenants/{tenantId}/webhooks/deliveries/{id}/redeliver":{"post":{"tags":["web-webhook-controller"],"operationId":"redeliver_1","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Delivery"}}}}}}},"/api/web/tenants/{tenantId}/transfer-ownership":{"post":{"tags":["workspace-controller"],"operationId":"transfer","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transfer"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/api/web/tenants/{tenantId}/leave":{"post":{"tags":["workspace-controller"],"operationId":"leave","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/api/web/tenants/{tenantId}/invitations":{"get":{"tags":["workspace-controller"],"operationId":"invitations","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Invitation"}}}}}}},"post":{"tags":["workspace-controller"],"operationId":"invite","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invite"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreatedInvitation"}}}}}}},"/api/web/tenants/{tenantId}/api-keys":{"get":{"tags":["api-key-controller"],"operationId":"list_4","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyResponse"}}}}}}},"post":{"tags":["api-key-controller"],"operationId":"issue","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/IssuedApiKeyResponse"}}}}}}},"/api/web/logout":{"post":{"tags":["me-controller"],"operationId":"logout","responses":{"204":{"description":"No Content"}}}},"/api/operator/tenants/{tenantId}/suspend":{"post":{"tags":["operator-controller"],"operationId":"suspend","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmedAction"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/api/operator/tenants/{tenantId}/revoke-keys":{"post":{"tags":["operator-controller"],"operationId":"revokeKeys","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmedAction"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}}}}}},"/api/operator/tenants/{tenantId}/resume":{"post":{"tags":["operator-controller"],"operationId":"resume","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmedAction"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/api/operator/blocks":{"get":{"tags":["operator-controller"],"operationId":"blocks","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Block"}}}}}}},"post":{"tags":["operator-controller"],"operationId":"addBlock","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBlock"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Block"}}}}}}},"/v1/inboxes/{id}":{"get":{"tags":["inbox-controller"],"operationId":"get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Inbox"}}}}},"security":[{"apiKey":[]}]},"delete":{"tags":["inbox-controller"],"operationId":"delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}},"security":[{"apiKey":[]}]},"patch":{"tags":["inbox-controller"],"operationId":"update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInboxRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Inbox"}}}}},"security":[{"apiKey":[]}]}},"/api/web/tenants/{tenantId}/members/{memberId}":{"delete":{"tags":["workspace-controller"],"operationId":"remove","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["workspace-controller"],"operationId":"role","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeRole"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/v1/webhooks/deliveries":{"get":{"tags":["webhook-controller"],"operationId":"deliveries","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Delivery"}}}}}},"security":[{"apiKey":[]}]}},"/v1/usage":{"get":{"tags":["usage-controller"],"summary":"Get tenant resource usage and quota limits","operationId":"get_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Usage"}}}}},"security":[{"apiKey":[]}]}},"/v1/inboxes/{inboxId}/messages":{"get":{"tags":["message-controller"],"summary":"List messages newest first using an opaque cursor","operationId":"list_5","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"receivedAfter","in":"query","required":false,"schema":{"type":"string"}},{"name":"receivedBefore","in":"query","required":false,"schema":{"type":"string"}},{"name":"subject","in":"query","required":false,"schema":{"type":"string"}},{"name":"envelopeFrom","in":"query","required":false,"schema":{"type":"string"}},{"name":"envelopeTo","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string"}},{"name":"to","in":"query","required":false,"schema":{"type":"string"}},{"name":"messageId","in":"query","required":false,"schema":{"type":"string"}},{"name":"headerName","in":"query","required":false,"schema":{"type":"string"}},{"name":"headerValue","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Page"}}}}},"security":[{"apiKey":[]}]}},"/v1/inboxes/{inboxId}/messages/{messageId}":{"get":{"tags":["message-controller"],"operationId":"get_2","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MessageDetail"}}}}},"security":[{"apiKey":[]}]},"delete":{"tags":["message-controller"],"operationId":"delete_1","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}},"security":[{"apiKey":[]}]}},"/v1/inboxes/{inboxId}/messages/{messageId}/raw":{"get":{"tags":["message-controller"],"operationId":"raw","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}}},"security":[{"apiKey":[]}]}},"/v1/inboxes/{inboxId}/messages/{messageId}/attachments/{attachmentId}":{"get":{"tags":["message-controller"],"operationId":"attachment","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}}},"security":[{"apiKey":[]}]}},"/v1/inboxes/{inboxId}/messages/wait":{"get":{"tags":["message-controller"],"summary":"Wait up to 30 seconds for the first message newer than afterCursor","operationId":"waitFor","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"afterCursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"timeoutSeconds","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":30}},{"name":"receivedAfter","in":"query","required":false,"schema":{"type":"string"}},{"name":"receivedBefore","in":"query","required":false,"schema":{"type":"string"}},{"name":"subject","in":"query","required":false,"schema":{"type":"string"}},{"name":"envelopeFrom","in":"query","required":false,"schema":{"type":"string"}},{"name":"envelopeTo","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string"}},{"name":"to","in":"query","required":false,"schema":{"type":"string"}},{"name":"messageId","in":"query","required":false,"schema":{"type":"string"}},{"name":"headerName","in":"query","required":false,"schema":{"type":"string"}},{"name":"headerValue","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MessageSummary"}}}}},"security":[{"apiKey":[]}]}},"/api/web/tenants/{tenantId}":{"get":{"tags":["tenant-controller"],"operationId":"get_3","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TenantResponse"}}}}}}},"/api/web/tenants/{tenantId}/webhooks/deliveries":{"get":{"tags":["web-webhook-controller"],"operationId":"deliveries_1","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Delivery"}}}}}}}},"/api/web/tenants/{tenantId}/members":{"get":{"tags":["workspace-controller"],"operationId":"members","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Member"}}}}}}}},"/api/web/tenants/{tenantId}/audit-events":{"get":{"tags":["workspace-controller"],"operationId":"auditEvents","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditEntry"}}}}}}}},"/api/web/me":{"get":{"tags":["me-controller"],"operationId":"me","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}}}}},"/api/web/csrf":{"get":{"tags":["me-controller"],"operationId":"csrf","parameters":[{"name":"token","in":"query","required":true,"schema":{"$ref":"#/components/schemas/CsrfToken"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/operator/tenants":{"get":{"tags":["operator-controller"],"operationId":"tenants","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TenantSummary"}}}}}}}},"/api/operator/tenants/{tenantId}":{"get":{"tags":["operator-controller"],"operationId":"tenant","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TenantDetail"}}}}}}},"/api/operator/session":{"get":{"tags":["operator-controller"],"operationId":"session","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/operator/reliability":{"get":{"tags":["operator-controller"],"operationId":"reliability","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Reliability"}}}}}}},"/api/operator/audit-events":{"get":{"tags":["operator-controller"],"operationId":"audit","parameters":[{"name":"tenantId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditEntry"}}}}}}}},"/api/operator/activation":{"get":{"tags":["operator-controller"],"operationId":"activation","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Activation"}}}}}}},"/v1/webhooks/{id}":{"delete":{"tags":["webhook-controller"],"operationId":"delete_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}},"security":[{"apiKey":[]}]}},"/api/web/tenants/{tenantId}/webhooks/{id}":{"delete":{"tags":["web-webhook-controller"],"operationId":"delete_3","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/api/web/tenants/{tenantId}/invitations/{invitationId}":{"delete":{"tags":["workspace-controller"],"operationId":"revoke","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/api/web/tenants/{tenantId}/api-keys/{keyId}":{"delete":{"tags":["api-key-controller"],"operationId":"revoke_1","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"keyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/api/operator/blocks/{id}":{"delete":{"tags":["operator-controller"],"operationId":"revokeBlock","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmedAction"}}},"required":true},"responses":{"204":{"description":"No Content"}}}}},"components":{"schemas":{"Create":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}}},"Created":{"type":"object","properties":{"subscription":{"$ref":"#/components/schemas/Subscription"},"secret":{"type":"string"}}},"Subscription":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"Delivery":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"subscriptionId":{"type":"string","format":"uuid"},"eventId":{"type":"string","format":"uuid"},"eventType":{"type":"string"},"status":{"type":"string"},"attemptCount":{"type":"integer","format":"int32"},"lastAttemptAt":{"type":"string","format":"date-time"},"deliveredAt":{"type":"string","format":"date-time"},"responseStatus":{"type":"integer","format":"int32"},"errorCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"CreateInboxRequest":{"type":"object","properties":{"localPart":{"type":"string"},"retentionSeconds":{"type":"integer","format":"int32"}}},"Inbox":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"tenantId":{"type":"string","format":"uuid"},"localPart":{"type":"string"},"address":{"type":"string"},"retentionSeconds":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"Accept":{"type":"object","properties":{"token":{"type":"string"}}},"Accepted":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid"}}},"CreateTenant":{"type":"object","properties":{"slug":{"type":"string","minLength":1}},"required":["slug"]},"TenantResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"role":{"type":"string","enum":["owner","admin","member","viewer"]}}},"Transfer":{"type":"object","properties":{"userId":{"type":"string","format":"uuid"}}},"Invite":{"type":"object","properties":{"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member","viewer"]}}},"CreatedInvitation":{"type":"object","properties":{"invitation":{"$ref":"#/components/schemas/Invitation"},"token":{"type":"string"}}},"Invitation":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member","viewer"]},"invitedBy":{"type":"string","format":"uuid"},"expiresAt":{"type":"string","format":"date-time"},"acceptedAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"}}},"ApiKeyResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"hint":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"},"creatorUserId":{"type":"string","format":"uuid"}}},"IssuedApiKeyResponse":{"type":"object","properties":{"apiKey":{"$ref":"#/components/schemas/ApiKeyResponse"},"plaintext":{"type":"string"}}},"ConfirmedAction":{"type":"object","properties":{"confirmation":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":500,"minLength":0}},"required":["confirmation","reason"]},"CreateBlock":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"pattern":{"type":"string","maxLength":320,"minLength":0},"confirmation":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":500,"minLength":0},"expiresAt":{"type":"string","format":"date-time"}},"required":["confirmation","kind","pattern","reason"]},"Block":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string"},"pattern":{"type":"string"},"reason":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"}}},"UpdateInboxRequest":{"type":"object","properties":{"retentionSeconds":{"type":"integer","format":"int32"}}},"ChangeRole":{"type":"object","properties":{"role":{"type":"string","enum":["owner","admin","member","viewer"]}}},"Resource":{"type":"object","properties":{"used":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int64"}}},"Usage":{"type":"object","properties":{"activeInboxes":{"$ref":"#/components/schemas/Resource"},"storedMessages":{"$ref":"#/components/schemas/Resource"},"storedBytes":{"$ref":"#/components/schemas/Resource"},"apiRequestsToday":{"$ref":"#/components/schemas/Resource"},"concurrentWaits":{"$ref":"#/components/schemas/Resource"},"webhookDeliveriesToday":{"$ref":"#/components/schemas/Resource"},"resetsAt":{"type":"string","format":"date-time"}}},"Page":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Inbox"}},"nextCursor":{"type":"string"}}},"MessageSummary":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"subject":{"type":"string"},"from":{"type":"array","items":{}},"to":{"type":"array","items":{}},"receivedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"hasHtml":{"type":"boolean"},"attachmentCount":{"type":"integer","format":"int32"}}},"Attachment":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"fileName":{"type":"string"},"contentType":{"type":"string"},"disposition":{"type":"string"},"contentId":{"type":"string"},"sizeBytes":{"type":"integer","format":"int64"}}},"MessageDetail":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"subject":{"type":"string"},"from":{"type":"array","items":{}},"to":{"type":"array","items":{}},"receivedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"hasHtml":{"type":"boolean"},"attachmentCount":{"type":"integer","format":"int32"},"envelopeFrom":{"type":"string"},"envelopeTo":{"type":"array","items":{}},"headers":{"type":"array","items":{}},"textBody":{"type":"string"},"htmlBody":{"type":"string"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"parseWarnings":{"type":"array","items":{}}}},"StreamingResponseBody":{},"Member":{"type":"object","properties":{"userId":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member","viewer"]},"joinedAt":{"type":"string","format":"date-time"}}},"AuditEntry":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"actorUserId":{"type":"string","format":"uuid"},"eventType":{"type":"string"},"resourceType":{"type":"string"},"resourceId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}}},"MeResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"email":{"type":"string"}}},"CsrfToken":{"type":"object","properties":{"parameterName":{"type":"string"},"token":{"type":"string"},"headerName":{"type":"string"}}},"TenantSummary":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"members":{"type":"integer","format":"int64"}}},"TenantDetail":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/TenantSummary"},"usage":{"$ref":"#/components/schemas/Usage"},"apiErrors24h":{"type":"integer","format":"int64"},"webhookErrors24h":{"type":"integer","format":"int64"},"activeKeys":{"type":"integer","format":"int64"},"audit":{"type":"array","items":{"$ref":"#/components/schemas/AuditEntry"}}}},"ProbeRun":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string"},"smtpAcceptMs":{"type":"integer","format":"int64"},"availabilityMs":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"}}},"Reliability":{"type":"object","properties":{"consecutiveFailures":{"type":"integer","format":"int32"},"lastStatus":{"type":"string"},"lastCompletedAt":{"type":"string","format":"date-time"},"lastErrorCode":{"type":"string"},"passed24h":{"type":"integer","format":"int64"},"total24h":{"type":"integer","format":"int64"},"runs":{"type":"array","items":{"$ref":"#/components/schemas/ProbeRun"}}}},"Activation":{"type":"object","properties":{"windowStart":{"type":"string","format":"date-time"},"signedInUsers":{"type":"integer","format":"int64"},"tenantsCreated":{"type":"integer","format":"int64"},"tenantsWithApiKeys":{"type":"integer","format":"int64"},"tenantsReceivingMail":{"type":"integer","format":"int64"},"tenantsWithWebhooks":{"type":"integer","format":"int64"}}}},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"tstly API key"}}}}