openapi: 3.0.3 info: title: Stytch B2B Authentication Application API version: 2.0.0 description: Stytch's B2B API for multi-tenant authentication. Supports Organizations, Members, SSO (SAML/OIDC), Magic Links, OTP, OAuth, Discovery, Sessions, B2B RBAC, SCIM, TOTP, Recovery Codes, Passwords, Impersonation, and the B2B IDP. contact: name: Stytch url: https://stytch.com/docs license: name: Proprietary servers: - url: https://api.stytch.com description: Production - url: https://test.stytch.com description: Test tags: - name: Application paths: /pwa/v3/projects: post: summary: Create operationId: pwa_application_v3_Create tags: - Application description: Create creates a project, including both a live and test environment. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_CreateRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_CreateResponse' '400': description: Bad request '401': description: Unauthorized content: application/json: example: status_code: 401 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: unauthorized_credentials error_message: Unauthorized credentials. error_url: https://stytch.com/docs/api/errors/401 '429': description: Too Many Requests content: application/json: example: status_code: 429 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: too_many_requests error_message: Too many requests have been made. error_url: https://stytch.com/docs/api/errors/429 '500': description: Internal server error content: application/json: example: status_code: 500 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: internal_server_error error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong. error_url: https://stytch.com/docs/api/errors/500 get: summary: Getall operationId: pwa_application_v3_GetAll tags: - Application description: GetAll retrieves all projects in a workspace. responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_GetAllResponse' '400': description: Bad request '401': description: Unauthorized content: application/json: example: status_code: 401 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: unauthorized_credentials error_message: Unauthorized credentials. error_url: https://stytch.com/docs/api/errors/401 '429': description: Too Many Requests content: application/json: example: status_code: 429 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: too_many_requests error_message: Too many requests have been made. error_url: https://stytch.com/docs/api/errors/429 '500': description: Internal server error content: application/json: example: status_code: 500 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: internal_server_error error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong. error_url: https://stytch.com/docs/api/errors/500 /pwa/v3/projects/:project_slug: get: summary: Get operationId: pwa_application_v3_Get tags: - Application description: Get retrieves a project. parameters: - name: project_slug in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_GetResponse' '400': description: Bad request '401': description: Unauthorized content: application/json: example: status_code: 401 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: unauthorized_credentials error_message: Unauthorized credentials. error_url: https://stytch.com/docs/api/errors/401 '429': description: Too Many Requests content: application/json: example: status_code: 429 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: too_many_requests error_message: Too many requests have been made. error_url: https://stytch.com/docs/api/errors/429 '500': description: Internal server error content: application/json: example: status_code: 500 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: internal_server_error error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong. error_url: https://stytch.com/docs/api/errors/500 patch: summary: Update operationId: pwa_application_v3_Update tags: - Application description: Update updates the project. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_UpdateRequest' parameters: - name: project_slug in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_UpdateResponse' '400': description: Bad request '401': description: Unauthorized content: application/json: example: status_code: 401 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: unauthorized_credentials error_message: Unauthorized credentials. error_url: https://stytch.com/docs/api/errors/401 '429': description: Too Many Requests content: application/json: example: status_code: 429 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: too_many_requests error_message: Too many requests have been made. error_url: https://stytch.com/docs/api/errors/429 '500': description: Internal server error content: application/json: example: status_code: 500 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: internal_server_error error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong. error_url: https://stytch.com/docs/api/errors/500 delete: summary: Delete operationId: pwa_application_v3_Delete tags: - Application description: Delete deletes a project and all of its environments. parameters: - name: project_slug in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/pwa_application_v3_DeleteResponse' '400': description: Bad request '401': description: Unauthorized content: application/json: example: status_code: 401 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: unauthorized_credentials error_message: Unauthorized credentials. error_url: https://stytch.com/docs/api/errors/401 '429': description: Too Many Requests content: application/json: example: status_code: 429 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: too_many_requests error_message: Too many requests have been made. error_url: https://stytch.com/docs/api/errors/429 '500': description: Internal server error content: application/json: example: status_code: 500 request_id: request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141 error_type: internal_server_error error_message: Oops, something seems to have gone wrong, please reach out to support@stytch.com to let us know what went wrong. error_url: https://stytch.com/docs/api/errors/500 components: schemas: pwa_application_v3_UpdateResponse: type: object properties: request_id: type: string project: $ref: '#/components/schemas/pwa_application_v3_Project' status_code: type: integer format: int32 description: Response type required: - request_id - project - status_code pwa_application_v3_CreateResponse: type: object properties: request_id: type: string project: $ref: '#/components/schemas/pwa_application_v3_Project' status_code: type: integer format: int32 description: Response type required: - request_id - project - status_code api_attribute_v1_Vertical: type: string enum: - ALL - CONSUMER - B2B pwa_application_v3_Project: type: object properties: project_slug: type: string name: type: string vertical: $ref: '#/components/schemas/api_attribute_v1_Vertical' created_at: type: string required: - project_slug - name pwa_application_v3_DeleteResponse: type: object properties: request_id: type: string status_code: type: integer format: int32 description: Response type required: - request_id - status_code pwa_application_v3_GetResponse: type: object properties: request_id: type: string project: $ref: '#/components/schemas/pwa_application_v3_Project' status_code: type: integer format: int32 description: Response type required: - request_id - project - status_code pwa_application_v3_CreateRequest: type: object properties: name: type: string vertical: $ref: '#/components/schemas/api_attribute_v1_Vertical' project_slug: type: string description: Request type required: - name pwa_application_v3_GetAllResponse: type: object properties: request_id: type: string projects: type: array items: $ref: '#/components/schemas/pwa_application_v3_Project' status_code: type: integer format: int32 description: Response type required: - request_id - projects - status_code pwa_application_v3_UpdateRequest: type: object properties: name: type: string description: Request type securitySchemes: basicAuth: type: http scheme: basic