diff --git a/api_spec.yaml b/api_spec.yaml deleted file mode 100644 index d73238d..0000000 --- a/api_spec.yaml +++ /dev/null @@ -1,1873 +0,0 @@ -openapi: 3.0.0 - -info: - version: 0.0.0 - title: Dashboard Interface - description: | - Interface for dashboard and backend SDK to communicate with each other. All APIs must be prefixed by `{apiDomain}/{apiBasePath}` - - `Note:` All the POST api's would give 403 status code back when user permissions are enabled. - -tags: - - name: "User Authentication" - description: APIs for validating user authentication & authorization - - name: "User Management" - description: APIs for user management features - - name: "User Details" - description: APIs for fetching and modifying information specific to one user - - name: "Search" - description: APIs for search - - name: "Telemetry" - description: APIs related to recording telemetry from the dashboard - - name: "Multitenancy" - description: APIs related to multitenancy - - name: "User Roles and Permissions" - description: APIs related to user roles and permisssions - -paths: - /dashboard/api/signin: - post: - tags: - - User Authentication - summary: Login via email and password - operationId: signinViaEmailPassword - requestBody: - content: - application/json: - schema: - type: object - properties: - email: - type: string - password: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - sessionId: - type: string - example: "5ebe4237-308f-47a8-b823-344b5372ee8f" - - type: object - properties: - status: - type: string - default: "INVALID_CREDENTIALS_ERROR" - message: - type: string - - type: object - properties: - status: - type: string - default: "USER_SUSPENDED_ERROR" - message: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/signout: - post: - tags: - - User Authentication - summary: Log out the user - operationId: signOut - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 401: - description: Unauthorized access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - //dashboard/api/users: - get: - tags: - - User Management - - Search - summary: Get a list of all users. This API is paginated - operationId: getUsersPaginated - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: paginationToken - required: false - in: query - schema: - type: string - - name: limit - description: The number of users to fetch for the given page - required: true - in: query - schema: - type: number - - name: timeJoinedOrder - description: The order in which the users should be listed, based on the timestamp for when they were created - in: query - schema: - type: string - enum: - - "ASC" - - "DESC" - - name: - description: refer to the search tags API to know what tags to use - required: false - in: query - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - nextPaginationToken: - type: string - description: Token to fetch the next set of users, if no more users can be fetched this value is undefined - example: "ZmE3YTA4ND...OzE2MjM5MTgwMzIyMzE=" - users: - type: array - items: - type: object - properties: - recipeId: - type: string - enum: - - "emailpassword" - - "thirdparty" - - "passwordless" - user: - anyOf: - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - timeJoined: - type: number - example: 1623918032231 - firstName: - type: string - lastName: - type: string - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - timeJoined: - type: number - example: 1623918032231 - firstName: - type: string - lastName: - type: string - thirdParty: - type: object - properties: - id: - type: string - userId: - type: string - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - phoneNumber: - type: string - example: "+14155552671" - timeJoined: - type: number - example: 1623918032231 - firstName: - type: string - lastName: - type: string - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - //dashboard/api/users/count: - get: - tags: - - User Management - summary: Get total number of users - operationId: getUsersCount - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - count: - type: number - example: 1000 - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/user: - get: - tags: - - User Details - summary: Get user information - operationId: getUserInformation - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: userId - in: query - required: true - schema: - type: string - - name: recipeId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - recipeId: - type: string - enum: - - "emailpassword" - - "thirdparty" - - "passwordless" - user: - anyOf: - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - timeJoined: - type: number - example: 1623918032231 - firstName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - lastName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - timeJoined: - type: number - example: 1623918032231 - firstName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - lastName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - thirdParty: - type: object - properties: - id: - type: string - userId: - type: string - - type: object - properties: - id: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - email: - type: string - example: "johndoe@gmail.com" - phoneNumber: - type: string - example: "+14155552671" - timeJoined: - type: number - example: 1623918032231 - firstName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - lastName: - oneOf: - - type: string - - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - - type: object - properties: - status: - type: string - default: "NO_USER_FOUND_ERROR" - - type: object - properties: - status: - type: string - default: "RECIPE_NOT_INITIALISED" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - put: - tags: - - User Details - summary: Update user information - operationId: userInformationPut - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - userId: - type: string - recipeId: - type: string - enum: - - "emailpassword" - - "thirdparty" - - "passwordless" - phone: - type: string - email: - type: string - firstName: - type: string - lastName: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - - type: object - properties: - status: - type: string - default: "EMAIL_ALREADY_EXISTS_ERROR" - - type: object - properties: - status: - type: string - default: "PHONE_ALREADY_EXISTS_ERROR" - - type: object - properties: - status: - type: string - default: "INVALID_EMAIL_ERROR" - error: - type: string - - type: object - properties: - status: - type: string - default: "INVALID_PHONE_ERROR" - error: - type: string - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - delete: - tags: - - User Details - summary: Delete a user - operationId: userDelete - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: userId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/user/unlink: - get: - tags: - - User Details - summary: Unlink a user account - operationId: userUnlink - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: recipeUserId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - //dashboard/api/user/email/verify: - put: - tags: - - User Details - summary: Set a user's email as verified - operationId: userEmailVerifyPut - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - userId: - type: string - verified: - type: boolean - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/user/email/verify: - get: - tags: - - User Details - summary: Check if a user's email is verified - operationId: getUserEmailVerified - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: userId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - isVerified: - type: boolean - default: true - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - //dashboard/api/user/email/verify/token: - post: - tags: - - User Details - summary: Send verification email to the user - operationId: userEmailVerifyTokenPost - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - userId: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - - type: object - properties: - status: - type: string - default: "EMAIL_ALREADY_VERIFIED_ERROR" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/user/metadata: - get: - tags: - - User Details - summary: Get meta data stored for a user - operationId: getUserMetaData - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: userId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - data: - type: object - description: A JSON object - example: - { - "preferences": { "theme": "dark" }, - "notifications": { "email": true }, - "todos": ["example"], - } - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - put: - tags: - - User Details - summary: Update meta data for a user - operationId: userMetadataPut - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - userId: - type: string - data: - type: string - default: "{}" - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - //dashboard/api/user/password: - put: - tags: - - User Details - summary: Change the user's password - operationId: userPasswordPut - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - userId: - type: string - newPassword: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - - type: object - properties: - status: - type: string - default: "INVALID_PASSWORD_ERROR" - error: - type: string - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/user/sessions: - get: - tags: - - User Details - summary: Get all active sessions for a user - operationId: getUserSessions - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - - name: userId - in: query - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - sessions: - type: array - items: - type: object - properties: - sessionData: - type: object - example: { "test": 123 } - accessTokenPayload: - type: object - example: { "test": 123 } - userId: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - expiry: - type: number - example: 1637262633029 - timeCreated: - type: number - example: 1637262633029 - sessionHandle: - type: string - example: "68en6gd6-865b-4af6-ba00-96e5c153257d" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - post: - tags: - - User Details - summary: Delete/Revoke sessions for a user - operationId: userSessionsDelete - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - sessionHandles: - type: array - items: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/analytics: - post: - tags: - - Telemetry - summary: Signals the backend SDK to send telemetry to SuperTokens - operationId: telemetryAnalyticsPost - parameters: - - name: authorization - in: header - required: true - schema: - type: string - example: "Bearer API_KEY" - requestBody: - content: - application/json: - schema: - type: object - properties: - email: - type: string - example: johndoe@supertokens.com - dashboardVersion: - type: string - example: 0.1.2 - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 404: - description: error code 404 - content: - text/plain: - schema: - type: string - enum: - - Not Found - /dashboard/api/search/tags: - get: - tags: - - Search - summary: Request to get all search tags supported - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - tags: - type: array - items: - type: string - /dashboard/api/tenants/login-methods: - get: - tags: - - Multitenancy - summary: Get all tenants and available login methods. - responses: - 200: - description: Success - content: - application/json: - schema: - type: object - properties: - status: - type: string - default: "OK" - tenants: - type: array - items: - type: object - properties: - tenantId: - type: string - firstFactors: - type: array - items: - type: string - - /dashboard/api/userroles/roles: - get: - tags: - - User Roles and Permissions - summary: Get all created roles - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - roles: - type: array - items: - type: string - example: - - "admin" - - "user" - - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - /dashboard/api/userroles/role: - put: - tags: - - User Roles and Permissions - summary: Creates a role with permissions or Adds permissions to a existing role if already exits - requestBody: - content: - application/json: - schema: - type: object - properties: - role: - type: string - example: "admin" - permissions: - type: array - items: - type: string - example: - - "read" - - "write" - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - createdNewRole: - type: boolean - default: true - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - delete: - tags: - - User Roles and Permissions - summary: Deletes a role. - parameters: - - name: role - in: query - required: true - schema: - type: string - example: admin - - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - didRoleExists: - type: boolean - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - /dashboard/api/userroles/role/permissions: - get: - tags: - - User Roles and Permissions - summary: Get permissions associated with a role - parameters: - - name: role - in: query - required: true - schema: - type: string - example: "admin" - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - permissions: - type: array - items: - type: string - - - type: object - properties: - status: - type: string - default: "UNKNOWN_ROLE_ERROR" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - /dashboard/api/userroles/role/permissions/remove: - put: - tags: - - User Roles and Permissions - summary: Remove permissions associated with a role - requestBody: - content: - application/json: - schema: - type: object - properties: - role: - type: string - example: "admin" - permissions: - type: array - items: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - - - type: object - properties: - status: - type: string - default: "UNKNOWN_ROLE_ERROR" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - //dashboard/api/userroles/user/roles: - get: - tags: - - User Roles and Permissions - summary: Get all roles that are assigned to a user - parameters: - - name: userId - in: query - required: true - schema: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - - name: tenantId - in: query - required: false - schema: - type: string - example: "public" - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - roles: - type: array - items: - type: string - example: - - "admin" - - "user" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - put: - tags: - - User Roles and Permissions - summary: Add a new role to a user - requestBody: - content: - application/json: - schema: - type: object - required: ["userId", "role"] - properties: - userId: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - role: - type: string - example: "admin" - tenantId: - type: string - example: "public" - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - didUserAlreadyHaveRole: - type: string - default: "false" - - type: object - properties: - status: - type: string - default: "UNKNOWN_ROLE_ERROR" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - delete: - tags: - - User Roles and Permissions - summary: Remove a role assigned to a user - parameters: - - name: userId - in: query - required: true - schema: - type: string - example: "fa7a0841-b533-4478-95533-0fde890c3483" - - name: role - in: query - required: true - schema: - type: string - example: "admin" - responses: - 200: - description: Success - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - didUserHaveRole: - type: boolean - default: false - - type: object - properties: - status: - type: string - default: "UNKNOWN_ROLE_ERROR" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - - 401: - description: Unauthorised access - content: - text/plain: - schema: - type: string - enum: - - Unauthorised access - 400: - description: error code 400 - content: - text/plain: - schema: - type: string - enum: - - Method not supported - - //dashboard/api/user/emailpassword: - post: - tags: - - User Creation - summary: Creates a new emailpassword user. - requestBody: - content: - application/json: - schema: - type: object - properties: - email: - type: string - password: - type: string - responses: - 200: - description: signup response - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - user: - $ref: "#/components/schemas/authRecipeUser" - recipeUserId: - $ref: "#/components/schemas/userId" - - type: object - properties: - status: - type: string - default: "EMAIL_ALREADY_EXISTS_ERROR" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - - type: object - properties: - status: - type: string - default: "EMAIL_VALIDATION_ERROR" - message: - type: string - - type: object - properties: - status: - type: string - default: "PASSWORD_VALIDATION_ERROR" - message: - type: string - //dashboard/api/user/passwordless: - post: - tags: - - User Creation - summary: Creates a new passwordless user - requestBody: - content: - application/json: - schema: - oneOf: - - type: object - properties: - email: - $ref: "#/components/schemas/email" - example: - email: "test@example.com" - required: - - email - - type: object - properties: - phoneNumber: - $ref: "#/components/schemas/phoneNumber" - required: - - phoneNumber - responses: - 200: - description: signup response - content: - application/json: - schema: - oneOf: - - type: object - properties: - status: - type: string - default: "OK" - createdNewRecipeUser: - type: boolean - default: true - user: - $ref: "#/components/schemas/authRecipeUser" - recipeUserId: - $ref: "#/components/schemas/userId" - - type: object - properties: - status: - type: string - default: "FEATURE_NOT_ENABLED_ERROR" - - type: object - properties: - status: - type: string - default: "INPUT_VALIDATION_ERROR" - message: - type: string - - type: object - properties: - status: - type: string - default: "EMAIL_VALIDATION_ERROR" - message: - type: string - - type: object - properties: - status: - type: string - default: "PHONE_VALIDATION_ERROR" - message: - type: string - -components: - schemas: - authRecipeUser: - type: object - properties: - id: - $ref: "#/components/schemas/userId" - isPrimaryUser: - type: boolean - example: true - tenantIds: - type: array - items: - $ref: "#/components/schemas/tenantId" - timeJoined: - $ref: "#/components/schemas/timeJoined" - emails: - type: array - items: - $ref: "#/components/schemas/email" - phoneNumbers: - type: array - items: - $ref: "#/components/schemas/phoneNumber" - thirdParty: - type: array - items: - type: object - properties: - id: - $ref: "#/components/schemas/thirdPartyId" - userId: - $ref: "#/components/schemas/thirdPartyUserId" - loginMethods: - type: array - items: - type: object - properties: - tenantIds: - type: array - items: - $ref: "#/components/schemas/tenantId" - recipeUserId: - $ref: "#/components/schemas/userId" - verified: - type: boolean - example: true - timeJoined: - $ref: "#/components/schemas/timeJoined" - recipeId: - $ref: "#/components/schemas/recipeId" - email: - $ref: "#/components/schemas/email" - phoneNumber: - $ref: "#/components/schemas/phoneNumber" - thirdParty: - type: object - properties: - id: - $ref: "#/components/schemas/thirdPartyId" - userId: - $ref: "#/components/schemas/thirdPartyUserId" - recipeId: - type: string - enum: - - emailpassword - - passwordless - - thirdparty - thirdPartyId: - type: string - example: google - thirdPartyUserId: - type: string - example: 106347997792363865062 - email: - type: string - example: johndoe@gmail.com - userId: - type: string - example: fa7a0841-b533-4478-95533-0fde890c3483 - timeJoined: - type: number - example: 1623918032231 - phoneNumber: - type: string - example: "+14155552671" - tenantId: - type: string - example: "customer1" - -servers: - # Added by API Auto Mocking Plugin - - description: SwaggerHub API Auto Mocking - url: https://virtserver.swaggerhub.com/supertokens/DashboardInterface/0.0.0