{"openapi":"3.1.1","info":{"title":"Better Auth","description":"API Reference for your Better Auth Instance","version":"1.1.0"},"components":{"schemas":{"User":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"email":{"type":"string"},"emailVerified":{"type":"boolean","default":false,"readOnly":true},"image":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","email","emailVerified","createdAt","updatedAt"]},"Session":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"expiresAt":{"type":"string","format":"date-time"},"token":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"userId":{"type":"string"},"activeOrganizationId":{"type":"string","readOnly":true}},"required":["id","expiresAt","token","createdAt","updatedAt","userId"]},"Account":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"accountId":{"type":"string"},"providerId":{"type":"string"},"userId":{"type":"string"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"idToken":{"type":"string"},"accessTokenExpiresAt":{"type":"string","format":"date-time"},"refreshTokenExpiresAt":{"type":"string","format":"date-time"},"scope":{"type":"string"},"password":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","accountId","providerId","userId","createdAt","updatedAt"]},"Verification":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"identifier":{"type":"string"},"value":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","identifier","value","expiresAt","createdAt","updatedAt"]},"SsoProvider":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"issuer":{"type":"string"},"oidcConfig":{"type":"string"},"samlConfig":{"type":"string"},"userId":{"type":"string"},"providerId":{"type":"string"},"organizationId":{"type":"string"},"domain":{"type":"string"},"domainVerified":{"type":"boolean"}},"required":["id","issuer","providerId","domain"]},"ScimConnectionBinding":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"connectionKey":{"type":"string"},"provisioningDomainId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"decommissionedAt":{"type":"string","format":"date-time"},"decommissionStatus":{"type":"string","default":"active"},"decommissionCursorUserId":{"type":"string"},"decommissionReconciledUserCount":{"type":"number","default":0},"decommissionBatchCount":{"type":"number","default":0},"decommissionRevision":{"type":"number","default":0},"decommissionCompletedAt":{"type":"string","format":"date-time"},"decommissionLeaseId":{"type":"string"},"decommissionLeaseExpiresAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","provisioningDomainId","createdAt","decommissionStatus","decommissionReconciledUserCount","decommissionBatchCount"]},"ScimIdentityTombstone":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"provisioningDomainId":{"type":"string"},"externalId":{"type":"string"},"externalIdKey":{"type":"string"},"userId":{"type":"string"},"profile":{"type":"string"},"deletedAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","provisioningDomainId","externalId","userId","profile","deletedAt"]},"ScimSubject":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"userId":{"type":"string"},"profileSourceId":{"type":"string"},"revision":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","userId","revision","createdAt","updatedAt"]},"ScimUser":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"provisioningDomainId":{"type":"string"},"userId":{"type":"string"},"connectionUserKey":{"type":"string"},"userName":{"type":"string"},"userNameKey":{"type":"string"},"primaryEmail":{"type":"string"},"workEmailValueIndex":{"type":"string"},"emailValueIndex":{"type":"string"},"displayName":{"type":"string"},"formattedName":{"type":"string"},"givenName":{"type":"string"},"familyName":{"type":"string"},"serializedEmails":{"type":"string"},"serializedAttributes":{"type":"string"},"externalId":{"type":"string"},"externalIdKey":{"type":"string"},"active":{"type":"boolean"},"orderKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","provisioningDomainId","userId","userName","primaryEmail","displayName","formattedName","active","createdAt","updatedAt"]},"ScimProjectionGrant":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"provisioningDomainId":{"type":"string"},"scimUserId":{"type":"string"},"userId":{"type":"string"},"sourceKind":{"type":"string"},"sourceId":{"type":"string"},"sourceValue":{"type":"string"},"role":{"type":"string"},"grantKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","provisioningDomainId","scimUserId","userId","sourceKind","sourceId","role","createdAt","updatedAt"]},"ScimGroup":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"provisioningDomainId":{"type":"string"},"revision":{"type":"number","default":0},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"externalId":{"type":"string"},"externalIdKey":{"type":"string"},"orderKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","provisioningDomainId","displayName","createdAt","updatedAt"]},"ScimGroupMember":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"connectionId":{"type":"string"},"groupId":{"type":"string"},"scimUserId":{"type":"string"},"membershipKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","connectionId","groupId","scimUserId","createdAt"]},"SsoDirectory":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"organizationId":{"type":"string"},"tokenHash":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","expiresAt","updatedAt"]},"DirectoryMembership":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"key":{"type":"string"},"organizationId":{"type":"string"},"userId":{"type":"string"},"active":{"type":"boolean"}},"required":["id","key","organizationId","userId","active"]},"Jwks":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"publicKey":{"type":"string"},"privateKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"alg":{"type":"string"},"crv":{"type":"string"}},"required":["id","publicKey","privateKey","createdAt"]},"OauthClient":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"clientDiscoveryId":{"type":"string"},"disabled":{"type":"boolean","default":false},"skipConsent":{"type":"boolean"},"enableEndSession":{"type":"boolean"},"subjectType":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"clientCredentialsScopes":{"type":"array","items":{"type":"string"},"default":[]},"userId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"name":{"type":"string"},"uri":{"type":"string"},"icon":{"type":"string"},"contacts":{"type":"array","items":{"type":"string"}},"tos":{"type":"string"},"policy":{"type":"string"},"softwareId":{"type":"string"},"softwareVersion":{"type":"string"},"softwareStatement":{"type":"string"},"redirectUris":{"type":"array","items":{"type":"string"}},"postLogoutRedirectUris":{"type":"array","items":{"type":"string"}},"backchannelLogoutUri":{"type":"string"},"backchannelLogoutSessionRequired":{"type":"boolean"},"tokenEndpointAuthMethod":{"type":"string"},"applicationType":{"type":"string"},"jwks":{"type":"string"},"jwksUri":{"type":"string"},"grantTypes":{"type":"array","items":{"type":"string"}},"responseTypes":{"type":"array","items":{"type":"string"}},"requirePKCE":{"type":"boolean"},"dpopBoundAccessTokens":{"type":"boolean","default":false},"referenceId":{"type":"string"},"metadata":{"type":"json"}},"required":["id","clientId","redirectUris"]},"OauthResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"identifier":{"type":"string"},"name":{"type":"string"},"accessTokenTtl":{"type":"number"},"refreshTokenTtl":{"type":"number"},"signingAlgorithm":{"type":"string"},"signingKeyId":{"type":"string"},"allowedScopes":{"type":"array","items":{"type":"string"}},"customClaims":{"type":"json"},"dpopBoundAccessTokensRequired":{"type":"boolean","default":false},"disabled":{"type":"boolean","default":false},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"policyVersion":{"type":"number","default":1},"metadata":{"type":"json"}},"required":["id","identifier","name"]},"OauthClientResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"clientId":{"type":"string"},"resourceId":{"type":"string"},"metadata":{"type":"json"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","clientId","resourceId"]},"OauthRefreshToken":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"token":{"type":"string"},"clientId":{"type":"string"},"sessionId":{"type":"string"},"userId":{"type":"string"},"referenceId":{"type":"string"},"authorizationCodeId":{"type":"string"},"resources":{"type":"array","items":{"type":"string"}},"requestedUserInfoClaims":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"revoked":{"type":"string","format":"date-time"},"rotatedAt":{"type":"string","format":"date-time"},"rotationReplayResponse":{"type":"string"},"rotationReplayExpiresAt":{"type":"string","format":"date-time"},"authTime":{"type":"string","format":"date-time"},"confirmation":{"type":"json"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","token","clientId","userId","scopes"]},"OauthAccessToken":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"token":{"type":"string"},"clientId":{"type":"string"},"sessionId":{"type":"string"},"userId":{"type":"string"},"referenceId":{"type":"string"},"authorizationCodeId":{"type":"string"},"resources":{"type":"array","items":{"type":"string"}},"requestedUserInfoClaims":{"type":"array","items":{"type":"string"}},"refreshId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"revoked":{"type":"string","format":"date-time"},"confirmation":{"type":"json"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","clientId","scopes"]},"OauthConsent":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"clientId":{"type":"string"},"userId":{"type":"string"},"referenceId":{"type":"string"},"resources":{"type":"array","items":{"type":"string"}},"requestedUserInfoClaims":{"type":"array","items":{"type":"string"}},"scopes":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","clientId","scopes"]},"OauthClientAssertion":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"expiresAt":{"type":"string","format":"date-time"}},"required":["id","expiresAt"]},"DeviceCode":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"deviceCode":{"type":"string"},"userCode":{"type":"string"},"userId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"status":{"type":"string"},"lastPolledAt":{"type":"string","format":"date-time"},"pollingInterval":{"type":"number"},"clientId":{"type":"string"},"scope":{"type":"string"}},"required":["id","deviceCode","userCode","expiresAt","status"]},"Organization":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"slug":{"type":"string"},"logo":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"string"}},"required":["id","name","slug","createdAt"]},"Member":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"organizationId":{"type":"string"},"userId":{"type":"string"},"role":{"type":"string","default":"member"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","userId","role","createdAt"]},"Invitation":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"organizationId":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"status":{"type":"string","default":"pending"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"inviterId":{"type":"string"}},"required":["id","organizationId","email","status","expiresAt","createdAt","inviterId"]},"Apikey":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"configId":{"type":"string","default":"default","readOnly":true},"name":{"type":"string","readOnly":true},"start":{"type":"string","readOnly":true},"referenceId":{"type":"string","readOnly":true},"prefix":{"type":"string","readOnly":true},"key":{"type":"string","readOnly":true},"refillInterval":{"type":"number","readOnly":true},"refillAmount":{"type":"number","readOnly":true},"lastRefillAt":{"type":"string","format":"date-time","readOnly":true},"enabled":{"type":"boolean","default":true,"readOnly":true},"rateLimitEnabled":{"type":"boolean","default":true,"readOnly":true},"rateLimitTimeWindow":{"type":"number","default":60000,"readOnly":true},"rateLimitMax":{"type":"number","default":600,"readOnly":true},"requestCount":{"type":"number","default":0,"readOnly":true},"remaining":{"type":"number","readOnly":true},"lastRequest":{"type":"string","format":"date-time","readOnly":true},"expiresAt":{"type":"string","format":"date-time","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"permissions":{"type":"string","readOnly":true},"metadata":{"type":"string"}},"required":["id","configId","referenceId","key","createdAt","updatedAt"]}},"securitySchemes":{"apiKeyCookie":{"type":"apiKey","in":"cookie","name":"apiKeyCookie","description":"API Key authentication via cookie"},"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication"}}},"security":[{"apiKeyCookie":[],"bearerAuth":[]}],"servers":[{"url":"https://platform.adapt.com/v1/auth"}],"tags":[{"name":"Default","description":"Default endpoints that are included with Better Auth by default. These endpoints are not part of any plugin."}],"paths":{"/sign-in/social":{"post":{"tags":["Default"],"description":"Sign in with a social provider","operationId":"socialSignIn","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"Callback URL to redirect to after the user has signed in"},"newUserCallbackURL":{"type":"string"},"errorCallbackURL":{"type":"string","description":"Callback URL to redirect to if an error happens"},"provider":{"anyOf":[{"type":"string","enum":["apple","atlassian","cloudflare","cognito","discord","facebook","figma","github","microsoft","google","huggingface","slack","spotify","twitch","twitter","dropbox","kick","linear","linkedin","gitlab","tiktok","reddit","roblox","salesforce","vk","zoom","notion","kakao","naver","line","paybin","paypal","polar","railway","vercel","wechat"]},{"type":"string"}]},"disableRedirect":{"type":"boolean","description":"Disable automatic redirection to the provider. Useful for handling the redirection yourself"},"idToken":{"type":"object","properties":{"token":{"type":"string","description":"ID token from the provider"},"nonce":{"type":"string","description":"Nonce used to generate the token"},"accessToken":{"type":"string","description":"Access token from the provider"},"refreshToken":{"type":"string","description":"Refresh token from the provider"},"expiresAt":{"type":"number","description":"Expiry date of the token"},"user":{"type":"object","properties":{"name":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"}}},"email":{"type":"string"}},"description":"The user object from the provider. Only available for some providers like Apple."}},"required":["token"]},"scopes":{"type":"array","items":{"type":"string"},"description":"Array of scopes to request from the provider. This will override the default scopes passed."},"requestSignUp":{"type":"boolean","description":"Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider"},"loginHint":{"type":"string","description":"The login hint to use for the authorization code request"},"additionalParams":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Extra query parameters to append to the provider authorization URL (e.g. Cognito identity_provider, Google hd)."},"additionalData":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["provider"]}}}},"responses":{"200":{"description":"Success - Returns session details (idToken branch) or an authorize URL (redirect branch)","content":{"application/json":{"schema":{"type":"object","description":"Returns session details when idToken is provided, or an authorize URL otherwise","properties":{"token":{"type":"string"},"user":{"type":"object","$ref":"#/components/schemas/User"},"url":{"type":"string"},"redirect":{"type":"boolean"}},"required":["redirect"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/callback/{id}":{"get":{"tags":["Default"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Default"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"error":{"type":"string"},"device_id":{"type":"string"},"error_description":{"type":"string"},"state":{"type":"string"},"user":{"type":"string"},"iss":{"type":"string"}}}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/get-session":{"get":{"tags":["Default"],"description":"Get the current session","operationId":"getSession","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":["object","null"],"properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}},"required":["session","user"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Default"],"description":"Get the current session","operationId":"getSessionPost","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":["object","null"],"properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}},"required":["session","user"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sign-out":{"post":{"tags":["Default"],"description":"Sign out the current user","operationId":"signOut","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"The URL to redirect to after provider logout"},"disableRedirect":{"type":"boolean","description":"Return the provider logout URL without redirecting"},"state":{"type":"string","description":"State to pass to the provider logout endpoint"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"url":{"type":"string","description":"Provider logout URL when RP-initiated logout is available"},"redirect":{"type":"boolean","description":"Whether the client should redirect to the provider logout URL"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sign-up/email":{"post":{"tags":["Default"],"description":"Sign up a user using email and password","operationId":"signUpWithEmailAndPassword","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the user"},"email":{"type":"string","description":"The email of the user"},"password":{"type":"string","description":"The password of the user"},"image":{"type":"string","description":"The profile image URL of the user"},"callbackURL":{"type":"string","description":"The URL to use for email verification callback"},"rememberMe":{"type":"boolean","description":"If this is false, the session will not be remembered. Default is `true`."}},"required":["name","email","password"]}}}},"responses":{"200":{"description":"Successfully created user","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true,"description":"Authentication token for the session"},"user":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the user"},"email":{"type":"string","format":"email","description":"The email address of the user"},"name":{"type":"string","description":"The name of the user"},"image":{"type":"string","format":"uri","nullable":true,"description":"The profile image URL of the user"},"emailVerified":{"type":"boolean","description":"Whether the email has been verified"},"createdAt":{"type":"string","format":"date-time","description":"When the user was created"},"updatedAt":{"type":"string","format":"date-time","description":"When the user was last updated"}},"required":["id","email","name","emailVerified","createdAt","updatedAt"]}},"required":["user"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"422":{"description":"Unprocessable Entity. User already exists or failed to create user.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sign-in/email":{"post":{"tags":["Default"],"description":"Sign in with email and password","operationId":"signInEmail","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email of the user"},"password":{"type":"string","description":"Password of the user"},"callbackURL":{"type":"string","description":"Callback URL to use as a redirect for email verification"},"rememberMe":{"type":"boolean","description":"If this is false, the session will not be remembered. Default is `true`."}},"required":["email","password"]}}}},"responses":{"200":{"description":"Success - Returns either session details or redirect URL","content":{"application/json":{"schema":{"type":"object","description":"Session response when idToken is provided","properties":{"redirect":{"type":"boolean","enum":[false]},"token":{"type":"string","description":"Session token"},"url":{"type":"string","nullable":true},"user":{"type":"object","$ref":"#/components/schemas/User"}},"required":["redirect","token","user"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/reset-password":{"post":{"tags":["Default"],"description":"Reset the password for a user","operationId":"resetPassword","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newPassword":{"type":"string","description":"The new password to set"},"token":{"type":"string","description":"The token to reset the password"}},"required":["newPassword"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/verify-password":{"post":{"tags":["Default"],"description":"Verify the current user's password","operationId":"verifyPassword","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","description":"The password to verify"}},"required":["password"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/verify-email":{"get":{"tags":["Default"],"description":"Verify the email of the user","security":[{"bearerAuth":[]}],"parameters":[{"name":"token","in":"query","description":"The token to verify the email","required":true,"schema":{"type":"string"}},{"name":"callbackURL","in":"query","description":"The URL to redirect to after email verification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","$ref":"#/components/schemas/User"},"status":{"type":"boolean","description":"Indicates if the email was verified successfully"}},"required":["user","status"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/send-verification-email":{"post":{"tags":["Default"],"description":"Send a verification email to the user","operationId":"sendVerificationEmail","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"The email to send the verification email to","example":"user@example.com"},"callbackURL":{"type":"string","description":"The URL to use for email verification callback","example":"https://example.com/callback","nullable":true}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if the email was sent successfully","example":true}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message","example":"Verification email isn't enabled"}}}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/change-email":{"post":{"tags":["Default"],"operationId":"changeEmail","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newEmail":{"type":"string","description":"The new email address to set must be a valid email address"},"callbackURL":{"type":"string","description":"The URL to redirect to after email verification"}},"required":["newEmail"]}}}},"responses":{"200":{"description":"Email change request processed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","$ref":"#/components/schemas/User"},"status":{"type":"boolean","description":"Indicates if the request was successful"},"message":{"type":"string","enum":["Email updated","Verification email sent"],"description":"Status message of the email change process","nullable":true}},"required":["status"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/change-password":{"post":{"tags":["Default"],"description":"Change the password of the user","operationId":"changePassword","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newPassword":{"type":"string","description":"The new password to set"},"currentPassword":{"type":"string","description":"The current password is required"},"revokeOtherSessions":{"type":"boolean","description":"Must be a boolean value"}},"required":["newPassword","currentPassword"]}}}},"responses":{"200":{"description":"Password successfully changed","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true,"description":"New session token if other sessions were revoked"},"user":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the user"},"email":{"type":"string","format":"email","description":"The email address of the user"},"name":{"type":"string","description":"The name of the user"},"image":{"type":"string","format":"uri","nullable":true,"description":"The profile image URL of the user"},"emailVerified":{"type":"boolean","description":"Whether the email has been verified"},"createdAt":{"type":"string","format":"date-time","description":"When the user was created"},"updatedAt":{"type":"string","format":"date-time","description":"When the user was last updated"}},"required":["id","email","name","emailVerified","createdAt","updatedAt"]}},"required":["user"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/update-session":{"post":{"tags":["Default"],"description":"Update the current session","operationId":"updateSession","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string","description":"Field name must be a string"},"additionalProperties":{}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"session":{"type":"object","$ref":"#/components/schemas/Session"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/update-user":{"post":{"tags":["Default"],"description":"Update the current user","operationId":"updateUser","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the user"},"image":{"type":"string","description":"The image of the user","nullable":true}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","$ref":"#/components/schemas/User"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/delete-user":{"post":{"tags":["Default"],"description":"Delete the user","operationId":"deleteUser","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"The callback URL to redirect to after the user is deleted"},"password":{"type":"string","description":"The user's password. Required if session is not fresh"},"token":{"type":"string","description":"The deletion verification token"}}}}}},"responses":{"200":{"description":"User deletion processed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the operation was successful"},"message":{"type":"string","enum":["User deleted","Verification email sent"],"description":"Status message of the deletion process"}},"required":["success","message"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/request-password-reset":{"post":{"tags":["Default"],"description":"Send a password reset email to the user","operationId":"requestPasswordReset","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"The email address of the user to send a password reset email to"},"redirectTo":{"type":"string","description":"The URL to redirect the user to reset their password. If the token isn't valid or expired, it'll be redirected with a query parameter `?error=INVALID_TOKEN`. If the token is valid, it'll be redirected with a query parameter `?token=VALID_TOKEN"}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"},"message":{"type":"string"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/reset-password/{token}":{"get":{"tags":["Default"],"description":"Redirects the user to the callback URL with the token","operationId":"resetPasswordCallback","security":[{"bearerAuth":[]}],"parameters":[{"name":"token","in":"path","required":true,"description":"The token to reset the password","schema":{"type":"string"}},{"name":"callbackURL","in":"query","required":true,"description":"The URL to redirect the user to reset their password","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/revoke-session":{"post":{"tags":["Default"],"description":"Revoke a single session","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The token to revoke"}},"required":["token"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if the session was revoked successfully"}},"required":["status"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/revoke-sessions":{"post":{"tags":["Default"],"description":"Revoke all sessions for the user","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if all sessions were revoked successfully"}},"required":["status"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/revoke-other-sessions":{"post":{"tags":["Default"],"description":"Revoke all other sessions for the user except the current one","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if all other sessions were revoked successfully"}},"required":["status"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/link-social":{"post":{"tags":["Default"],"description":"Link a social account to the user","operationId":"linkSocialAccount","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"The URL to redirect to after the user has signed in"},"provider":{"anyOf":[{"type":"string","enum":["apple","atlassian","cloudflare","cognito","discord","facebook","figma","github","microsoft","google","huggingface","slack","spotify","twitch","twitter","dropbox","kick","linear","linkedin","gitlab","tiktok","reddit","roblox","salesforce","vk","zoom","notion","kakao","naver","line","paybin","paypal","polar","railway","vercel","wechat"]},{"type":"string"}]},"idToken":{"type":"object","properties":{"token":{"type":"string"},"nonce":{"type":"string"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"}},"required":["token"]},"requestSignUp":{"type":"boolean"},"scopes":{"type":"array","items":{"type":"string"},"description":"Additional scopes to request from the provider"},"errorCallbackURL":{"type":"string","description":"The URL to redirect to if there is an error during the link process"},"disableRedirect":{"type":"boolean","description":"Disable automatic redirection to the provider. Useful for handling the redirection yourself"},"loginHint":{"type":"string","description":"The login hint to use for the authorization code request"},"additionalParams":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Extra query parameters to append to the provider authorization URL (e.g. Cognito identity_provider, Google hd)."},"additionalData":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["provider"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The authorization URL to redirect the user to"},"redirect":{"type":"boolean","description":"Indicates if the user should be redirected to the authorization URL"},"status":{"type":"boolean"}},"required":["redirect"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/list-accounts":{"get":{"tags":["Default"],"description":"List all accounts linked to the user","operationId":"listUserAccounts","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"providerId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"accountId":{"type":"string"},"userId":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","providerId","createdAt","updatedAt","accountId","userId","scopes"]}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/delete-user/callback":{"get":{"tags":["Default"],"description":"Callback to complete user deletion with verification token","security":[{"bearerAuth":[]}],"parameters":[{"name":"token","in":"query","schema":{"type":"string","description":"The token to verify the deletion request"}},{"name":"callbackURL","in":"query","schema":{"type":"string","description":"The URL to redirect to after deletion"}}],"responses":{"200":{"description":"User successfully deleted","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the deletion was successful"},"message":{"type":"string","enum":["User deleted"],"description":"Confirmation message"}},"required":["success","message"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/unlink-account":{"post":{"tags":["Default"],"description":"Unlink an account","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accountId":{"type":"string","description":"The Better Auth account ID to unlink"}},"required":["accountId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/refresh-token":{"post":{"tags":["Default"],"description":"Refresh the access token using a refresh token","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"accountId":{"type":"string","description":"The Better Auth account ID"},"userId":{"type":"string","description":"The user ID associated with the account"}},"required":["accountId"]},{"type":"object","properties":{"useAccountCookie":{"enum":[true],"description":"Select the current OAuth account from its signed cookie"},"userId":{"type":"string","description":"The user ID associated with the account"}},"required":["useAccountCookie"]}]}}}},"responses":{"200":{"description":"Access token refreshed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"tokenType":{"type":"string"},"idToken":{"type":"string"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"accessTokenExpiresAt":{"type":"string","format":"date-time"},"refreshTokenExpiresAt":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid refresh token or provider configuration"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/get-access-token":{"post":{"tags":["Default"],"description":"Get a valid access token, doing a refresh if needed","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"accountId":{"type":"string","description":"The Better Auth account ID"},"userId":{"type":"string","description":"The user ID associated with the account"}},"required":["accountId"]},{"type":"object","properties":{"useAccountCookie":{"enum":[true],"description":"Select the current OAuth account from its signed cookie"},"userId":{"type":"string","description":"The user ID associated with the account"}},"required":["useAccountCookie"]}]}}}},"responses":{"200":{"description":"A Valid access token","content":{"application/json":{"schema":{"type":"object","properties":{"tokenType":{"type":"string"},"idToken":{"type":"string"},"accessToken":{"type":"string"},"accessTokenExpiresAt":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid refresh token or provider configuration"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/account-info":{"get":{"tags":["Default"],"description":"Get the account info provided by the provider","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","nullable":true},"image":{"type":"string"},"emailVerified":{"type":"boolean"}},"required":["emailVerified"]},"account":{"type":"object","properties":{"id":{"type":"string"},"providerId":{"type":"string"},"accountId":{"type":"string"}},"required":["id","providerId","accountId"],"additionalProperties":false},"data":{"type":"object","properties":{},"additionalProperties":true}},"required":["user","data","account"],"additionalProperties":false}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/ok":{"get":{"tags":["Default"],"description":"Check if the API is working","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"API is working","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","description":"Indicates if the API is working"}},"required":["ok"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/error":{"get":{"tags":["Default"],"description":"Displays an error page","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"text/html":{"schema":{"type":"string","description":"The HTML content of the error page"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/saml2/sp/metadata":{"get":{"tags":["Sso"],"description":"Returns the SAML metadata for the Service Provider","operationId":"getSSOServiceProviderMetadata","security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"SAML metadata in XML format"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/register":{"post":{"tags":["Sso"],"description":"This endpoint is used to register an OIDC provider. This is used to configure the provider and link it to an organization","operationId":"registerSSOProvider","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string","description":"The ID of the provider. This is used to identify the provider during login and callback"},"issuer":{"type":"string","description":"The issuer URL of the provider"},"domain":{"type":"string","description":"The domain(s) of the provider. For enterprise multi-domain SSO where a single IdP serves multiple email domains, use comma-separated values (e.g., 'company.com,subsidiary.com,acquired-company.com')"},"oidcConfig":{"type":"object","properties":{"clientId":{"type":"string","description":"The client ID"},"clientSecret":{"type":"string","description":"The client secret. Required for client_secret_basic/client_secret_post. Optional for private_key_jwt."},"authorizationEndpoint":{"type":"string","description":"The authorization endpoint"},"tokenEndpoint":{"type":"string","description":"The token endpoint"},"userInfoEndpoint":{"type":"string","description":"The user info endpoint"},"tokenEndpointAuthentication":{"type":"string","enum":["client_secret_post","client_secret_basic","private_key_jwt"]},"privateKeyId":{"type":"string"},"privateKeyAlgorithm":{"type":"string"},"jwksEndpoint":{"type":"string","description":"The JWKS endpoint"},"discoveryEndpoint":{"type":"string"},"skipDiscovery":{"type":"boolean","description":"Skip OIDC discovery during registration. When true, you must provide authorizationEndpoint, tokenEndpoint, and jwksEndpoint manually."},"scopes":{"type":"array","items":{"type":"string"},"description":"The scopes to request. Defaults to ['openid', 'email', 'profile', 'offline_access']"},"pkce":{"type":"boolean","description":"Whether to use PKCE for the authorization flow"},"overrideUserInfo":{"type":"boolean"},"mapping":{"type":"object","properties":{"email":{"type":"string","description":"Field mapping for email (defaults to 'email')"},"emailVerified":{"type":"string","description":"Field mapping for email verification (defaults to 'email_verified')"},"name":{"type":"string","description":"Field mapping for name (defaults to 'name')"},"image":{"type":"string","description":"Field mapping for image (defaults to 'picture')"},"extraFields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["email","name"]}},"required":["clientId"]},"samlConfig":{"type":"object","properties":{"entryPoint":{"type":"string","description":"The IdP SSO URL (entry point)"},"cert":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"IdP signing certificate(s). Pass a single PEM string or an array for rolling rotation. Omit when `idpMetadata.metadata` XML carries the certs. When both this and `idpMetadata.cert` are set, `idpMetadata.cert` wins."},"audience":{"type":"string"},"callbackUrl":{"type":"string"},"idpInitiatedCallbackUrl":{"type":"string"},"idpMetadata":{"anyOf":[{"type":"object","properties":{"cert":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"IdP signing certificate(s). Pass a single PEM string or an array for rolling rotation. Takes precedence over the top-level `cert`."},"privateKey":{"type":"string"},"privateKeyPass":{"type":"string"},"isAssertionEncrypted":{"type":"boolean"},"encPrivateKey":{"type":"string"},"encPrivateKeyPass":{"type":"string"},"singleSignOnService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string","description":"The binding type for the SSO service"},"Location":{"type":"string","description":"The URL for the SSO service"}},"required":["Binding","Location"]},"description":"Single Sign-On service configuration"},"singleLogoutService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string"},"Location":{"type":"string"}},"required":["Binding","Location"]}},"metadata":{"type":"string","minLength":1},"entityID":{"type":"string"}},"required":["metadata"]},{"type":"object","properties":{"cert":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"IdP signing certificate(s). Pass a single PEM string or an array for rolling rotation. Takes precedence over the top-level `cert`."},"privateKey":{"type":"string"},"privateKeyPass":{"type":"string"},"isAssertionEncrypted":{"type":"boolean"},"encPrivateKey":{"type":"string"},"encPrivateKeyPass":{"type":"string"},"singleSignOnService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string","description":"The binding type for the SSO service"},"Location":{"type":"string","description":"The URL for the SSO service"}},"required":["Binding","Location"]},"description":"Single Sign-On service configuration"},"singleLogoutService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string"},"Location":{"type":"string"}},"required":["Binding","Location"]}},"metadata":{},"entityID":{"type":"string","minLength":1}},"required":["entityID"]}]},"spMetadata":{"type":"object","properties":{"metadata":{"type":"string"},"entityID":{"type":"string"},"binding":{"type":"string"},"privateKey":{"type":"string"},"privateKeyPass":{"type":"string"},"isAssertionEncrypted":{"type":"boolean"},"encPrivateKey":{"type":"string"},"encPrivateKeyPass":{"type":"string"}}},"wantAssertionsSigned":{"type":"boolean"},"authnRequestsSigned":{"type":"boolean"},"signatureAlgorithm":{"type":"string"},"digestAlgorithm":{"type":"string"},"identifierFormat":{"type":"string"},"privateKey":{"type":"string"},"mapping":{"type":"object","properties":{"email":{"type":"string","description":"Field mapping for email (defaults to 'email')"},"emailVerified":{"type":"string","description":"Field mapping for email verification"},"name":{"type":"string","description":"Field mapping for name (defaults to 'displayName')"},"firstName":{"type":"string","description":"Field mapping for first name (defaults to 'givenName')"},"lastName":{"type":"string","description":"Field mapping for last name (defaults to 'surname')"},"extraFields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["email","name"]}},"required":["entryPoint","idpMetadata"]},"organizationId":{"type":"string","description":"If organization plugin is enabled, the organization id to link the provider to"},"overrideUserInfo":{"type":"boolean","description":"Override user info with the provider info. Defaults to false"}},"required":["providerId","issuer","domain"]}}}},"responses":{"200":{"description":"OIDC provider created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string","format":"uri","description":"The issuer URL of the provider"},"domain":{"type":"string","description":"The domain of the provider, used for email matching"},"domainVerified":{"type":"boolean","description":"A boolean indicating whether the domain has been verified or not"},"domainVerificationToken":{"type":"string","description":"Domain verification token. It can be used to prove ownership over the SSO domain"},"oidcConfig":{"type":"object","properties":{"issuer":{"type":"string","format":"uri","description":"The issuer URL of the provider"},"pkce":{"type":"boolean","description":"Whether PKCE is enabled for the authorization flow"},"clientId":{"type":"string","description":"The client ID for the provider"},"clientSecret":{"type":"string","description":"The client secret for the provider"},"authorizationEndpoint":{"type":"string","format":"uri","nullable":true,"description":"The authorization endpoint URL"},"discoveryEndpoint":{"type":"string","format":"uri","description":"The discovery endpoint URL"},"userInfoEndpoint":{"type":"string","format":"uri","nullable":true,"description":"The user info endpoint URL"},"scopes":{"type":"array","items":{"type":"string"},"nullable":true,"description":"The scopes requested from the provider"},"tokenEndpoint":{"type":"string","format":"uri","nullable":true,"description":"The token endpoint URL"},"tokenEndpointAuthentication":{"type":"string","enum":["client_secret_post","client_secret_basic"],"nullable":true,"description":"Authentication method for the token endpoint"},"jwksEndpoint":{"type":"string","format":"uri","nullable":true,"description":"The JWKS endpoint URL"},"mapping":{"type":"object","nullable":true,"properties":{"email":{"type":"string","description":"Field mapping for email (defaults to 'email')"},"emailVerified":{"type":"string","nullable":true,"description":"Field mapping for email verification (defaults to 'email_verified')"},"name":{"type":"string","description":"Field mapping for name (defaults to 'name')"},"image":{"type":"string","nullable":true,"description":"Field mapping for image (defaults to 'picture')"},"extraFields":{"type":"object","additionalProperties":{"type":"string"},"nullable":true,"description":"Additional field mappings"}},"required":["email","name"]}},"required":["issuer","pkce","clientId","clientSecret","discoveryEndpoint"],"description":"OIDC configuration for the provider"},"organizationId":{"type":"string","nullable":true,"description":"ID of the linked organization, if any"},"userId":{"type":"string","description":"ID of the user who registered the provider"},"providerId":{"type":"string","description":"Unique identifier for the provider"},"redirectURI":{"type":"string","format":"uri","description":"The redirect URI for the provider callback"}},"required":["issuer","domain","oidcConfig","userId","providerId","redirectURI"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sign-in/sso":{"post":{"tags":["Sso"],"description":"This endpoint is used to sign in with an SSO provider. It redirects to the provider's authorization URL","operationId":"signInWithSSO","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"The email address to sign in with. Used to resolve the provider via the email domain; optional if providerId, domain, or organizationSlug is provided."},"organizationSlug":{"type":"string","description":"The slug of the organization to sign in with."},"providerId":{"type":"string","description":"The ID of the provider to sign in with. Can be provided instead of email."},"domain":{"type":"string","description":"The email domain of the provider. Can be provided instead of email."},"callbackURL":{"type":"string","description":"The URL to redirect to after successful sign-in."},"errorCallbackURL":{"type":"string","description":"The URL to redirect to if the sign-in flow fails."},"newUserCallbackURL":{"type":"string","description":"The URL to redirect to after sign-in if the user is newly registered."},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes to request from the provider."},"loginHint":{"type":"string","description":"Login hint to send to the identity provider (e.g., email or identifier). If supported, sent as 'login_hint'."},"additionalParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Extra query parameters to append to the OIDC provider authorization URL. RFC 6749 reserved keys (state, client_id, redirect_uri, response_type, code_challenge, code_challenge_method, scope) are rejected. Not supported for SAML providers."},"requestSignUp":{"type":"boolean","description":"Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider."},"providerType":{"type":"string","enum":["oidc","saml"],"description":"The provider protocol to sign in with."}},"required":["callbackURL"]}}}},"responses":{"200":{"description":"Authorization URL generated successfully for SSO sign-in","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The authorization URL to redirect the user to for SSO sign-in"},"redirect":{"type":"boolean","description":"Indicates that the client should redirect to the provided URL","enum":[true]}},"required":["url","redirect"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/callback/{providerId}":{"get":{"tags":["Sso"],"description":"This endpoint is used as the callback URL for SSO providers. It handles the authorization code and exchanges it for an access token","operationId":"handleSSOCallback","security":[{"bearerAuth":[]}],"parameters":[{"name":"code","in":"query","schema":{"type":"string"}},{"name":"state","in":"query","schema":{"type":"string"}},{"name":"error","in":"query","schema":{"type":"string"}},{"name":"error_description","in":"query","schema":{"type":"string"}},{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirects to the callback URL"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/callback":{"get":{"tags":["Sso"],"description":"This endpoint is used as a shared callback URL for all SSO providers when `redirectURI` is configured. The provider is identified via the OAuth state parameter.","operationId":"handleSSOCallbackShared","security":[{"bearerAuth":[]}],"parameters":[{"name":"code","in":"query","schema":{"type":"string"}},{"name":"state","in":"query","schema":{"type":"string"}},{"name":"error","in":"query","schema":{"type":"string"}},{"name":"error_description","in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirects to the callback URL"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/saml2/sp/acs/{providerId}":{"get":{"tags":["Sso"],"description":"Handles SAML responses from IdP after successful authentication. Supports GET for post-auth redirects and POST for SAML response processing.","operationId":"handleSAMLAssertionConsumerService","security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirects after authentication (success or error with query params)"},"400":{"description":"Missing SAMLResponse in POST body"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"description":"SAML provider not found"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Sso"],"description":"Handles SAML responses from IdP after successful authentication. Supports GET for post-auth redirects and POST for SAML response processing.","operationId":"handleSAMLAssertionConsumerServicePost","security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"SAMLResponse":{"type":"string"},"RelayState":{"type":"string"}},"required":["SAMLResponse"]}}}},"responses":{"302":{"description":"Redirects after authentication (success or error with query params)"},"400":{"description":"Missing SAMLResponse in POST body"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"description":"SAML provider not found"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/saml2/sp/slo/{providerId}":{"get":{"tags":["Sso"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Sso"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"SAMLRequest":{"type":"string"},"SAMLResponse":{"type":"string"},"RelayState":{"type":"string"},"SigAlg":{"type":"string"},"Signature":{"type":"string"}}}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/saml2/logout/{providerId}":{"post":{"tags":["Sso"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string"}}}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/providers":{"get":{"tags":["Sso"],"description":"Returns a list of SSO providers the user has access to","operationId":"listSSOProviders","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"List of SSO providers. The `certificate` field is an array of parsed certificates for SAML providers, or absent when certs live inside `idpMetadata.metadata`."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/get-provider":{"get":{"tags":["Sso"],"description":"Returns sanitized details for a specific SSO provider","operationId":"getSSOProvider","security":[{"bearerAuth":[]}],"parameters":[{"name":"providerId","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"SSO provider details. The `certificate` field is an array of parsed certificates for SAML providers, or absent when certs live inside `idpMetadata.metadata`."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"description":"Access denied"},"404":{"description":"Provider not found"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/update-provider":{"post":{"tags":["Sso"],"description":"Partially update an SSO provider. Only provided fields are updated. If domain changes, domainVerified is reset to false.","operationId":"updateSSOProvider","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string"},"domain":{"type":"string"},"oidcConfig":{"type":"object","properties":{"clientId":{"type":"string","description":"The client ID"},"clientSecret":{"type":"string","description":"The client secret. Required for client_secret_basic/client_secret_post. Optional for private_key_jwt."},"authorizationEndpoint":{"type":"string","description":"The authorization endpoint"},"tokenEndpoint":{"type":"string","description":"The token endpoint"},"userInfoEndpoint":{"type":"string","description":"The user info endpoint"},"tokenEndpointAuthentication":{"type":"string","enum":["client_secret_post","client_secret_basic","private_key_jwt"]},"privateKeyId":{"type":"string"},"privateKeyAlgorithm":{"type":"string"},"jwksEndpoint":{"type":"string","description":"The JWKS endpoint"},"discoveryEndpoint":{"type":"string"},"skipDiscovery":{"type":"boolean","description":"Skip OIDC discovery during registration. When true, you must provide authorizationEndpoint, tokenEndpoint, and jwksEndpoint manually."},"scopes":{"type":"array","items":{"type":"string"},"description":"The scopes to request. Defaults to ['openid', 'email', 'profile', 'offline_access']"},"pkce":{"type":"boolean","description":"Whether to use PKCE for the authorization flow"},"overrideUserInfo":{"type":"boolean"},"mapping":{"type":"object","properties":{"email":{"type":"string","description":"Field mapping for email (defaults to 'email')"},"emailVerified":{"type":"string","description":"Field mapping for email verification (defaults to 'email_verified')"},"name":{"type":"string","description":"Field mapping for name (defaults to 'name')"},"image":{"type":"string","description":"Field mapping for image (defaults to 'picture')"},"extraFields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["email","name"]}}},"samlConfig":{"type":"object","properties":{"entryPoint":{"type":"string","description":"The IdP SSO URL (entry point)"},"cert":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"IdP signing certificate(s). Pass a single PEM string or an array for rolling rotation. Omit when `idpMetadata.metadata` XML carries the certs. When both this and `idpMetadata.cert` are set, `idpMetadata.cert` wins."},"audience":{"type":"string"},"callbackUrl":{"type":"string"},"idpInitiatedCallbackUrl":{"type":["string","null"]},"spMetadata":{"type":"object","properties":{"metadata":{"type":"string"},"entityID":{"type":"string"},"binding":{"type":"string"},"privateKey":{"type":"string"},"privateKeyPass":{"type":"string"},"isAssertionEncrypted":{"type":"boolean"},"encPrivateKey":{"type":"string"},"encPrivateKeyPass":{"type":"string"}}},"wantAssertionsSigned":{"type":"boolean"},"authnRequestsSigned":{"type":"boolean"},"signatureAlgorithm":{"type":"string"},"digestAlgorithm":{"type":"string"},"identifierFormat":{"type":"string"},"privateKey":{"type":"string"},"mapping":{"type":"object","properties":{"email":{"type":"string","description":"Field mapping for email (defaults to 'email')"},"emailVerified":{"type":"string","description":"Field mapping for email verification"},"name":{"type":"string","description":"Field mapping for name (defaults to 'displayName')"},"firstName":{"type":"string","description":"Field mapping for first name (defaults to 'givenName')"},"lastName":{"type":"string","description":"Field mapping for last name (defaults to 'surname')"},"extraFields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["email","name"]},"idpMetadata":{"type":"object","properties":{"cert":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"IdP signing certificate(s). Pass a single PEM string or an array for rolling rotation. Takes precedence over the top-level `cert`."},"privateKey":{"type":"string"},"privateKeyPass":{"type":"string"},"isAssertionEncrypted":{"type":"boolean"},"encPrivateKey":{"type":"string"},"encPrivateKeyPass":{"type":"string"},"singleSignOnService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string","description":"The binding type for the SSO service"},"Location":{"type":"string","description":"The URL for the SSO service"}},"required":["Binding","Location"]},"description":"Single Sign-On service configuration"},"singleLogoutService":{"type":"array","items":{"type":"object","properties":{"Binding":{"type":"string"},"Location":{"type":"string"}},"required":["Binding","Location"]}},"metadata":{"type":"string","minLength":1},"entityID":{"type":"string","minLength":1}}}}},"providerId":{"type":"string"}},"required":["providerId"]}}}},"responses":{"200":{"description":"SSO provider updated successfully. The `certificate` field is an array of parsed certificates for SAML providers, or absent when certs live inside `idpMetadata.metadata`."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"description":"Access denied"},"404":{"description":"Provider not found"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/delete-provider":{"post":{"tags":["Sso"],"description":"Deletes an SSO provider","operationId":"deleteSSOProvider","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string"}},"required":["providerId"]}}}},"responses":{"200":{"description":"SSO provider deleted successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"description":"Access denied"},"404":{"description":"Provider not found"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/request-domain-verification":{"post":{"tags":["Sso"],"description":"Request a domain verification for the given SSO provider","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string"}},"required":["providerId"]}}}},"responses":{"201":{"description":"Domain submitted for verification"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"description":"Provider not found"},"409":{"description":"Domain has already been verified"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sso/verify-domain":{"post":{"tags":["Sso"],"description":"Verify the provider domain ownership via DNS records","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string"}},"required":["providerId"]}}}},"responses":{"204":{"description":"Domain ownership was verified"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"description":"Provider not found"},"409":{"description":"Domain has already been verified, or the provider changed while verification was in progress"},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."},"502":{"description":"Unable to verify domain ownership due to upstream validator error"}}}},"/scim/v2/Groups":{"post":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"enum":["urn:ietf:params:scim:schemas:core:2.0:Group"]}},"externalId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1},"members":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1},"type":{"type":"string"}},"required":["value"]}}},"required":["schemas","displayName"]}}}},"responses":{"201":{"description":"SCIM Group resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"},"displayName":{"type":"string"},"members":{"type":"array","maxItems":1000,"items":{"type":"object","properties":{"value":{"type":"string"},"$ref":{"type":"string"},"display":{"type":"string"},"type":{"type":"string","enum":["User"]}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"schemas":{"type":"array","items":{"type":"string"}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"get":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"SCIM Group list","content":{"application/scim+json":{"schema":{"type":"object","properties":{"totalResults":{"type":"number"},"itemsPerPage":{"type":"number"},"startIndex":{"type":"number"},"Resources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"},"displayName":{"type":"string"},"members":{"type":"array","maxItems":1000,"items":{"type":"object","properties":{"value":{"type":"string"},"$ref":{"type":"string"},"display":{"type":"string"},"type":{"type":"string","enum":["User"]}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"schemas":{"type":"array","items":{"type":"string"}}},"required":["schemas","id"]}}}}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/Groups/{groupId}":{"delete":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"SCIM Group deleted"},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"get":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SCIM Group resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"},"displayName":{"type":"string"},"members":{"type":"array","maxItems":1000,"items":{"type":"object","properties":{"value":{"type":"string"},"$ref":{"type":"string"},"display":{"type":"string"},"type":{"type":"string","enum":["User"]}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"schemas":{"type":"array","items":{"type":"string"}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"patch":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"enum":["urn:ietf:params:scim:api:messages:2.0:PatchOp"]}},"Operations":{"type":"array","items":{"type":"object","properties":{"op":{"type":"string"},"path":{"type":"string"},"value":{}}}}},"required":["schemas","Operations"]}}}},"responses":{"200":{"description":"Updated SCIM Group resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"},"displayName":{"type":"string"},"members":{"type":"array","maxItems":1000,"items":{"type":"object","properties":{"value":{"type":"string"},"$ref":{"type":"string"},"display":{"type":"string"},"type":{"type":"string","enum":["User"]}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"schemas":{"type":"array","items":{"type":"string"}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"put":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"enum":["urn:ietf:params:scim:schemas:core:2.0:Group"]}},"externalId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1},"members":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1},"type":{"type":"string"}},"required":["value"]}}},"required":["schemas","displayName"]}}}},"responses":{"200":{"description":"SCIM Group resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"},"displayName":{"type":"string"},"members":{"type":"array","maxItems":1000,"items":{"type":"object","properties":{"value":{"type":"string"},"$ref":{"type":"string"},"display":{"type":"string"},"type":{"type":"string","enum":["User"]}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"schemas":{"type":"array","items":{"type":"string"}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/Users":{"post":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"userName":{"type":"string","minLength":1,"maxLength":512},"externalId":{"type":"string","minLength":1,"maxLength":1024},"displayName":{"type":"string","minLength":1,"maxLength":1024},"name":{"type":"object","properties":{"formatted":{"type":"string","minLength":1,"maxLength":1024},"givenName":{"type":"string","minLength":1,"maxLength":256},"familyName":{"type":"string","minLength":1,"maxLength":256},"middleName":{"type":"string","minLength":1,"maxLength":256},"honorificPrefix":{"type":"string","minLength":1,"maxLength":256},"honorificSuffix":{"type":"string","minLength":1,"maxLength":256}}},"emails":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string","minLength":1,"maxLength":256}},"required":["value"]}},"title":{"type":"string","minLength":1,"maxLength":1024},"userType":{"type":"string","minLength":1,"maxLength":256},"preferredLanguage":{"type":"string","minLength":1,"maxLength":256},"locale":{"type":"string","minLength":1,"maxLength":256},"timezone":{"type":"string","minLength":1,"maxLength":256},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"addresses":{"type":"array","items":{"type":"object","properties":{"formatted":{"type":"string","minLength":1,"maxLength":1024},"streetAddress":{"type":"string","minLength":1,"maxLength":1024},"locality":{"type":"string","minLength":1,"maxLength":256},"region":{"type":"string","minLength":1,"maxLength":256},"postalCode":{"type":"string","minLength":1,"maxLength":256},"country":{"type":"string","minLength":1,"maxLength":256},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"display":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"entitlements":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"display":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"active":{"type":"boolean"},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","minLength":1,"maxLength":256},"costCenter":{"type":"string","minLength":1,"maxLength":256},"organization":{"type":"string","minLength":1,"maxLength":1024},"division":{"type":"string","minLength":1,"maxLength":1024},"department":{"type":"string","minLength":1,"maxLength":1024},"manager":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":256},"$ref":{"type":"string","minLength":1,"maxLength":2048},"displayName":{"type":"string","minLength":1,"maxLength":1024}}},{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":256},"$ref":{"type":"string","minLength":1,"maxLength":2048},"displayName":{"type":"string","minLength":1,"maxLength":1024}}}}]}}}},"required":["schemas","userName"]}}}},"responses":{"201":{"description":"SCIM User resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string","maxLength":1024},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"userName":{"type":"string","maxLength":512},"name":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"givenName":{"type":"string","maxLength":256},"familyName":{"type":"string","maxLength":256},"middleName":{"type":"string","maxLength":256},"honorificPrefix":{"type":"string","maxLength":256},"honorificSuffix":{"type":"string","maxLength":256}}},"displayName":{"type":"string","maxLength":1024},"title":{"type":"string","maxLength":1024},"userType":{"type":"string","maxLength":256},"preferredLanguage":{"type":"string","maxLength":256},"locale":{"type":"string","maxLength":256},"timezone":{"type":"string","maxLength":256},"active":{"type":"boolean"},"emails":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"value":{"type":"string","format":"email","maxLength":254},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"phoneNumbers":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"addresses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"streetAddress":{"type":"string","maxLength":1024},"locality":{"type":"string","maxLength":256},"region":{"type":"string","maxLength":256},"postalCode":{"type":"string","maxLength":256},"country":{"type":"string","maxLength":256},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"entitlements":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","maxLength":256},"costCenter":{"type":"string","maxLength":256},"organization":{"type":"string","maxLength":1024},"division":{"type":"string","maxLength":1024},"department":{"type":"string","maxLength":1024},"manager":{"type":"object","properties":{"value":{"type":"string","maxLength":256},"$ref":{"type":"string","maxLength":2048}}}}},"schemas":{"type":"array","maxItems":2,"items":{"type":"string","enum":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"]}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"get":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"SCIM User list","content":{"application/scim+json":{"schema":{"type":"object","properties":{"totalResults":{"type":"number"},"itemsPerPage":{"type":"number"},"startIndex":{"type":"number"},"Resources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string","maxLength":1024},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"userName":{"type":"string","maxLength":512},"name":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"givenName":{"type":"string","maxLength":256},"familyName":{"type":"string","maxLength":256},"middleName":{"type":"string","maxLength":256},"honorificPrefix":{"type":"string","maxLength":256},"honorificSuffix":{"type":"string","maxLength":256}}},"displayName":{"type":"string","maxLength":1024},"title":{"type":"string","maxLength":1024},"userType":{"type":"string","maxLength":256},"preferredLanguage":{"type":"string","maxLength":256},"locale":{"type":"string","maxLength":256},"timezone":{"type":"string","maxLength":256},"active":{"type":"boolean"},"emails":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"value":{"type":"string","format":"email","maxLength":254},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"phoneNumbers":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"addresses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"streetAddress":{"type":"string","maxLength":1024},"locality":{"type":"string","maxLength":256},"region":{"type":"string","maxLength":256},"postalCode":{"type":"string","maxLength":256},"country":{"type":"string","maxLength":256},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"entitlements":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","maxLength":256},"costCenter":{"type":"string","maxLength":256},"organization":{"type":"string","maxLength":1024},"division":{"type":"string","maxLength":1024},"department":{"type":"string","maxLength":1024},"manager":{"type":"object","properties":{"value":{"type":"string","maxLength":256},"$ref":{"type":"string","maxLength":2048}}}}},"schemas":{"type":"array","maxItems":2,"items":{"type":"string","enum":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"]}}},"required":["schemas","id"]}}}}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/Users/{userId}":{"delete":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"SCIM User deleted"},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"get":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SCIM User resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string","maxLength":1024},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"userName":{"type":"string","maxLength":512},"name":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"givenName":{"type":"string","maxLength":256},"familyName":{"type":"string","maxLength":256},"middleName":{"type":"string","maxLength":256},"honorificPrefix":{"type":"string","maxLength":256},"honorificSuffix":{"type":"string","maxLength":256}}},"displayName":{"type":"string","maxLength":1024},"title":{"type":"string","maxLength":1024},"userType":{"type":"string","maxLength":256},"preferredLanguage":{"type":"string","maxLength":256},"locale":{"type":"string","maxLength":256},"timezone":{"type":"string","maxLength":256},"active":{"type":"boolean"},"emails":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"value":{"type":"string","format":"email","maxLength":254},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"phoneNumbers":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"addresses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"streetAddress":{"type":"string","maxLength":1024},"locality":{"type":"string","maxLength":256},"region":{"type":"string","maxLength":256},"postalCode":{"type":"string","maxLength":256},"country":{"type":"string","maxLength":256},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"entitlements":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","maxLength":256},"costCenter":{"type":"string","maxLength":256},"organization":{"type":"string","maxLength":1024},"division":{"type":"string","maxLength":1024},"department":{"type":"string","maxLength":1024},"manager":{"type":"object","properties":{"value":{"type":"string","maxLength":256},"$ref":{"type":"string","maxLength":2048}}}}},"schemas":{"type":"array","maxItems":2,"items":{"type":"string","enum":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"]}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"patch":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"enum":["urn:ietf:params:scim:api:messages:2.0:PatchOp"]}},"Operations":{"type":"array","items":{"type":"object","properties":{"op":{"type":"string"},"path":{"type":"string"},"value":{}}}}},"required":["schemas","Operations"]}}}},"responses":{"200":{"description":"Updated SCIM User resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string","maxLength":1024},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"userName":{"type":"string","maxLength":512},"name":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"givenName":{"type":"string","maxLength":256},"familyName":{"type":"string","maxLength":256},"middleName":{"type":"string","maxLength":256},"honorificPrefix":{"type":"string","maxLength":256},"honorificSuffix":{"type":"string","maxLength":256}}},"displayName":{"type":"string","maxLength":1024},"title":{"type":"string","maxLength":1024},"userType":{"type":"string","maxLength":256},"preferredLanguage":{"type":"string","maxLength":256},"locale":{"type":"string","maxLength":256},"timezone":{"type":"string","maxLength":256},"active":{"type":"boolean"},"emails":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"value":{"type":"string","format":"email","maxLength":254},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"phoneNumbers":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"addresses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"streetAddress":{"type":"string","maxLength":1024},"locality":{"type":"string","maxLength":256},"region":{"type":"string","maxLength":256},"postalCode":{"type":"string","maxLength":256},"country":{"type":"string","maxLength":256},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"entitlements":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","maxLength":256},"costCenter":{"type":"string","maxLength":256},"organization":{"type":"string","maxLength":1024},"division":{"type":"string","maxLength":1024},"department":{"type":"string","maxLength":1024},"manager":{"type":"object","properties":{"value":{"type":"string","maxLength":256},"$ref":{"type":"string","maxLength":2048}}}}},"schemas":{"type":"array","maxItems":2,"items":{"type":"string","enum":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"]}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}},"put":{"tags":["Scim"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"userName":{"type":"string","minLength":1,"maxLength":512},"externalId":{"type":"string","minLength":1,"maxLength":1024},"displayName":{"type":"string","minLength":1,"maxLength":1024},"name":{"type":"object","properties":{"formatted":{"type":"string","minLength":1,"maxLength":1024},"givenName":{"type":"string","minLength":1,"maxLength":256},"familyName":{"type":"string","minLength":1,"maxLength":256},"middleName":{"type":"string","minLength":1,"maxLength":256},"honorificPrefix":{"type":"string","minLength":1,"maxLength":256},"honorificSuffix":{"type":"string","minLength":1,"maxLength":256}}},"emails":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"primary":{"type":"boolean"},"type":{"type":"string","minLength":1,"maxLength":256}},"required":["value"]}},"title":{"type":"string","minLength":1,"maxLength":1024},"userType":{"type":"string","minLength":1,"maxLength":256},"preferredLanguage":{"type":"string","minLength":1,"maxLength":256},"locale":{"type":"string","minLength":1,"maxLength":256},"timezone":{"type":"string","minLength":1,"maxLength":256},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"addresses":{"type":"array","items":{"type":"object","properties":{"formatted":{"type":"string","minLength":1,"maxLength":1024},"streetAddress":{"type":"string","minLength":1,"maxLength":1024},"locality":{"type":"string","minLength":1,"maxLength":256},"region":{"type":"string","minLength":1,"maxLength":256},"postalCode":{"type":"string","minLength":1,"maxLength":256},"country":{"type":"string","minLength":1,"maxLength":256},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"display":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"entitlements":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":1024},"display":{"type":"string","minLength":1,"maxLength":1024},"type":{"type":"string","minLength":1,"maxLength":256},"primary":{"type":"boolean"}},"required":["value"]}},"active":{"type":"boolean"},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","minLength":1,"maxLength":256},"costCenter":{"type":"string","minLength":1,"maxLength":256},"organization":{"type":"string","minLength":1,"maxLength":1024},"division":{"type":"string","minLength":1,"maxLength":1024},"department":{"type":"string","minLength":1,"maxLength":1024},"manager":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":256},"$ref":{"type":"string","minLength":1,"maxLength":2048},"displayName":{"type":"string","minLength":1,"maxLength":1024}}},{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":256},"$ref":{"type":"string","minLength":1,"maxLength":2048},"displayName":{"type":"string","minLength":1,"maxLength":1024}}}}]}}}},"required":["schemas","userName"]}}}},"responses":{"200":{"description":"SCIM User resource","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string","maxLength":1024},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"location":{"type":"string"}}},"userName":{"type":"string","maxLength":512},"name":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"givenName":{"type":"string","maxLength":256},"familyName":{"type":"string","maxLength":256},"middleName":{"type":"string","maxLength":256},"honorificPrefix":{"type":"string","maxLength":256},"honorificSuffix":{"type":"string","maxLength":256}}},"displayName":{"type":"string","maxLength":1024},"title":{"type":"string","maxLength":1024},"userType":{"type":"string","maxLength":256},"preferredLanguage":{"type":"string","maxLength":256},"locale":{"type":"string","maxLength":256},"timezone":{"type":"string","maxLength":256},"active":{"type":"boolean"},"emails":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"value":{"type":"string","format":"email","maxLength":254},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"phoneNumbers":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"addresses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"formatted":{"type":"string","maxLength":1024},"streetAddress":{"type":"string","maxLength":1024},"locality":{"type":"string","maxLength":256},"region":{"type":"string","maxLength":256},"postalCode":{"type":"string","maxLength":256},"country":{"type":"string","maxLength":256},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"roles":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"entitlements":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"value":{"type":"string","maxLength":1024},"display":{"type":"string","maxLength":1024},"type":{"type":"string","maxLength":256},"primary":{"type":"boolean"}}}},"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"type":"object","properties":{"employeeNumber":{"type":"string","maxLength":256},"costCenter":{"type":"string","maxLength":256},"organization":{"type":"string","maxLength":1024},"division":{"type":"string","maxLength":1024},"department":{"type":"string","maxLength":1024},"manager":{"type":"object","properties":{"value":{"type":"string","maxLength":256},"$ref":{"type":"string","maxLength":2048}}}}},"schemas":{"type":"array","maxItems":2,"items":{"type":"string","enum":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"]}}},"required":["schemas","id"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/ServiceProviderConfig":{"get":{"tags":["Scim"],"description":"Describes the SCIM protocol features supported by this service provider.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"SCIM service provider configuration","content":{"application/scim+json":{"schema":{"type":"object","properties":{"patch":{"type":"object","properties":{"supported":{"type":"boolean"}},"required":["supported"]},"bulk":{"type":"object","properties":{"supported":{"type":"boolean"},"maxOperations":{"type":"integer"},"maxPayloadSize":{"type":"integer"}},"required":["supported","maxOperations","maxPayloadSize"]},"filter":{"type":"object","properties":{"supported":{"type":"boolean"},"maxResults":{"type":"integer"}},"required":["supported","maxResults"]},"changePassword":{"type":"object","properties":{"supported":{"type":"boolean"}},"required":["supported"]},"sort":{"type":"object","properties":{"supported":{"type":"boolean"}},"required":["supported"]},"etag":{"type":"object","properties":{"supported":{"type":"boolean"}},"required":["supported"]},"authenticationSchemes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"specUri":{"type":"string"},"documentationUri":{"type":"string"},"type":{"type":"string"},"primary":{"type":"boolean"}},"required":["type","name","description"]}},"schemas":{"type":"array","items":{"type":"string"}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"location":{"type":"string"}}}},"required":["schemas","patch","bulk","filter","changePassword","sort","etag","authenticationSchemes"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/Schemas":{"get":{"tags":["Scim"],"description":"Lists the resource schemas supported by this SCIM service provider.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"SCIM schema ListResponse","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"totalResults":{"type":"number"},"itemsPerPage":{"type":"number"},"startIndex":{"type":"number"},"Resources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"schemas":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"description":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"multiValued":{"type":"boolean"},"description":{"type":"string"},"required":{"type":"boolean"},"caseExact":{"type":"boolean"},"mutability":{"type":"string"},"returned":{"type":"string"},"uniqueness":{"type":"string"},"canonicalValues":{"type":"array","items":{"type":"string"}},"referenceTypes":{"type":"array","items":{"type":"string"}},"subAttributes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"multiValued":{"type":"boolean"},"description":{"type":"string"},"required":{"type":"boolean"},"caseExact":{"type":"boolean"},"mutability":{"type":"string"},"returned":{"type":"string"},"uniqueness":{"type":"string"},"canonicalValues":{"type":"array","items":{"type":"string"}},"referenceTypes":{"type":"array","items":{"type":"string"}}}}}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"location":{"type":"string"}},"required":["resourceType","location"]}},"required":["schemas","id","attributes"]}}}}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/Schemas/{schemaId}":{"get":{"tags":["Scim"],"description":"Returns one resource schema supported by this SCIM service provider.","security":[{"bearerAuth":[]}],"parameters":[{"name":"schemaId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SCIM schema","content":{"application/scim+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"schemas":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"description":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"multiValued":{"type":"boolean"},"description":{"type":"string"},"required":{"type":"boolean"},"caseExact":{"type":"boolean"},"mutability":{"type":"string"},"returned":{"type":"string"},"uniqueness":{"type":"string"},"canonicalValues":{"type":"array","items":{"type":"string"}},"referenceTypes":{"type":"array","items":{"type":"string"}},"subAttributes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"multiValued":{"type":"boolean"},"description":{"type":"string"},"required":{"type":"boolean"},"caseExact":{"type":"boolean"},"mutability":{"type":"string"},"returned":{"type":"string"},"uniqueness":{"type":"string"},"canonicalValues":{"type":"array","items":{"type":"string"}},"referenceTypes":{"type":"array","items":{"type":"string"}}}}}}}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"location":{"type":"string"}},"required":["resourceType","location"]}},"required":["schemas","id","attributes"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/ResourceTypes":{"get":{"tags":["Scim"],"description":"Lists the resource types supported by this SCIM service provider.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"SCIM resource type ListResponse","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"totalResults":{"type":"number"},"itemsPerPage":{"type":"number"},"startIndex":{"type":"number"},"Resources":{"type":"array","items":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"name":{"type":"string"},"endpoint":{"type":"string"},"description":{"type":"string"},"schema":{"type":"string"},"schemaExtensions":{"type":"array","items":{"type":"object","properties":{"schema":{"type":"string"},"required":{"type":"boolean"}},"required":["schema","required"]}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"location":{"type":"string"}}}},"required":["schemas","name","endpoint","schema"]}}}}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/scim/v2/ResourceTypes/{resourceTypeId}":{"get":{"tags":["Scim"],"description":"Returns one resource type supported by this SCIM service provider.","security":[{"bearerAuth":[]}],"parameters":[{"name":"resourceTypeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SCIM resource type","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"name":{"type":"string"},"endpoint":{"type":"string"},"description":{"type":"string"},"schema":{"type":"string"},"schemaExtensions":{"type":"array","items":{"type":"object","properties":{"schema":{"type":"string"},"required":{"type":"boolean"}},"required":["schema","required"]}},"meta":{"type":"object","properties":{"resourceType":{"type":"string"},"location":{"type":"string"}}}},"required":["schemas","name","endpoint","schema"]}}}},"400":{"description":"Bad Request. Usually due to missing parameters, or invalid parameters","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"401":{"description":"Unauthorized. Due to missing or invalid authentication.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"403":{"description":"Forbidden. The authenticated principal lacks permission.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"404":{"description":"Not Found. The requested resource was not found.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"409":{"description":"Conflict. A resource uniqueness constraint was violated.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"415":{"description":"Unsupported Media Type.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Try again later.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}},"500":{"description":"Internal Server Error. This is a problem with the server that you cannot fix.","content":{"application/scim+json":{"schema":{"type":"object","properties":{"schemas":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"detail":{"type":"string"},"scimType":{"type":"string"}},"required":["schemas","status"]}}}}}}},"/identity/scim":{"get":{"tags":["Organization-identity"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"organizationId","in":"query","schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/identity/scim/token":{"post":{"tags":["Organization-identity"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"}},"required":["organizationId"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/identity/scim/revoke":{"post":{"tags":["Organization-identity"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"}},"required":["organizationId"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/jwks":{"get":{"tags":["Jwt"],"description":"Get the JSON Web Key Set","operationId":"getJSONWebKeySet","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"JSON Web Key Set retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","description":"Array of public JSON Web Keys","items":{"type":"object","properties":{"kid":{"type":"string","description":"Key ID uniquely identifying the key, corresponds to the 'id' from the stored Jwk"},"kty":{"type":"string","description":"Key type (e.g., 'RSA', 'EC', 'OKP')"},"alg":{"type":"string","description":"Algorithm intended for use with the key (e.g., 'EdDSA', 'RS256')"},"use":{"type":"string","description":"Intended use of the public key (e.g., 'sig' for signature)","enum":["sig"],"nullable":true},"n":{"type":"string","description":"Modulus for RSA keys (base64url-encoded)","nullable":true},"e":{"type":"string","description":"Exponent for RSA keys (base64url-encoded)","nullable":true},"crv":{"type":"string","description":"Curve name for elliptic curve keys (e.g., 'Ed25519', 'P-256')","nullable":true},"x":{"type":"string","description":"X coordinate for elliptic curve keys (base64url-encoded)","nullable":true},"y":{"type":"string","description":"Y coordinate for elliptic curve keys (base64url-encoded)","nullable":true}},"required":["kid","kty","alg"]}}},"required":["keys"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/authorize":{"get":{"tags":["Oauth-provider"],"description":"Authorize an OAuth 2.1 request from query parameters or an application/x-www-form-urlencoded POST body","security":[{"bearerAuth":[]}],"parameters":[{"name":"response_type","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 response type (e.g., 'code')"},{"name":"client_id","in":"query","required":true,"schema":{"type":"string"},"description":"OAuth 2.1 client ID"},{"name":"redirect_uri","in":"query","required":false,"schema":{"type":"string","format":"uri"},"description":"OAuth 2.1 redirect URI"},{"name":"scope","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 scopes (space-separated)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 state parameter"},{"name":"request_uri","in":"query","required":false,"schema":{"type":"string"},"description":"Pushed Authorization Request URI referencing stored parameters"},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string"},"description":"PKCE code challenge"},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string"},"description":"PKCE code challenge method"},{"name":"nonce","in":"query","required":false,"schema":{"type":"string"},"description":"OpenID Connect nonce"},{"name":"max_age","in":"query","required":false,"schema":{"type":"integer","minimum":0},"description":"Maximum authentication age in seconds; forces re-authentication when exceeded"},{"name":"resource","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Requested protected resource(s) for the access token. May be supplied multiple times as repeated 'resource' query parameters (RFC 8707) or as an array of strings."},{"name":"prompt","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth2 prompt parameter"}],"responses":{"302":{"description":"Redirect to client with code or error","headers":{"Location":{"description":"Redirect URI with code or error","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"},"state":{"type":"string"}},"required":["error"]}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Oauth-provider"],"description":"Authorize an OAuth 2.1 request from query parameters or an application/x-www-form-urlencoded POST body","security":[{"bearerAuth":[]}],"parameters":[{"name":"response_type","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 response type (e.g., 'code')"},{"name":"client_id","in":"query","required":true,"schema":{"type":"string"},"description":"OAuth 2.1 client ID"},{"name":"redirect_uri","in":"query","required":false,"schema":{"type":"string","format":"uri"},"description":"OAuth 2.1 redirect URI"},{"name":"scope","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 scopes (space-separated)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth 2.1 state parameter"},{"name":"request_uri","in":"query","required":false,"schema":{"type":"string"},"description":"Pushed Authorization Request URI referencing stored parameters"},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string"},"description":"PKCE code challenge"},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string"},"description":"PKCE code challenge method"},{"name":"nonce","in":"query","required":false,"schema":{"type":"string"},"description":"OpenID Connect nonce"},{"name":"max_age","in":"query","required":false,"schema":{"type":"integer","minimum":0},"description":"Maximum authentication age in seconds; forces re-authentication when exceeded"},{"name":"resource","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Requested protected resource(s) for the access token. May be supplied multiple times as repeated 'resource' query parameters (RFC 8707) or as an array of strings."},{"name":"prompt","in":"query","required":false,"schema":{"type":"string"},"description":"OAuth2 prompt parameter"}],"responses":{"302":{"description":"Redirect to client with code or error","headers":{"Location":{"description":"Redirect URI with code or error","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"},"state":{"type":"string"}},"required":["error"]}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/consent":{"post":{"tags":["Oauth-provider"],"description":"Handle OAuth2 consent","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accept":{"type":"boolean","description":"Accept or deny user consent for a set of scopes"},"scope":{"type":"string"},"claims":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}]},"oauth_query":{"type":"string"}},"required":["accept"]}}}},"responses":{"200":{"description":"Consent processed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri","description":"The URI to redirect to, either with an authorization code or an error"}},"required":["redirect_uri"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/continue":{"post":{"tags":["Oauth-provider"],"description":"Continues OAuth2 authorization flow","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"selected":{"type":"boolean"},"created":{"type":"boolean"},"postLogin":{"type":"boolean"},"oauth_query":{"type":"string"}}}}}},"responses":{"200":{"description":"Consent processed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri","description":"The URI to redirect to, either with an authorization code or an error"}},"required":["redirect_uri"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/token":{"post":{"tags":["Oauth-provider"],"description":"Obtain an OAuth2.1 access token","security":[{"bearerAuth":[]}],"parameters":[{"name":"DPoP","in":"header","required":false,"schema":{"type":"string"},"description":"RFC 9449 DPoP proof JWT for issuing DPoP-bound tokens"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grant_type":{"type":"string","description":"OAuth2 grant type"},"client_id":{"type":"string","description":"OAuth2 client ID"},"client_secret":{"type":"string","description":"OAuth2 client secret"},"code":{"type":"string","description":"Authorization code (for authorization_code grant)"},"code_verifier":{"type":"string","description":"PKCE code verifier (for authorization_code grant)"},"redirect_uri":{"type":"string","format":"uri","description":"Redirect URI (for authorization_code grant)"},"refresh_token":{"type":"string","description":"Refresh token (for refresh_token grant)"},"resource":{"oneOf":[{"type":"string","description":"Single resource (URL)"},{"type":"array","items":{"type":"string"},"description":"Multiple resources (URLs)"}],"description":"Requested protected resource(s) for the access token"},"scope":{"type":"string","description":"Requested scopes (for client_credentials grant)"}},"required":["grant_type"]}}}},"responses":{"200":{"description":"Access token response","content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string","description":"The access token issued by the authorization server"},"token_type":{"type":"string","description":"The type of the token issued","enum":["Bearer","DPoP"]},"expires_in":{"type":"number","description":"Lifetime in seconds of the access token"},"refresh_token":{"type":"string","description":"Refresh token, if issued"},"scope":{"type":"string","description":"Scopes granted by the access token"},"id_token":{"type":"string","description":"ID Token (if OpenID Connect)"}},"required":["access_token","token_type","expires_in"]}}}},"400":{"description":"Invalid request or error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"},"error_uri":{"type":"string"}},"required":["error"]}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/introspect":{"post":{"tags":["Oauth-provider"],"description":"Introspect an OAuth2 access or refresh token","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"OAuth2 client ID"},"client_secret":{"type":"string","description":"OAuth2 client secret"},"token":{"type":"string","description":"The token to introspect (access or refresh token)"},"token_type_hint":{"type":"string","description":"Hint about the token type. Recognized values: `access_token`, `refresh_token`."}},"required":["token"]}}}},"responses":{"200":{"description":"Token introspection response","content":{"application/json":{"schema":{"type":"object","properties":{"active":{"type":"boolean","description":"Whether the token is active"},"scope":{"type":"string","description":"Scopes associated with the token"},"client_id":{"type":"string","description":"Client ID associated with the token"},"username":{"type":"string","description":"Username associated with the token"},"token_type":{"type":"string","description":"Type of the token"},"exp":{"type":"number","description":"Expiration time of the token (seconds since epoch)"},"iat":{"type":"number","description":"Issued at time (seconds since epoch)"},"nbf":{"type":"number","description":"Not before time (seconds since epoch)"},"sub":{"type":"string","description":"Subject of the token"},"aud":{"type":"string","description":"Audience of the token"},"iss":{"type":"string","description":"Issuer of the token"},"jti":{"type":"string","description":"JWT ID"}},"required":["active"]}}}},"400":{"description":"Invalid request or error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"},"error_uri":{"type":"string"}},"required":["error"]}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/revoke":{"post":{"tags":["Oauth-provider"],"description":"Revoke an OAuth2 access or refresh token","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"OAuth2 client ID"},"client_secret":{"type":"string","description":"OAuth2 client secret"},"token":{"type":"string","description":"The token to revoke (access or refresh token)"},"token_type_hint":{"type":"string","description":"Hint about the token type. Recognized values: `access_token`, `refresh_token`."}},"required":["token"]}}}},"responses":{"200":{"description":"Token revoked successfully. The response body is empty.","content":{"application/json":{"schema":{"type":"object","description":"Empty object on success"}}}},"400":{"description":"Invalid request or error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"},"error_uri":{"type":"string"}},"required":["error"]}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/userinfo":{"get":{"tags":["Oauth-provider"],"description":"Get OpenID Connect user information (UserInfo endpoint)","security":[{"bearerAuth":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Bearer or DPoP access token"},{"name":"DPoP","in":"header","required":false,"schema":{"type":"string"},"description":"RFC 9449 DPoP proof JWT when using a DPoP-bound access token"}],"responses":{"200":{"description":"User information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"sub":{"type":"string","description":"Subject identifier (user ID)"},"email":{"type":"string","format":"email","nullable":true,"description":"User's email address, included if 'email' scope is granted"},"name":{"type":"string","nullable":true,"description":"User's full name, included if 'profile' scope is granted"},"picture":{"type":"string","format":"uri","nullable":true,"description":"User's profile picture URL, included if 'profile' scope is granted"},"given_name":{"type":"string","nullable":true,"description":"User's given name, included if 'profile' scope is granted"},"family_name":{"type":"string","nullable":true,"description":"User's family name, included if 'profile' scope is granted"},"email_verified":{"type":"boolean","nullable":true,"description":"Whether the email is verified, included if 'email' scope is granted"}},"required":["sub"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"description":"Unauthorized - invalid or missing access token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"403":{"description":"Forbidden - insufficient scope","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Oauth-provider"],"description":"Get OpenID Connect user information (UserInfo endpoint)","security":[{"bearerAuth":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Bearer or DPoP access token"},{"name":"DPoP","in":"header","required":false,"schema":{"type":"string"},"description":"RFC 9449 DPoP proof JWT when using a DPoP-bound access token"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string"}}}}}},"responses":{"200":{"description":"User information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"sub":{"type":"string","description":"Subject identifier (user ID)"},"email":{"type":"string","format":"email","nullable":true,"description":"User's email address, included if 'email' scope is granted"},"name":{"type":"string","nullable":true,"description":"User's full name, included if 'profile' scope is granted"},"picture":{"type":"string","format":"uri","nullable":true,"description":"User's profile picture URL, included if 'profile' scope is granted"},"given_name":{"type":"string","nullable":true,"description":"User's given name, included if 'profile' scope is granted"},"family_name":{"type":"string","nullable":true,"description":"User's family name, included if 'profile' scope is granted"},"email_verified":{"type":"boolean","nullable":true,"description":"Whether the email is verified, included if 'email' scope is granted"}},"required":["sub"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"description":"Unauthorized - invalid or missing access token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"403":{"description":"Forbidden - insufficient scope","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/end-session":{"get":{"tags":["Oauth-provider"],"description":"RP-Initiated Logout endpoint. Accepts standard logout parameters through GET or an application/x-www-form-urlencoded POST body, plus JSON for Better Auth generated-client calls. Requests without a usable id_token_hint may require explicit OP confirmation.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Logout completed, or an HTML confirmation page was returned for browser navigation. A redirect is used only for an exact registered post_logout_redirect_uri.","content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri","description":"URI to redirect to after logout (if post_logout_redirect_uri was provided)"},"message":{"type":"string","description":"Success message"}}}},"text/html":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}},"post":{"tags":["Oauth-provider"],"description":"RP-Initiated Logout endpoint. Accepts standard logout parameters through GET or an application/x-www-form-urlencoded POST body, plus JSON for Better Auth generated-client calls. Requests without a usable id_token_hint may require explicit OP confirmation.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id_token_hint":{"type":"string"},"client_id":{"type":"string"},"post_logout_redirect_uri":{"type":"string"},"state":{"type":"string"}}}}}},"responses":{"200":{"description":"Logout completed, or an HTML confirmation page was returned for browser navigation. A redirect is used only for an exact registered post_logout_redirect_uri.","content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri","description":"URI to redirect to after logout (if post_logout_redirect_uri was provided)"},"message":{"type":"string","description":"Success message"}}}},"text/html":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/end-session/confirm":{"post":{"tags":["Oauth-provider"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"enum":["confirm"]}},"required":["action"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/register":{"post":{"tags":["Oauth-provider"],"description":"Register an OAuth2 application","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uris":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"client_name":{"type":"string"},"client_uri":{"type":"string"},"logo_uri":{"type":"string"},"contacts":{"type":"array","items":{"type":"string","minLength":1}},"tos_uri":{"type":"string"},"policy_uri":{"type":"string"},"software_id":{"type":"string"},"software_version":{"type":"string"},"software_statement":{"type":"string"},"post_logout_redirect_uris":{"type":"array","items":{"type":"string"}},"backchannel_logout_uri":{"type":"string"},"backchannel_logout_session_required":{"type":"boolean"},"token_endpoint_auth_method":{"type":"string","minLength":1},"jwks":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"required":["keys"]},"jwks_uri":{"type":"string"},"grant_types":{"type":"array","items":{"type":"string","minLength":1}},"response_types":{"type":"array","items":{"type":"string","enum":["code"]}},"application_type":{"type":"string","enum":["web","native"]},"subject_type":{"type":"string","enum":["public","pairwise"]},"dpop_bound_access_tokens":{"type":"boolean"},"resources":{"type":"array","items":{"type":"string"}},"skip_consent":{"type":"string"}}}}}},"responses":{"201":{"description":"OAuth2 application registered successfully","content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"Unique identifier for the client"},"client_secret":{"type":"string","description":"Secret key for the client"},"client_secret_expires_at":{"type":"number","description":"Time the client secret will expire. If 0, the client secret will never expire."},"scope":{"type":"string","description":"Space-separated scopes allowed by the client"},"user_id":{"type":"string","description":"ID of the user who registered the client, null if registered anonymously"},"client_id_issued_at":{"type":"number","description":"Creation timestamp of this client"},"client_name":{"type":"string","description":"Name of the OAuth2 application"},"client_uri":{"type":"string","description":"Name of the OAuth2 application"},"logo_uri":{"type":"string","description":"Icon URL for the application"},"contacts":{"type":"array","items":{"type":"string"},"description":"List representing ways to contact people responsible for this client, typically email addresses"},"tos_uri":{"type":"string","description":"Client's terms of service uri"},"policy_uri":{"type":"string","description":"Client's policy uri"},"software_id":{"type":"string","description":"Unique identifier assigned by the developer to help in the dynamic registration process"},"software_version":{"type":"string","description":"Version identifier for the software_id"},"software_statement":{"type":"string","description":"JWT containing metadata values about the client software as claims"},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri"},"description":"List of allowed redirect uris"},"post_logout_redirect_uris":{"type":"array","items":{"type":"string","format":"uri"},"description":"List of allowed logout redirect uris"},"backchannel_logout_uri":{"type":"string","format":"uri","description":"RP URL to receive signed Logout Tokens when the end-user's OP session terminates"},"backchannel_logout_session_required":{"type":"boolean","description":"Whether the RP requires a `sid` claim in every Logout Token"},"token_endpoint_auth_method":{"type":"string","description":"Requested authentication method for the token endpoint"},"grant_types":{"type":"array","items":{"type":"string"},"description":"Grant types the client may use at the token endpoint"},"response_types":{"type":"array","items":{"type":"string","enum":["code"]},"description":"Response types the client may use at the authorization endpoint"},"application_type":{"type":"string","description":"OIDC application type used to classify redirect URI policy","enum":["web","native"]},"resources":{"type":"array","items":{"type":"string","format":"uri"},"description":"Final resource identifiers linked to the registered client"},"disabled":{"type":"boolean","description":"Whether the client is disabled"}},"required":["client_id"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/create-client":{"post":{"tags":["Oauth-provider"],"description":"Register an OAuth2 application","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"redirect_uris":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"client_name":{"type":"string"},"client_uri":{"type":"string"},"logo_uri":{"type":"string"},"contacts":{"type":"array","items":{"type":"string","minLength":1}},"tos_uri":{"type":"string"},"policy_uri":{"type":"string"},"software_id":{"type":"string"},"software_version":{"type":"string"},"software_statement":{"type":"string"},"post_logout_redirect_uris":{"type":"array","items":{"type":"string"}},"backchannel_logout_uri":{"type":"string"},"backchannel_logout_session_required":{"type":"boolean"},"token_endpoint_auth_method":{"type":"string","minLength":1},"application_type":{"type":"string","enum":["web","native"]},"jwks":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"required":["keys"]},"jwks_uri":{"type":"string"},"grant_types":{"type":"array","items":{"type":"string","minLength":1}},"response_types":{"type":"array","items":{"type":"string","enum":["code"]}},"dpop_bound_access_tokens":{"type":"boolean"}}}}}},"responses":{"201":{"description":"OAuth2 application registered successfully","content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"Unique identifier for the client"},"client_secret":{"type":"string","description":"Secret key for the client"},"client_secret_expires_at":{"type":"number","description":"Time the client secret will expire. If 0, the client secret will never expire."},"scope":{"type":"string","description":"Space-separated scopes allowed by the client"},"user_id":{"type":"string","description":"ID of the user who registered the client, null if registered anonymously"},"client_id_issued_at":{"type":"number","description":"Creation timestamp of this client"},"client_name":{"type":"string","description":"Name of the OAuth2 application"},"client_uri":{"type":"string","description":"URI of the OAuth2 application"},"logo_uri":{"type":"string","description":"Icon URI for the application"},"contacts":{"type":"array","items":{"type":"string"},"description":"List representing ways to contact people responsible for this client, typically email addresses"},"tos_uri":{"type":"string","description":"Client's terms of service uri"},"policy_uri":{"type":"string","description":"Client's policy uri"},"software_id":{"type":"string","description":"Unique identifier assigned by the developer to help in the dynamic registration process"},"software_version":{"type":"string","description":"Version identifier for the software_id"},"software_statement":{"type":"string","description":"JWT containing metadata values about the client software as claims"},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri"},"description":"List of allowed redirect uris"},"token_endpoint_auth_method":{"type":"string","description":"Requested authentication method for the token endpoint"},"grant_types":{"type":"array","items":{"type":"string"},"description":"Grant types the client may use at the token endpoint"},"response_types":{"type":"array","items":{"type":"string","enum":["code"]},"description":"Response types the client may use at the authorization endpoint"},"application_type":{"type":"string","description":"OIDC application type used to classify redirect URI policy","enum":["web","native"]},"resources":{"type":"array","items":{"type":"string","format":"uri"},"description":"Final server-owned resources linked to the client"},"disabled":{"type":"boolean","description":"Whether the client is disabled"},"metadata":{"type":"object","additionalProperties":true,"nullable":true,"description":"Additional metadata for the application"}},"required":["client_id"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/get-client":{"get":{"tags":["Oauth-provider"],"description":"Get OAuth2 formatted client details","security":[{"bearerAuth":[]}],"parameters":[{"name":"client_id","in":"query","schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/public-client":{"get":{"tags":["Oauth-provider"],"description":"Gets publicly available client fields","security":[{"bearerAuth":[]}],"parameters":[{"name":"client_id","in":"query","schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/public-client-prelogin":{"post":{"tags":["Oauth-provider"],"description":"Gets publicly available client fields (prior to login)","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string"},"oauth_query":{"type":"string"}},"required":["client_id"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/get-clients":{"get":{"tags":["Oauth-provider"],"description":"Get OAuth2 formatted client details for a user or organization","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/update-client":{"post":{"tags":["Oauth-provider"],"description":"Updates OAuth2 formatted client details.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string"},"update":{"type":"object","properties":{"redirect_uris":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"client_name":{"type":"string"},"client_uri":{"type":"string"},"logo_uri":{"type":"string"},"contacts":{"type":"array","items":{"type":"string","minLength":1}},"tos_uri":{"type":"string"},"policy_uri":{"type":"string"},"software_id":{"type":"string"},"software_version":{"type":"string"},"software_statement":{"type":"string"},"post_logout_redirect_uris":{"type":"array","items":{"type":"string"}},"backchannel_logout_uri":{"type":"string"},"backchannel_logout_session_required":{"type":"boolean"},"application_type":{"type":"string","enum":["web","native"]},"grant_types":{"type":"array","items":{"type":"string","minLength":1}},"response_types":{"type":"array","items":{"type":"string","enum":["code"]}}}}},"required":["client_id","update"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/client/rotate-secret":{"post":{"tags":["Oauth-provider"],"description":"Rotates a confidential client's secret","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string"}},"required":["client_id"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/delete-client":{"post":{"tags":["Oauth-provider"],"description":"Deletes an oauth client","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string"}},"required":["client_id"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/get-consent":{"get":{"tags":["Oauth-provider"],"description":"Gets details of a specific OAuth2 consent for a user","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","schema":{"type":"string"}}],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/get-consents":{"get":{"tags":["Oauth-provider"],"description":"Gets all available OAuth2 consents for a user","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/update-consent":{"post":{"tags":["Oauth-provider"],"description":"Updates consent granted to a client.","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"update":{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"string"}}},"required":["scopes"]}},"required":["id","update"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/oauth2/delete-consent":{"post":{"tags":["Oauth-provider"],"description":"Deletes consent granted to a client","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/mcp/review":{"post":{"tags":["Mcp-connections"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"oauth_query":{"type":"string","minLength":1,"maxLength":16384}},"required":["oauth_query"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/mcp/approve":{"post":{"tags":["Mcp-connections"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"oauth_query":{"type":"string","minLength":1,"maxLength":16384},"organizationId":{"type":"string"},"accept":{"type":"boolean"}},"required":["oauth_query","accept"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/mcp/connections":{"get":{"tags":["Mcp-connections"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/mcp/revoke":{"post":{"tags":["Mcp-connections"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/device/code":{"post":{"tags":["Device-authorization"],"description":"Request a device and user code\n\nFollow [rfc8628#section-3.2](https://datatracker.ietf.org/doc/html/rfc8628#section-3.2)","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of the application"},"user_id":{"type":"string","description":"The user ID to which the device code should be pre-bound."},"scope":{"type":"string","description":"Space-separated list of scopes"}},"required":["client_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"device_code":{"type":"string","description":"The device verification code"},"user_code":{"type":"string","description":"The user code to display"},"verification_uri":{"type":"string","format":"uri","description":"The URL for user verification. Defaults to /device if not configured."},"verification_uri_complete":{"type":"string","format":"uri","description":"The complete URL with user code as query parameter."},"expires_in":{"type":"number","description":"Lifetime in seconds of the device code"},"interval":{"type":"number","description":"Minimum polling interval in seconds"}}}}}},"400":{"description":"Error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["invalid_request","invalid_client","unauthorized_client","invalid_scope"]},"error_description":{"type":"string"}}}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["server_error"]},"error_description":{"type":"string"}}}}}}}}},"/device/token":{"post":{"tags":["Device-authorization"],"description":"Exchange device code for access token\n\nFollow [rfc8628#section-3.4](https://datatracker.ietf.org/doc/html/rfc8628#section-3.4)","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grant_type":{"enum":["urn:ietf:params:oauth:grant-type:device_code"],"description":"The grant type for device flow"},"device_code":{"type":"string","description":"The device verification code"},"client_id":{"type":"string","description":"The client ID of the application"}},"required":["grant_type","device_code","client_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}}}}}},"400":{"description":"Error response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["authorization_pending","slow_down","expired_token","access_denied","invalid_request","invalid_grant"]},"error_description":{"type":"string"}}}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/device":{"get":{"tags":["Device-authorization"],"description":"Verify user code and get device authorization status","security":[{"bearerAuth":[]}],"parameters":[{"name":"user_code","in":"query","schema":{"type":"string","description":"The user code to verify"}}],"responses":{"200":{"description":"Device authorization status","content":{"application/json":{"schema":{"type":"object","properties":{"user_code":{"type":"string","description":"The user code to verify"},"status":{"type":"string","enum":["pending","approved","denied"],"description":"Current status of the device authorization"},"client_id":{"type":"string","description":"The client requesting authorization, returned only to the authenticated user who owns this request"},"scope":{"type":"string","description":"The requested scopes, returned only to the authenticated user who owns this request"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/device/approve":{"post":{"tags":["Device-authorization"],"description":"Approve device authorization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userCode":{"type":"string","description":"The user code to approve"}},"required":["userCode"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/device/deny":{"post":{"tags":["Device-authorization"],"description":"Deny device authorization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userCode":{"type":"string","description":"The user code to deny"}},"required":["userCode"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/create":{"post":{"tags":["Organization"],"description":"Create an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name of the organization"},"slug":{"type":"string","minLength":1,"description":"The slug of the organization"},"userId":{"type":"string","description":"The user id of the organization creator. If not provided, the current user will be used. Should only be used by admins or when called by the server. server-only. Eg: \"user-id\""},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The metadata of the organization"},"keepCurrentActiveOrganization":{"type":"boolean","description":"Whether to keep the current active organization active after creating a new one. Eg: true"}},"required":["name","slug"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization that was created","$ref":"#/components/schemas/Organization"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/update":{"post":{"tags":["Organization"],"description":"Update an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name of the organization"},"slug":{"type":"string","minLength":1,"description":"The slug of the organization"},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The metadata of the organization"}}},"organizationId":{"type":"string","description":"The organization ID. Eg: \"org-id\""}},"required":["data"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The updated organization","$ref":"#/components/schemas/Organization"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/delete":{"post":{"tags":["Organization"],"description":"Delete an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","description":"The organization id to delete"}},"required":["organizationId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"The organization id that was deleted"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/set-active":{"post":{"tags":["Organization"],"description":"Set the active organization","operationId":"setActiveOrganization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":["string","null"],"description":"The organization id to set as active. It can be null to unset the active organization. Eg: \"org-id\""},"organizationSlug":{"type":"string","description":"The organization slug to set as active. It can be null to unset the active organization if organizationId is not provided. Eg: \"org-slug\""}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization","$ref":"#/components/schemas/Organization"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/get-organization":{"get":{"tags":["Organization"],"description":"Get the organization metadata","operationId":"getOrganization","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization","$ref":"#/components/schemas/Organization"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/get-full-organization":{"get":{"tags":["Organization"],"description":"Get the full organization","operationId":"getFullOrganization","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"The organization","$ref":"#/components/schemas/Organization"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/list":{"get":{"tags":["Organization"],"description":"List all organizations","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/invite-member":{"post":{"tags":["Organization"],"description":"Create an invitation to an organization","operationId":"createOrganizationInvitation","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"The email address of the user to invite"},"role":{"anyOf":[{"type":"string","description":"The role to assign to the user"},{"type":"array","items":{"type":"string","description":"The roles to assign to the user"}}],"description":"The role(s) to assign to the user. It can be `admin`, `member`, owner. Eg: \"member\""},"organizationId":{"type":"string","description":"The organization ID to invite the user to"},"resend":{"type":"boolean","description":"Resend the invitation email, if the user is already invited. Eg: true"},"teamId":{"anyOf":[{"type":"string","description":"The team ID to invite the user to"},{"type":"array","items":{"type":"string"},"description":"The team IDs to invite the user to"}]}},"required":["email","role"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"organizationId":{"type":"string"},"inviterId":{"type":"string"},"status":{"type":"string"},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","organizationId","inviterId","status","expiresAt","createdAt"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/cancel-invitation":{"post":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","description":"The ID of the invitation to cancel"}},"required":["invitationId"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/accept-invitation":{"post":{"tags":["Organization"],"description":"Accept an invitation to an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","description":"The ID of the invitation to accept"}},"required":["invitationId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":"object"},"member":{"type":"object"}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/get-invitation":{"get":{"tags":["Organization"],"description":"Get an invitation by ID","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","schema":{"type":"string","description":"The ID of the invitation to get"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"organizationId":{"type":"string"},"inviterId":{"type":"string"},"status":{"type":"string"},"expiresAt":{"type":"string"},"organizationName":{"type":"string"},"organizationSlug":{"type":"string"},"inviterEmail":{"type":"string"}},"required":["id","email","role","organizationId","inviterId","status","expiresAt","organizationName","organizationSlug","inviterEmail"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/reject-invitation":{"post":{"tags":["Organization"],"description":"Reject an invitation to an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","description":"The ID of the invitation to reject"}},"required":["invitationId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":"object"},"member":{"type":"object","nullable":true}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/list-invitations":{"get":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/get-active-member":{"get":{"tags":["Organization"],"description":"Get the member details of the active organization","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"organizationId":{"type":"string"},"role":{"type":"string"}},"required":["id","userId","organizationId","role"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/check-slug":{"post":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The organization slug to check. Eg: \"my-org\""}},"required":["slug"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/remove-member":{"post":{"tags":["Organization"],"description":"Remove a member from an organization","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"memberIdOrEmail":{"type":"string","description":"The ID or email of the member to remove"},"organizationId":{"type":"string","description":"The ID of the organization to remove the member from. If not provided, the active organization will be used. Eg: \"org-id\""}},"required":["memberIdOrEmail"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"organizationId":{"type":"string"},"role":{"type":"string"}},"required":["id","userId","organizationId","role"]}},"required":["member"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/update-member-role":{"post":{"tags":["Organization"],"description":"Update the role of a member in an organization","operationId":"updateOrganizationMemberRole","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"The new role to be applied. This can be a string or array of strings representing the roles. Eg: [\"admin\", \"sale\"]"},"memberId":{"type":"string","description":"The member id to apply the role update to. Eg: \"member-id\""},"organizationId":{"type":"string","description":"An optional organization ID which the member is a part of to apply the role update. If not provided, you must provide session headers to get the active organization. Eg: \"organization-id\""}},"required":["role","memberId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"member":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"organizationId":{"type":"string"},"role":{"type":"string"}},"required":["id","userId","organizationId","role"]}},"required":["member"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/leave":{"post":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","description":"The organization Id for the member to leave. Eg: \"organization-id\""}},"required":["organizationId"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/list-user-invitations":{"get":{"tags":["Organization"],"description":"List all invitations a user has received","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"organizationId":{"type":"string"},"organizationName":{"type":"string"},"inviterId":{"type":"string","description":"The ID of the user who created the invitation"},"teamId":{"type":"string","description":"The ID of the team associated with the invitation","nullable":true},"status":{"type":"string"},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","organizationId","organizationName","inviterId","status","expiresAt","createdAt"]}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/list-members":{"get":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/get-active-member-role":{"get":{"tags":["Organization"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/organization/has-permission":{"post":{"tags":["Organization"],"description":"Check if the user has permission","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"permission":{"type":"object","description":"The permission to check","deprecated":true},"permissions":{"type":"object","description":"The permission to check"}},"required":["permissions"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"success":{"type":"boolean"}},"required":["success"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/api-key/create":{"post":{"tags":["Api-key"],"description":"Create a new API key for a user","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"configId":{"type":"string","description":"The configuration ID to use for the API key. If not provided, the default configuration will be used."},"name":{"type":"string","description":"Name of the Api Key"},"expiresIn":{"type":["number","null"],"description":"Expiration time of the Api Key in seconds"},"prefix":{"type":"string","description":"Prefix of the Api Key"},"remaining":{"type":["number","null"],"description":"Remaining number of requests. Server side only"},"metadata":{},"refillAmount":{"type":"number","description":"Amount to refill the remaining count of the Api Key. server-only. Eg: 100"},"refillInterval":{"type":"number","description":"Interval to refill the Api Key in milliseconds. server-only. Eg: 1000"},"rateLimitTimeWindow":{"type":"number","description":"The duration in milliseconds where each request is counted. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 1000"},"rateLimitMax":{"type":"number","description":"Maximum amount of requests allowed within a window. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 100"},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled. server-only. Eg: true"},"permissions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Permissions of the Api Key."},"userId":{"type":"string","description":"User Id of the user that the Api Key belongs to. server-only. Eg: \"user-id\""},"organizationId":{"type":"string","description":"Organization Id of the organization that the Api Key belongs to. Eg: 'org-id'"}}}}}},"responses":{"200":{"description":"API key created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the API key"},"createdAt":{"type":"string","format":"date-time","description":"Creation timestamp"},"updatedAt":{"type":"string","format":"date-time","description":"Last update timestamp"},"name":{"type":"string","nullable":true,"description":"Name of the API key"},"prefix":{"type":"string","nullable":true,"description":"Prefix of the API key"},"start":{"type":"string","nullable":true,"description":"Starting characters of the key (if configured)"},"key":{"type":"string","description":"The full API key (only returned on creation)"},"enabled":{"type":"boolean","description":"Whether the key is enabled"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiration timestamp"},"referenceId":{"type":"string","description":"ID of the reference owning the key"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"Last refill timestamp"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"Last request timestamp"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Metadata associated with the key"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum requests in time window"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"Rate limit time window in milliseconds"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests"},"refillAmount":{"type":"number","nullable":true,"description":"Amount to refill"},"refillInterval":{"type":"number","nullable":true,"description":"Refill interval in milliseconds"},"rateLimitEnabled":{"type":"boolean","description":"Whether rate limiting is enabled"},"requestCount":{"type":"number","description":"Current request count in window"},"permissions":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Permissions associated with the key"}},"required":["id","createdAt","updatedAt","key","enabled","referenceId","rateLimitEnabled","requestCount"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/api-key/get":{"get":{"tags":["Api-key"],"description":"Retrieve an existing API key by ID","security":[{"bearerAuth":[]}],"parameters":[{"name":"configId","in":"query","schema":{"type":"string","description":"The configuration ID to use for the API key lookup. If not provided, the default configuration will be used."}},{"name":"id","in":"query","schema":{"type":"string","description":"The id of the Api Key"}}],"responses":{"200":{"description":"API key retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/api-key/update":{"post":{"tags":["Api-key"],"description":"Update an existing API key by ID","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"configId":{"type":"string","description":"The configuration ID to use for the API key lookup. If not provided, the default configuration will be used."},"keyId":{"type":"string","description":"The id of the Api Key"},"userId":{"type":"string","description":"The id of the user which the api key belongs to. server-only. Eg: \"some-user-id\""},"name":{"type":"string","description":"The name of the key"},"enabled":{"type":"boolean","description":"Whether the Api Key is enabled or not"},"remaining":{"type":"number","description":"The number of remaining requests"},"refillAmount":{"type":"number","description":"The refill amount"},"refillInterval":{"type":"number","description":"The refill interval"},"metadata":{},"expiresIn":{"type":["number","null"],"description":"Expiration time of the Api Key in seconds"},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled."},"rateLimitTimeWindow":{"type":"number","description":"The duration in milliseconds where each request is counted. server-only. Eg: 1000"},"rateLimitMax":{"type":"number","description":"Maximum amount of requests allowed within a window. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 100"},"permissions":{"type":["object","null"],"propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Update the permissions on the API Key. server-only."}},"required":["keyId"]}}}},"responses":{"200":{"description":"API key updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/api-key/delete":{"post":{"tags":["Api-key"],"description":"Delete an existing API key","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"keyId":{"type":"string","description":"The id of the API key to delete"}},"required":["keyId"]}}}},"responses":{"200":{"description":"API key deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the API key was successfully deleted"}},"required":["success"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/api-key/list":{"get":{"tags":["Api-key"],"description":"List all API keys for the authenticated user or for a specific organization","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"API keys retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"apiKeys":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]}},"total":{"type":"number","description":"Total number of API keys"},"limit":{"type":"number","nullable":true,"description":"The limit used for pagination"},"offset":{"type":"number","nullable":true,"description":"The offset used for pagination"}},"required":["apiKeys","total"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sessions":{"get":{"tags":["User-sessions"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Active sessions, most recently updated first.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"current":{"type":"boolean"},"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))$"},"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))$"},"ipAddress":{"nullable":true,"type":"string"},"userAgent":{"nullable":true,"type":"string"},"activeOrganizationId":{"nullable":true,"type":"string"}},"required":["id","current","createdAt","updatedAt","expiresAt","ipAddress","userAgent","activeOrganizationId"],"additionalProperties":false}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sessions/revoke-others":{"post":{"tags":["User-sessions"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Session revoked.","content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"boolean","enum":[true]}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}},"/sessions/revoke":{"post":{"tags":["User-sessions"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}},"responses":{"200":{"description":"Session revoked.","content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"boolean","enum":[true]}}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Unauthorized. Due to missing or invalid authentication."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Forbidden. You do not have permission to access this resource or to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Internal Server Error. This is a problem with the server that you cannot fix."}}}}}}