{"openapi":"3.0.0","info":{"title":"Alepha UI showcase","version":"1.0.0","description":"The actions behind the showcase pages: fixtures standing in for the real `alepha/api/*` controllers."},"servers":[{"url":""}],"paths":{"/api/showcase/members":{"get":{"operationId":"findShowcaseMembers","description":"Paged, filtered and sorted showcase members","tags":["ShowcaseController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":255},"name":{"type":"string","maxLength":255},"email":{"type":"string","maxLength":255},"team":{"type":"string","maxLength":255},"role":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"status":{"type":"string","maxLength":255},"createdAt":{"type":"string","maxLength":255}},"required":["id","name","email","team","role","tags","status","createdAt"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"statusOp","in":"query","required":false,"schema":{"type":"string","enum":["is","not"]}},{"name":"team","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"roles","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"rolesOp","in":"query","required":false,"schema":{"type":"string","enum":["any","none"]}},{"name":"tags","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"tagsOp","in":"query","required":false,"schema":{"type":"string","enum":["any","all","none"]}},{"name":"email","in":"query","required":false,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"findShowcaseMembers","group":"ShowcaseController"}}},"/api/showcase/members/stats":{"get":{"operationId":"findShowcaseMemberStats","description":"Aggregate counts over the showcase members a query matches","tags":["ShowcaseController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"active":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"invited":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"teams":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["total","active","invited","teams"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"statusOp","in":"query","required":false,"schema":{"type":"string","enum":["is","not"]}},{"name":"team","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"roles","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"rolesOp","in":"query","required":false,"schema":{"type":"string","enum":["any","none"]}},{"name":"tags","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"tagsOp","in":"query","required":false,"schema":{"type":"string","enum":["any","all","none"]}},{"name":"email","in":"query","required":false,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"findShowcaseMemberStats","group":"ShowcaseController"}}},"/api/admin/audits":{"get":{"operationId":"findAudits","tags":["ShowcaseAuditsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^-?\\d+$","format":"bigint"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"scopeType":{"type":"string","maxLength":255},"scopeId":{"type":"string","maxLength":255},"type":{"type":"string","maxLength":255,"description":"Audit event type (e.g., auth, user, payment, system)"},"action":{"type":"string","maxLength":255,"description":"Specific action performed (e.g., login, create, update)"},"severity":{"default":"info","type":"string","enum":["info","warning","critical"],"description":"Severity level of the audit event"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"userRealm":{"type":"string","maxLength":255},"userEmail":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"resourceType":{"type":"string","maxLength":255},"resourceId":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"ipAddress":{"type":"string","maxLength":255},"userAgent":{"type":"string","maxLength":255},"sessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"requestId":{"type":"string","maxLength":255},"success":{"type":"boolean"},"errorMessage":{"type":"string","maxLength":255},"eventCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","createdAt","type","action","severity","success","eventCount"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by audit type"}},{"name":"action","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by action"}},{"name":"severity","in":"query","required":false,"schema":{"default":"info","type":"string","enum":["info","warning","critical"],"description":"Severity level of the audit event"},"example":"info"},{"name":"scopeType","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by scope type"}},{"name":"scopeId","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by scope id"}},{"name":"layer","in":"query","required":false,"schema":{"type":"string","enum":["app","scoped"],"description":"Filter by audit layer"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","description":"Filter by user ID"}},{"name":"userRealm","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by user realm"}},{"name":"resourceType","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by resource type"}},{"name":"resourceId","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by resource ID"}},{"name":"success","in":"query","required":false,"schema":{"type":"boolean","description":"Filter by success status"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Start date filter (inclusive)"}},{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Start date filter (exclusive), for a forward cursor"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"End date filter"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Search in description"}}],"x-alepha-action":{"name":"findAudits","group":"ShowcaseAuditsController"}},"delete":{"operationId":"deleteAudits","tags":["ShowcaseAuditsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"x-alepha-action":{"name":"deleteAudits","group":"ShowcaseAuditsController"}}},"/api/admin/audits/actions":{"get":{"operationId":"getAuditActions","tags":["ShowcaseAuditsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","maxLength":255,"description":"The audit type the action belongs to"},"action":{"type":"string","maxLength":255,"description":"The action name, unique within its type"}},"required":["type","action"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"getAuditActions","group":"ShowcaseAuditsController"}}},"/api/admin/users":{"get":{"operationId":"findUsers","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"realm":{"type":"string","maxLength":255},"username":{"type":"string","minLength":3,"maxLength":30},"email":{"type":"string","format":"email"},"phoneNumber":{"type":"string","maxLength":255,"pattern":"^\\+[1-9]\\d{1,14}$"},"roles":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"picture":{"type":"string"},"enabled":{"type":"boolean"},"emailVerified":{"type":"boolean"},"lastLoginAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","version","createdAt","updatedAt","realm","roles","enabled","emailVerified"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"email","in":"query","required":false,"schema":{"type":"string"}},{"name":"emails","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"enabled","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"emailVerified","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"roles","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"findUsers","group":"ShowcaseUsersController"}},"delete":{"operationId":"deleteUsers","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"deleteUsers","group":"ShowcaseUsersController"}}},"/api/admin/users/{id}":{"get":{"operationId":"getUser","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"realm":{"type":"string","maxLength":255},"username":{"type":"string","minLength":3,"maxLength":30},"email":{"type":"string","format":"email"},"phoneNumber":{"type":"string","maxLength":255,"pattern":"^\\+[1-9]\\d{1,14}$"},"roles":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"picture":{"type":"string"},"enabled":{"type":"boolean"},"emailVerified":{"type":"boolean"},"lastLoginAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","version","createdAt","updatedAt","realm","roles","enabled","emailVerified"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"getUser","group":"ShowcaseUsersController"}},"patch":{"operationId":"updateUser","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"realm":{"type":"string","maxLength":255},"username":{"type":"string","minLength":3,"maxLength":30},"email":{"type":"string","format":"email"},"phoneNumber":{"type":"string","maxLength":255,"pattern":"^\\+[1-9]\\d{1,14}$"},"roles":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"picture":{"type":"string"},"enabled":{"type":"boolean"},"emailVerified":{"type":"boolean"},"lastLoginAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","version","createdAt","updatedAt","realm","roles","enabled","emailVerified"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"updateUser","group":"ShowcaseUsersController"}},"delete":{"operationId":"deleteUser","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteUser","group":"ShowcaseUsersController"}}},"/api/admin/users/metadata/roles":{"get":{"operationId":"findRoles","tags":["ShowcaseUsersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"default":{"type":"boolean"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"findRoles","group":"ShowcaseUsersController"}}},"/api/admin/jobs":{"get":{"operationId":"listJobs","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255},"type":{"type":"string","enum":["cron","queue","direct"],"description":"Effective runtime mode. 'cron' = scheduled. 'queue' = push-driven, dispatched via AlephaApiJobsQueue. 'direct' = push-driven, processed in-process (no queue infrastructure loaded), with the sweep as the safety net."},"cron":{"type":"string","maxLength":255},"timeout":{"type":"string","maxLength":255},"retry":{"type":"object","properties":{"retries":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["retries"],"additionalProperties":false},"retention":{"type":"object","properties":{"ok":{"anyOf":[{"type":"object","properties":{"last":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"days":{"type":"number"}},"additionalProperties":false},{"type":"boolean","const":false}]},"error":{"anyOf":[{"type":"object","properties":{"last":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"days":{"type":"number"}},"additionalProperties":false},{"type":"boolean","const":false}]},"source":{"type":"object","properties":{"ok":{"type":"string","enum":["job","default"]},"error":{"type":"string","enum":["job","default"]}},"required":["ok","error"],"additionalProperties":false},"cadence":{"type":"string","enum":["frequent","hourly","daily","slower"]}},"required":["ok","error","source"],"additionalProperties":false},"recent":{"type":"object","properties":{"ok":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastRun":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastStatus":{"type":"string","enum":["ok","error"]}},"required":["ok","error"],"additionalProperties":false}},"required":["name","type","retention","recent"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"listJobs","group":"ShowcaseJobsController"}}},"/api/admin/jobs/{name}/executions":{"get":{"operationId":"listExecutions","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"jobName":{"type":"string","maxLength":255},"key":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}]},"status":{"type":"string","enum":["pending","running","scheduled","ok","error","cancelled"]},"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxAttempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"redispatchCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"type":"string","maxLength":255},"triggeredBy":{"type":"string","maxLength":255},"triggeredByName":{"type":"string","maxLength":255},"cancelledBy":{"type":"string","maxLength":255},"cancelledByName":{"type":"string","maxLength":255},"can":{"type":"object","properties":{"retry":{"type":"boolean"},"cancel":{"type":"boolean"},"delete":{"type":"boolean"}},"required":["retry","cancel","delete"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","jobName","status","attempt","maxAttempts","redispatchCount","can"],"additionalProperties":false,"title":"JobExecutionRow","description":"A job execution in a list, without its payload and captured logs."}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["createdAt","-createdAt","startedAt","-startedAt","completedAt","-completedAt","status","-status","attempt","-attempt"],"description":"Sort column, '-' for descending. Defaults to -createdAt."}},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["pending","running","scheduled","ok","error","cancelled"]},"description":"Keep rows in any of these statuses."}},{"name":"trigger","in":"query","required":false,"schema":{"type":"string","enum":["scheduled","manual","code"],"description":"What started the run: 'scheduled' is a cron tick, 'manual' an admin trigger or retry, 'code' a push from code or devtools."}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Started at or after (inclusive)."}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Started at or before (inclusive)."}},{"name":"key","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Deduplication key contains this text."}},{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"listExecutions","group":"ShowcaseJobsController"}}},"/api/admin/jobs/executions/{id}":{"get":{"operationId":"getExecution","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobExecutionResource"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"getExecution","group":"ShowcaseJobsController"}},"delete":{"operationId":"deleteExecution","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteExecution","group":"ShowcaseJobsController"}}},"/api/admin/jobs/{name}/trigger":{"post":{"operationId":"triggerJob","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payload":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}}},"additionalProperties":false}}}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"triggerJob","group":"ShowcaseJobsController"}}},"/api/admin/jobs/executions/{id}/retry":{"post":{"operationId":"retryExecution","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"retryExecution","group":"ShowcaseJobsController"}}},"/api/admin/jobs/executions/{id}/cancel":{"post":{"operationId":"cancelExecution","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"cancelExecution","group":"ShowcaseJobsController"}}},"/api/admin/jobs/executions/delete":{"post":{"operationId":"deleteExecutions","tags":["ShowcaseJobsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"skipped":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted","skipped"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"x-alepha-action":{"name":"deleteExecutions","group":"ShowcaseJobsController"}}},"/api/admin/sessions":{"get":{"operationId":"findSessions","tags":["ShowcaseSessionsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"number"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ip":{"type":"string"},"country":{"type":"string"},"userAgent":{"type":"object","properties":{"os":{"type":"string"},"browser":{"type":"string"},"device":{"type":"string","enum":["MOBILE","DESKTOP","TABLET","UNKNOWN"]}},"required":["os","browser","device"],"additionalProperties":false},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","version","createdAt","updatedAt","userId","expiresAt"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"country","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["active","expired"]}},{"name":"lastUsedWithinHours","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"findSessions","group":"ShowcaseSessionsController"}},"delete":{"operationId":"deleteSessions","tags":["ShowcaseSessionsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"deleteSessions","group":"ShowcaseSessionsController"}}},"/api/admin/sessions/countries":{"get":{"operationId":"getSessionCountries","tags":["ShowcaseSessionsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","maxLength":255}}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"getSessionCountries","group":"ShowcaseSessionsController"}}},"/api/admin/sessions/{id}":{"delete":{"operationId":"deleteSession","tags":["ShowcaseSessionsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteSession","group":"ShowcaseSessionsController"}}},"/api/admin/api-keys":{"get":{"operationId":"findApiKeys","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string"},"username":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"tokenPrefix":{"type":"string"},"tokenSuffix":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"ipAllowlist":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedIp":{"type":"string"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"rotatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"usageCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["active","expiring","expired","revoked"],"description":"Where the key is in its life, derived when it is read."}},"required":["id","userId","name","tokenPrefix","tokenSuffix","roles","permissions","ipAllowlist","createdAt","usageCount","status"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["active","expiring","expired","revoked"],"description":"Where the key is in its life, derived when it is read."}}}],"x-alepha-action":{"name":"findApiKeys","group":"ShowcaseKeysController"}},"delete":{"operationId":"revokeApiKeys","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["revoked"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"x-alepha-action":{"name":"revokeApiKeys","group":"ShowcaseKeysController"}}},"/api/api-keys":{"post":{"operationId":"createApiKey","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"token":{"type":"string"},"tokenSuffix":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"ipAllowlist":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","token","tokenSuffix","roles","permissions","ipAllowlist","createdAt"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","maxLength":500},"expiresIn":{"type":"string","enum":["7d","30d","60d","90d","180d","1y","never"],"description":"How long the key lives. 'never' is refused under an expiry cap."},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permissions":{"maxItems":500,"type":"array","items":{"type":"string","maxLength":255}},"ipAllowlist":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":64}}},"required":["name"],"additionalProperties":false}}}},"x-alepha-action":{"name":"createApiKey","group":"ShowcaseKeysController"}},"get":{"operationId":"listApiKeys","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"type":"string"},"tokenPrefix":{"type":"string"},"tokenSuffix":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"ipAllowlist":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedIp":{"type":"string"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"rotatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"usageCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["active","expiring","expired","revoked"],"description":"Where the key is in its life, derived when it is read."}},"required":["id","name","tokenPrefix","tokenSuffix","roles","permissions","ipAllowlist","createdAt","usageCount","status"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"listApiKeys","group":"ShowcaseKeysController"}}},"/api/api-keys/options":{"get":{"operationId":"getApiKeyOptions","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"expiry":{"type":"object","properties":{"default":{"type":"string","enum":["7d","30d","60d","90d","180d","1y","never"],"description":"How long the key lives. 'never' is refused under an expiry cap."},"maxDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presets":{"type":"array","items":{"type":"string","enum":["7d","30d","60d","90d","180d","1y","never"],"description":"How long the key lives. 'never' is refused under an expiry cap."}}},"required":["maxDays","presets"],"additionalProperties":false},"permissions":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"label":{"type":"string","maxLength":255},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"permissions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"label":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255}},"required":["name"],"additionalProperties":false}}},"required":["name","permissions"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false}},"required":["expiry","permissions"],"additionalProperties":false}}}}},"x-alepha-action":{"name":"getApiKeyOptions","group":"ShowcaseKeysController"}}},"/api/api-keys/{id}/rotate":{"post":{"operationId":"rotateMyApiKey","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"token":{"type":"string"},"tokenSuffix":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"ipAllowlist":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","token","tokenSuffix","roles","permissions","ipAllowlist","createdAt"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expiresIn":{"type":"string","enum":["7d","30d","60d","90d","180d","1y","never"],"description":"How long the key lives. 'never' is refused under an expiry cap."}},"additionalProperties":false}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"rotateMyApiKey","group":"ShowcaseKeysController"}}},"/api/api-keys/{id}":{"delete":{"operationId":"revokeMyApiKey","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"revokeMyApiKey","group":"ShowcaseKeysController"}}},"/api/admin/api-keys/{id}":{"delete":{"operationId":"revokeApiKey","tags":["ShowcaseKeysController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"revokeApiKey","group":"ShowcaseKeysController"}}},"/api/admin/files":{"get":{"operationId":"findFiles","tags":["ShowcaseFilesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"blobId":{"type":"string","maxLength":255},"creator":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorRealm":{"type":"string"},"creatorName":{"type":"string"},"bucket":{"type":"string","maxLength":255},"expirationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"originalName":{"type":"string"},"size":{"type":"number"},"mimeType":{"type":"string"},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"checksum":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","version","createdAt","updatedAt","blobId","bucket","name","size","mimeType"],"additionalProperties":false,"title":"FileResource","description":"A file resource representing a file stored in the system."}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"name","in":"query","required":false,"schema":{"type":"string"}},{"name":"mimeType","in":"query","required":false,"schema":{"type":"string"}},{"name":"creator","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"createdAfter","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},{"name":"createdBefore","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}}],"x-alepha-action":{"name":"findFiles","group":"ShowcaseFilesController"}}},"/api/admin/files/stats":{"get":{"operationId":"getFileStats","tags":["ShowcaseFilesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"totalSize":{"type":"number"},"totalFiles":{"type":"number"},"byBucket":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string"},"totalSize":{"type":"number"},"fileCount":{"type":"number"}},"required":["bucket","totalSize","fileCount"],"additionalProperties":false}},"byMimeType":{"type":"array","items":{"type":"object","properties":{"mimeType":{"type":"string"},"fileCount":{"type":"number"}},"required":["mimeType","fileCount"],"additionalProperties":false}},"quota":{"type":"number"}},"required":["totalSize","totalFiles","byBucket","byMimeType","quota"],"additionalProperties":false}}}}},"x-alepha-action":{"name":"getFileStats","group":"ShowcaseFilesController"}}},"/api/files":{"post":{"operationId":"uploadFile","tags":["ShowcaseFilesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResource"}}}}},"x-alepha-action":{"name":"uploadFile","group":"ShowcaseFilesController"}},"delete":{"operationId":"deleteFiles","tags":["ShowcaseFilesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"x-alepha-action":{"name":"deleteFiles","group":"ShowcaseFilesController"}}},"/api/files/{id}":{"delete":{"operationId":"deleteFile","tags":["ShowcaseFilesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteFile","group":"ShowcaseFilesController"}}},"/api/admin/notifications":{"get":{"operationId":"findNotifications","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"executionId":{"type":"string","maxLength":255},"status":{"type":"string","maxLength":255},"template":{"type":"string","maxLength":255},"type":{"type":"string","maxLength":255},"contact":{"type":"string","maxLength":255},"category":{"type":"string","maxLength":255},"critical":{"type":"boolean"},"skipReason":{"type":"string","maxLength":255},"subject":{"type":"string","maxLength":255},"provider":{"type":"string","maxLength":255},"messageId":{"type":"string","maxLength":255},"smtpStatusCode":{"type":"string","maxLength":255},"lastEventAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"type":"string","maxLength":255},"outboxAvailable":{"type":"boolean"}},"required":["id","createdAt","executionId","status"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["sent","delivered","deferred","bounced","complained","failed","rejected","skipped"]}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"template","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"channel","in":"query","required":false,"schema":{"type":"string","maxLength":32}},{"name":"category","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"hasError","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"createdAfter","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},{"name":"createdBefore","in":"query","required":false,"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}}],"x-alepha-action":{"name":"findNotifications","group":"ShowcaseNotificationsController"}},"delete":{"operationId":"deleteNotifications","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["ids"],"additionalProperties":false}}}},"x-alepha-action":{"name":"deleteNotifications","group":"ShowcaseNotificationsController"}}},"/api/admin/notifications/templates":{"get":{"operationId":"listNotificationTemplates","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":100},"category":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":1024},"channels":{"type":"array","items":{"type":"string","maxLength":32}},"critical":{"type":"boolean"},"sensitive":{"type":"boolean"}},"required":["name","channels","critical","sensitive"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"listNotificationTemplates","group":"ShowcaseNotificationsController"}}},"/api/admin/notifications/{id}":{"get":{"operationId":"getNotification","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationDetailResource"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"getNotification","group":"ShowcaseNotificationsController"}},"delete":{"operationId":"deleteNotification","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteNotification","group":"ShowcaseNotificationsController"}}},"/api/admin/notifications/{id}/preview":{"get":{"operationId":"previewNotification","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"},"reason":{"type":"string","enum":["outbox-purged","sensitive","template-missing"]},"channel":{"type":"string","maxLength":32},"subject":{"type":"string","maxLength":500},"body":{"type":"string","maxLength":1000000},"text":{"type":"string","maxLength":1000000},"attachments":{"type":"array","items":{"type":"string","maxLength":255}},"source":{"type":"string","enum":["live"]}},"required":["available","channel","attachments","source"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"previewNotification","group":"ShowcaseNotificationsController"}}},"/api/admin/notifications/{id}/resend":{"post":{"operationId":"resendNotification","tags":["ShowcaseNotificationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"resendNotification","group":"ShowcaseNotificationsController"}}},"/api/admin/parameters/tree":{"get":{"operationId":"getParameterTree","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"path":{"type":"string","maxLength":255},"isLeaf":{"type":"boolean"},"origin":{"type":"string","enum":["registered","orphan","both"]},"children":{"type":"array","items":{}}},"required":["name","path","isLeaf","origin","children"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"getParameterTree","group":"ShowcaseParametersController"}}},"/api/admin/parameters/{name}":{"get":{"operationId":"getCurrent","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"current":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schemaHash":{"type":"string","maxLength":255},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"creatorId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorName":{"type":"string","maxLength":255},"previousContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"migrationLog":{"type":"string","maxLength":255},"status":{"type":"string","enum":["expired","current","next","future"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","name","content","schemaHash","activationDate","version","status"],"additionalProperties":false},"next":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schemaHash":{"type":"string","maxLength":255},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"creatorId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorName":{"type":"string","maxLength":255},"previousContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"migrationLog":{"type":"string","maxLength":255},"status":{"type":"string","enum":["expired","current","next","future"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","name","content","schemaHash","activationDate","version","status"],"additionalProperties":false},"defaultValue":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"currentValue":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":{"type":"string","maxLength":255}},"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"getCurrent","group":"ShowcaseParametersController"}},"post":{"operationId":"createVersion","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schemaHash":{"type":"string","maxLength":255},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"creatorId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorName":{"type":"string","maxLength":255},"previousContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"migrationLog":{"type":"string","maxLength":255},"status":{"type":"string","enum":["expired","current","next","future"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","name","content","schemaHash","activationDate","version","status"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When to activate (default: now)"}},"required":["content"],"additionalProperties":false}}}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"createVersion","group":"ShowcaseParametersController"}},"delete":{"operationId":"deleteParameter","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteParameter","group":"ShowcaseParametersController"}}},"/api/admin/parameters/{name}/history":{"get":{"operationId":"getHistory","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schemaHash":{"type":"string","maxLength":255},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"creatorId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorName":{"type":"string","maxLength":255},"previousContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"migrationLog":{"type":"string","maxLength":255},"status":{"type":"string","enum":["expired","current","next","future"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","name","content","schemaHash","activationDate","version","status"],"additionalProperties":false}}},"required":["versions"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"getHistory","group":"ShowcaseParametersController"}}},"/api/admin/parameters/{name}/rollback":{"post":{"operationId":"rollback","tags":["ShowcaseParametersController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"content":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"schemaHash":{"type":"string","maxLength":255},"activationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"changeDescription":{"type":"string","maxLength":255},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"creatorId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorName":{"type":"string","maxLength":255},"previousContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"migrationLog":{"type":"string","maxLength":255},"status":{"type":"string","enum":["expired","current","next","future"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","name","content","schemaHash","activationDate","version","status"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"changeDescription":{"type":"string","maxLength":255},"targetVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Version number to rollback to"}},"required":["targetVersion"],"additionalProperties":false}}}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"rollback","group":"ShowcaseParametersController"}}},"/api/admin/analytics/datasets":{"get":{"operationId":"listDatasets","tags":["ShowcaseAnalyticsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"index":{"type":"string","maxLength":255},"dimensions":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}},"measures":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}},"folds":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{"type":"array","items":{"type":"string","enum":["sum","min","max","last"]}}},"resolution":{"type":"string","maxLength":255},"retention":{"type":"array","items":{"type":"object","properties":{"resolution":{"type":"string","maxLength":255},"keep":{"type":"string","maxLength":255}},"required":["resolution"],"additionalProperties":false}}},"required":["name","index","dimensions","measures","folds","resolution","retention"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"listDatasets","group":"ShowcaseAnalyticsController"}}},"/api/admin/analytics/datasets/{name}/query":{"post":{"operationId":"queryDataset","tags":["ShowcaseAnalyticsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{"anyOf":[{"type":"string","maxLength":255},{"type":"number"},{"type":"null"}]}}},"estimated":{"type":"boolean"},"coarsened":{"type":"boolean"},"sampleInterval":{"type":"number"}},"required":["rows","estimated"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string","maxLength":255,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"until":{"type":"string","maxLength":255,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"from":{"type":"string","maxLength":255,"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?(Z|[+-]\\d{2}:\\d{2})$"},"to":{"type":"string","maxLength":255,"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?(Z|[+-]\\d{2}:\\d{2})$"},"where":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{"anyOf":[{"type":"string","maxLength":255},{"type":"number"},{"type":"object","properties":{"inArray":{"type":"array","items":{"anyOf":[{"type":"string","maxLength":255},{"type":"number"}]}}},"required":["inArray"],"additionalProperties":false}]}},"groupBy":{"type":"array","items":{"type":"string","maxLength":255}},"select":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{"anyOf":[{"type":"string","enum":["sum","min","max","last"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["sum","min","max","last"]}}]}},"orderBy":{"type":"object","properties":{"key":{"type":"string","maxLength":255},"direction":{"type":"string","enum":["asc","desc"]}},"required":["key","direction"],"additionalProperties":false},"limit":{"type":"integer","minimum":1,"maximum":1000}},"required":["select"],"additionalProperties":false}}}},"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"queryDataset","group":"ShowcaseAnalyticsController"}}},"/api/admin/payments/intents":{"get":{"operationId":"listIntents","tags":["ShowcasePaymentsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","maxLength":64},"status":{"type":"string","enum":["created","processing","authorized","captured","partially_refunded","voided","failed","cancelled","refunded","expired"]},"providerRef":{"type":"string","maxLength":255},"providerAccount":{"type":"string","maxLength":255},"saveCard":{"type":"boolean"},"providerRaw":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"paymentMethodId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","version","createdAt","updatedAt","amount","currency","status"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Filter by status"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","description":"Filter by user ID"}}],"x-alepha-action":{"name":"listIntents","group":"ShowcasePaymentsController"}}},"/api/admin/identities":{"get":{"operationId":"findIdentities","tags":["ShowcaseIdentitiesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"provider":{"type":"string","maxLength":255},"providerUserId":{"type":"string","maxLength":255},"providerData":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id","version","createdAt","updatedAt","userId","provider"],"additionalProperties":false}},"page":{"type":"object","properties":{"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"numberOfElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalElements":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isEmpty":{"type":"boolean"},"isFirst":{"type":"boolean"},"isLast":{"type":"boolean"}},"required":["number","size","offset","numberOfElements","isEmpty","isFirst","isLast"],"additionalProperties":false}},"required":["content","page"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The page number to retrieve."},"example":0},{"name":"size","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"The number of items per page."},"example":10},{"name":"sort","in":"query","required":false,"schema":{"type":"string","maxLength":255,"description":"Sort by field(s). Multiple columns separated by comma. Prefix with '-' for DESC. Examples: 'name' (ASC), '-createdAt' (DESC), 'role,-name' (role ASC, name DESC)"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string"}},{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"findIdentities","group":"ShowcaseIdentitiesController"}}},"/api/admin/identities/{id}":{"delete":{"operationId":"deleteIdentity","tags":["ShowcaseIdentitiesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteIdentity","group":"ShowcaseIdentitiesController"}}},"/api/realms/config":{"get":{"operationId":"getRealmConfig","tags":["ShowcaseIdentitiesController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"settings":{"type":"object","properties":{"displayName":{"type":"string","description":"Display name shown on auth pages (e.g., 'Customer Portal')"},"description":{"type":"string","description":"Description shown on auth pages"},"logoUrl":{"type":"string","description":"Logo URL for auth pages"},"registrationAllowed":{"type":"boolean","description":"Enable user self-registration"},"email":{"anyOf":[{"type":"string","const":"none"},{"type":"string","const":"optional"},{"type":"string","const":"required"}],"description":"Email address field requirement for user accounts"},"username":{"anyOf":[{"type":"string","const":"none"},{"type":"string","const":"optional"},{"type":"string","const":"required"},{"type":"string","const":"email"}],"description":"Username field requirement for user accounts"},"usernameRegExp":{"type":"string","description":"Regular expression that usernames must match (if username is enabled)"},"usernameBlocklist":{"type":"array","items":{"type":"string","maxLength":255},"description":"Usernames that the slugger / manual registration must reject. Default empty so apps can register `admin`/`root`/`me`/etc. if they want; populate it explicitly for handles you want to keep off-limits."},"phoneNumber":{"anyOf":[{"type":"string","const":"none"},{"type":"string","const":"optional"},{"type":"string","const":"required"}],"description":"Phone number field requirement for user accounts"},"verifyEmailRequired":{"type":"boolean","description":"Require email verification for user accounts"},"trustProviderEmail":{"type":"boolean","description":"Whether an OAuth2 provider that does NOT send an `email_verified` claim is trusted about the address anyway. A provider that sends the claim is always believed, `false` included. Turn this off for realms that accept logins from providers where anyone can claim an address they do not own."},"verifyPhoneRequired":{"type":"boolean","description":"Require phone verification for user accounts"},"firstNameLastName":{"anyOf":[{"type":"string","const":"none"},{"type":"string","const":"optional"},{"type":"string","const":"required"}],"description":"First and last name field requirement for user accounts"},"resetPasswordAllowed":{"type":"boolean","description":"Enable forgot password functionality"},"captchaRequired":{"type":"boolean","description":"Require captcha verification on registration (needs a CaptchaProvider registered, e.g. TurnstileCaptchaProvider)"},"defaultRoles":{"type":"array","items":{"type":"string"},"description":"Default roles assigned to newly registered users"},"verifyEmailUrl":{"type":"string","description":"Base URL for email verification links (used when verification method is 'link'). Token and email are appended as query params."},"passwordPolicy":{"type":"object","properties":{"minLength":{"default":8,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Minimum password length"},"requireUppercase":{"type":"boolean","description":"Require at least one uppercase letter"},"requireLowercase":{"type":"boolean","description":"Require at least one lowercase letter"},"requireNumbers":{"type":"boolean","description":"Require at least one number"},"requireSpecialCharacters":{"type":"boolean","description":"Require at least one special character"}},"required":["minLength","requireUppercase","requireLowercase","requireNumbers","requireSpecialCharacters"],"additionalProperties":false},"loginRateLimit":{"type":"object","properties":{"ipMaxAttempts":{"default":15,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Max failed login attempts per IP before temporary lockout"},"accountMaxAttempts":{"default":5,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Max failed login attempts per account before temporary lockout"},"windowMs":{"default":900000,"type":"integer","minimum":1000,"maximum":9007199254740991,"description":"Rate limit window duration in milliseconds"}},"required":["ipMaxAttempts","accountMaxAttempts","windowMs"],"additionalProperties":false},"registrationIpMaxAttempts":{"default":10,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Max registration attempts per IP before temporary lockout. Default 10 protects against signup abuse; raise it in dev/e2e environments where a single localhost IP spawns many test users."},"mfa":{"type":"object","properties":{"totp":{"anyOf":[{"type":"string","const":"disabled"},{"type":"string","const":"optional"},{"type":"string","const":"required"}],"description":"Authenticator-app codes (TOTP, RFC 6238). 'optional' lets a user enroll from their account page; 'required' forces enrollment after the first successful password login."},"emailCode":{"anyOf":[{"type":"string","const":"disabled"},{"type":"string","const":"optional"},{"type":"string","const":"required"}],"description":"One-time codes sent by email. Needs `features.notifications` and a verified email address on the account. Weaker than TOTP: when password reset also goes through email, a compromised mailbox is both factors at once."}},"required":["totp","emailCode"],"additionalProperties":false},"refreshToken":{"type":"object","properties":{"expirationIdle":{"type":"integer","minimum":1000,"maximum":9007199254740991,"description":"Maximum time in milliseconds a refresh token may stay unused before being invalidated. When set, sessions whose last refresh is older than this window are rejected and deleted, even if the absolute `expiresAt` has not been reached. Recommended for SaaS auth posture (SOC2/ISO27001). Leave undefined to disable idle invalidation (default)."}},"additionalProperties":false}},"required":["registrationAllowed","email","username","usernameRegExp","usernameBlocklist","phoneNumber","verifyEmailRequired","trustProviderEmail","verifyPhoneRequired","firstNameLastName","resetPasswordAllowed","captchaRequired","defaultRoles","passwordPolicy","loginRateLimit","registrationIpMaxAttempts","mfa","refreshToken"],"additionalProperties":false},"realmName":{"type":"string"},"authenticationMethods":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Name of the authentication provider."},"type":{"type":"string","enum":["OAUTH2","OIDC","CREDENTIALS"],"description":"Type of the authentication provider."}},"required":["name","type"],"additionalProperties":false,"title":"AuthenticationProvider"}},"captchaSiteKey":{"type":"string","description":"Public site key for the captcha widget (when settings.captchaRequired is true)"}},"required":["settings","realmName","authenticationMethods"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"userRealmName","in":"query","required":false,"schema":{"type":"string"}}],"x-alepha-action":{"name":"getRealmConfig","group":"ShowcaseIdentitiesController"}}},"/api/users/me/mfa":{"get":{"operationId":"getMyMfa","tags":["ShowcaseMfaController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyMfaStatus"}}}}},"x-alepha-action":{"name":"getMyMfa","group":"ShowcaseMfaController"}}},"/api/users/me/mfa/totp/disable":{"post":{"operationId":"disableTotp","tags":["ShowcaseMfaController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}}},"x-alepha-action":{"name":"disableTotp","group":"ShowcaseMfaController"}}},"/api/showcase/organizations":{"get":{"operationId":"getMyOrganizations","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":100},"logo":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"rank":{"type":"string","maxLength":255}},"required":["id","createdAt","updatedAt","name","rank"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"getMyOrganizations","group":"ShowcaseOrganizationsController"}},"post":{"operationId":"createOrganization","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":100},"logo":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id","createdAt","updatedAt","name"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":100},"logo":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["name"],"additionalProperties":false}}}},"x-alepha-action":{"name":"createOrganization","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/members":{"get":{"operationId":"getOrganizationMembers","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"rank":{"type":"string","maxLength":64},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"realm":{"type":"string","maxLength":255},"username":{"type":"string","minLength":3,"maxLength":30},"email":{"type":"string","format":"email"},"phoneNumber":{"type":"string","maxLength":255,"pattern":"^\\+[1-9]\\d{1,14}$"},"roles":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"picture":{"type":"string"},"enabled":{"type":"boolean"},"emailVerified":{"type":"boolean"},"lastLoginAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","version","createdAt","updatedAt","realm","roles","enabled","emailVerified"],"additionalProperties":false},"rankName":{"type":"string","maxLength":255,"description":"The display name of the rank this member holds. Resolved server-side because the rank list is `rank:manage`-gated, and a member who may only read the roster would otherwise see a custom rank's opaque key."}},"required":["id","createdAt","updatedAt","organizationId","userId","user"],"additionalProperties":false}}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"getOrganizationMembers","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/members/{userId}":{"delete":{"operationId":"removeOrganizationMember","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"removeOrganizationMember","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/leave":{"post":{"operationId":"leaveOrganization","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"leaveOrganization","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/transfer":{"post":{"operationId":"transferOrganizationOwnership","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"rank":{"type":"string","maxLength":64}},"required":["userId"],"additionalProperties":false}}}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"transferOrganizationOwnership","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/ranks/assignments/{userId}":{"put":{"operationId":"assignOrganizationRank","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":64}},"required":["key"],"additionalProperties":false}}}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"assignOrganizationRank","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/invitations":{"get":{"operationId":"getOrganizationInvitations","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"invitedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"status":{"type":"string","enum":["pending","accepted","declined","expired","revoked"]},"rank":{"type":"string","maxLength":64},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id","version","createdAt","updatedAt","organizationId","invitedBy","email","status","expiresAt"],"additionalProperties":false}}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"getOrganizationInvitations","group":"ShowcaseOrganizationsController"}},"post":{"operationId":"createOrganizationInvitation","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"invitedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"status":{"type":"string","enum":["pending","accepted","declined","expired","revoked"]},"rank":{"type":"string","maxLength":64},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id","version","createdAt","updatedAt","organizationId","invitedBy","email","status","expiresAt"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"rank":{"type":"string","maxLength":64},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["email"],"additionalProperties":false}}}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"createOrganizationInvitation","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/invitations/{invitationId}/revoke":{"post":{"operationId":"revokeOrganizationInvitation","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"revokeOrganizationInvitation","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/invitations/me":{"get":{"operationId":"getMyOrganizationInvitations","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"invitedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"status":{"type":"string","enum":["pending","accepted","declined","expired","revoked"]},"rank":{"type":"string","maxLength":64},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"resolvedBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"organizationName":{"type":"string"}},"required":["id","version","createdAt","updatedAt","organizationId","invitedBy","email","status","expiresAt"],"additionalProperties":false}}}}}},"x-alepha-action":{"name":"getMyOrganizationInvitations","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/invitations/{invitationId}/accept":{"post":{"operationId":"acceptOrganizationInvitation","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["organizationId"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"acceptOrganizationInvitation","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/invitations/{invitationId}/decline":{"post":{"operationId":"declineOrganizationInvitation","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"declineOrganizationInvitation","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/ranks/catalogue":{"get":{"operationId":"getOrganizationRankCatalogue","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"label":{"type":"string","maxLength":255},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"permissions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"label":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255}},"required":["name"],"additionalProperties":false}}},"required":["name","permissions"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"getOrganizationRankCatalogue","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/ranks":{"get":{"operationId":"getOrganizationRanks","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","maxLength":255},"name":{"type":"string","maxLength":255},"permissions":{"type":"array","items":{"type":"string","maxLength":255}},"builtin":{"type":"boolean"},"editable":{"type":"boolean"}},"required":["key","name","permissions","builtin","editable"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"x-alepha-action":{"name":"getOrganizationRanks","group":"ShowcaseOrganizationsController"}}},"/api/showcase/organizations/{organizationId}/ranks/{key}":{"put":{"operationId":"saveOrganizationRank","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","maxLength":255},"name":{"type":"string","maxLength":255},"permissions":{"type":"array","items":{"type":"string","maxLength":255}},"builtin":{"type":"boolean"},"editable":{"type":"boolean"}},"required":["key","name","permissions","builtin","editable"],"additionalProperties":false}}}},"400":{"description":"Bad Request"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"permissions":{"type":"array","items":{"type":"string","maxLength":255}}},"required":["name","permissions"],"additionalProperties":false}}}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64}}],"x-alepha-action":{"name":"saveOrganizationRank","group":"ShowcaseOrganizationsController"}},"delete":{"operationId":"deleteOrganizationRank","tags":["ShowcaseOrganizationsController"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ok"}}}},"400":{"description":"Bad Request"}},"parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","maxLength":255}}],"x-alepha-action":{"name":"deleteOrganizationRank","group":"ShowcaseOrganizationsController"}}}},"components":{"schemas":{"JobExecutionResource":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"jobName":{"type":"string","maxLength":255},"key":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}]},"status":{"type":"string","enum":["pending","running","scheduled","ok","error","cancelled"]},"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxAttempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"redispatchCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payload":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"type":"string","maxLength":255},"logs":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string","enum":["SILENT","TRACE","DEBUG","INFO","WARN","ERROR"]},"message":{"type":"string","maxLength":65535},"service":{"type":"string","maxLength":255},"module":{"type":"string","maxLength":255},"context":{"type":"string","maxLength":255},"app":{"type":"string","maxLength":255},"data":{},"timestamp":{"type":"number"}},"required":["level","message","service","module","timestamp"],"additionalProperties":false}},"triggeredBy":{"type":"string","maxLength":255},"triggeredByName":{"type":"string","maxLength":255},"cancelledBy":{"type":"string","maxLength":255},"cancelledByName":{"type":"string","maxLength":255},"can":{"type":"object","properties":{"retry":{"type":"boolean"},"cancel":{"type":"boolean"},"delete":{"type":"boolean"}},"required":["retry","cancel","delete"],"additionalProperties":false}},"required":["id","createdAt","updatedAt","jobName","status","attempt","maxAttempts","redispatchCount","can"],"additionalProperties":false,"title":"JobExecutionResource","description":"A job execution row with derived actions."},"FileResource":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"blobId":{"type":"string","maxLength":255},"creator":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"creatorRealm":{"type":"string"},"creatorName":{"type":"string"},"bucket":{"type":"string","maxLength":255},"expirationDate":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"name":{"type":"string","maxLength":255},"originalName":{"type":"string"},"size":{"type":"number"},"mimeType":{"type":"string"},"tags":{"type":"array","items":{"type":"string","maxLength":255}},"checksum":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email"},"username":{"type":"string","minLength":3,"maxLength":30},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["id","version","createdAt","updatedAt","blobId","bucket","name","size","mimeType"],"additionalProperties":false,"title":"FileResource","description":"A file resource representing a file stored in the system."},"NotificationDetailResource":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"executionId":{"type":"string","maxLength":255},"status":{"type":"string","maxLength":255},"template":{"type":"string","maxLength":255},"type":{"type":"string","maxLength":255},"contact":{"type":"string","maxLength":255},"category":{"type":"string","maxLength":255},"critical":{"type":"boolean"},"skipReason":{"type":"string","maxLength":255},"subject":{"type":"string","maxLength":255},"provider":{"type":"string","maxLength":255},"messageId":{"type":"string","maxLength":255},"smtpStatusCode":{"type":"string","maxLength":255},"lastEventAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"type":"string","maxLength":255},"outboxAvailable":{"type":"boolean"},"variables":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}},"rendered":{"type":"object","propertyNames":{"type":"string","maxLength":255},"additionalProperties":{}},"logs":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string","enum":["SILENT","TRACE","DEBUG","INFO","WARN","ERROR"]},"message":{"type":"string","maxLength":65535},"service":{"type":"string","maxLength":255},"module":{"type":"string","maxLength":255},"context":{"type":"string","maxLength":255},"app":{"type":"string","maxLength":255},"data":{},"timestamp":{"type":"number"}},"required":["level","message","service","module","timestamp"],"additionalProperties":false}}},"required":["id","createdAt","executionId","status"],"additionalProperties":false,"title":"NotificationDetailResource","description":"A delivery receipt, joined to its outbox row while that row still exists."},"MyMfaStatus":{"type":"object","properties":{"totp":{"type":"object","properties":{"enabled":{"type":"boolean"},"pending":{"type":"boolean","description":"An enrollment was started but never confirmed with a code. It gates nothing."},"recoveryCodesLeft":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["enabled","pending","recoveryCodesLeft"],"additionalProperties":false}},"required":["totp"],"additionalProperties":false,"title":"MyMfaStatus"},"Ok":{"type":"object","properties":{"ok":{"type":"boolean","description":"True when operation succeed"},"id":{"anyOf":[{"type":"string","maxLength":255},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"count":{"type":"number","description":"Number of resources affected"}},"required":["ok"],"additionalProperties":false,"title":"Ok","description":"Generic response after a successful operation on a resource"}}}}