openapi: 3.0.0 info: version: '1' title: Kinde Account API Keys Organizations API description: ' Provides endpoints to operate on an authenticated user. ## Intro ## How to use 1. Get a user access token - this can be obtained when a user signs in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc). 2. Call one of the endpoints below using the user access token in the Authorization header as a Bearer token. Typically, you can use the `getToken` command in the relevant SDK. ' termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/ contact: name: Kinde Support Team email: support@kinde.com url: https://docs.kinde.com tags: - name: Organizations x-displayName: Organizations paths: /api/v1/organization/{org_code}/invites: servers: [] get: tags: - Organizations operationId: getOrganizationInvites x-scope: read:organization_invites summary: Get organization invites description: "Get a list of invitations for an organization. By default, only pending (non-revoked, non-accepted) invitations are returned.\n\n
\n read:organization_invites\n
\n" parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string example: org_1ccfb819462 - name: sort in: query description: Field and order to sort the result by. schema: type: string nullable: true enum: - created_on_asc - created_on_desc - email_asc - email_desc - name_asc - name_desc example: created_on_desc - name: page_size in: query description: Number of results per page. Defaults to 10 if parameter not sent. schema: type: integer nullable: true example: 10 - name: next_token in: query description: A string to get the next page of results if there are more results. schema: type: string nullable: true - name: include_revoked in: query description: Include revoked invitations in the results. schema: type: boolean nullable: true default: false - name: include_accepted in: query description: Include accepted invitations in the results. schema: type: boolean nullable: true default: false responses: '200': description: Invitations successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/get_organization_invites_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] post: tags: - Organizations operationId: createOrganizationInvite x-scope: create:organization_invites summary: Create organization invite description: "Create a new invitation for an organization. An invitation email will be sent to the provided email address if `send_email` is set to `true`.\n\nInvitations cannot be created for organizations that are managed by directory sync; user and role changes for those organizations must be made in the upstream identity provider.\n\nRoles that require an explicit assignment permission cannot be granted to an invitee unless the caller (or the user the token represents) holds that permission. On Kinde-hosted plans, roles outside `owner`/`admin` additionally require the `extended_roles` entitlement.\n\nPer-organization rate limits apply: a maximum number of invitations may be created per rolling 24 hour window, and a maximum number of active (non-accepted, non-revoked) invitations may exist at any time. Requests that exceed either limit are rejected.\n\n
\n create:organization_invites\n
\n" parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string example: org_1ccfb819462 requestBody: description: Invitation details. `email` is capped at 254 characters (RFC 5321). `first_name` and `last_name` are capped at 64 characters each. Inputs over these limits are rejected with `EMAIL_TOO_LONG`, `FIRST_NAME_TOO_LONG`, or `LAST_NAME_TOO_LONG`. required: true content: application/json: schema: type: object required: - email - roles properties: email: description: The email address of the user to invite. Maximum 254 characters. type: string maxLength: 254 example: user@example.com first_name: description: The first name of the user to invite. Maximum 64 characters. type: string maxLength: 64 nullable: true example: John last_name: description: The last name of the user to invite. Maximum 64 characters. type: string maxLength: 64 nullable: true example: Doe roles: description: Array of role keys to assign to the user. type: array items: type: string example: - admin - manager send_email: description: Whether to send an invitation email to the user. Defaults to false. type: boolean default: false responses: '201': description: Invitation successfully created. content: application/json: schema: $ref: '#/components/schemas/create_organization_invite_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organization/{org_code}/invites/{invite_code}: servers: [] get: tags: - Organizations operationId: getOrganizationInvite x-scope: read:organization_invites summary: Get organization invite description: "Get details of a specific invitation by its code.\n\n
\n read:organization_invites\n
\n" parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string example: org_1ccfb819462 - name: invite_code in: path description: The invitation's code. required: true schema: type: string example: inv_abc123def456 responses: '200': description: Invitation successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/get_organization_invite_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: deleteOrganizationInvite x-scope: delete:organization_invites summary: Delete organization invite description: "Revoke (delete) an invitation. This will mark the invitation as revoked and prevent it from being accepted.\n\n
\n delete:organization_invites\n
\n" parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string example: org_1ccfb819462 - name: invite_code in: path description: The invitation's code. required: true schema: type: string example: inv_abc123def456 responses: '200': description: Invitation successfully revoked. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organization: servers: [] get: tags: - Organizations operationId: getOrganization x-scope: read:organizations summary: Get organization description: "Retrieve organization details by code.\n\n
\n read:organizations\n
\n" parameters: - in: query name: code description: The organization's code. schema: type: string example: org_1ccfb819462 - in: query name: expand description: 'Additional data to include in the response. Allowed value: "billing".' schema: type: string example: billing responses: '200': description: Organization successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/get_organization_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] post: tags: - Organizations operationId: createOrganization x-scope: create:organizations summary: Create organization description: "Create a new organization. To learn more read about [multi tenancy using organizations](https://docs.kinde.com/build/organizations/multi-tenancy-using-organizations/)\n\n
\n create:organizations\n
\n" requestBody: description: Organization details. required: true content: application/json: schema: type: object required: - name properties: name: description: The organization's name. type: string example: Acme Corp feature_flags: type: object description: The organization's feature flag settings. additionalProperties: type: string enum: - str - int - bool description: Value of the feature flag. external_id: description: The organization's external identifier - commonly used when migrating from or mapping to other systems. type: string example: some1234 background_color: description: The organization's brand settings - background color. type: string button_color: description: The organization's brand settings - button color. type: string button_text_color: description: The organization's brand settings - button text color. type: string link_color: description: The organization's brand settings - link color. type: string background_color_dark: description: The organization's brand settings - dark mode background color. type: string button_color_dark: description: The organization's brand settings - dark mode button color. type: string button_text_color_dark: description: The organization's brand settings - dark mode button text color. type: string link_color_dark: description: The organization's brand settings - dark mode link color. type: string theme_code: description: The organization's brand settings - theme/mode 'light' | 'dark' | 'user_preference'. type: string handle: description: A unique handle for the organization - can be used for dynamic callback urls. type: string example: acme_corp is_allow_registrations: deprecated: true description: Deprecated - Use 'is_auto_membership_enabled' instead. type: boolean example: true is_auto_membership_enabled: description: If users become members of this organization when the org code is supplied during authentication. type: boolean example: true sender_name: nullable: true type: string example: Acme Corp description: The name of the organization that will be used in emails sender_email: nullable: true type: string example: hello@acmecorp.com description: The email address that will be used in emails. Requires custom SMTP to be set up. is_create_billing_customer: type: boolean example: false description: If a billing customer is also created for this organization billing_email: type: string example: billing@acmecorp.com description: The email address used for billing purposes for the organization billing_plan_code: type: string example: pro description: The billing plan to put the customer on. If not specified, the default plan is used responses: '200': description: Organization successfully created. content: application/json: schema: $ref: '#/components/schemas/create_organization_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations: servers: [] get: tags: - Organizations operationId: getOrganizations x-scope: read:organizations summary: Get organizations description: "Get a list of organizations.\n\n
\n read:organizations\n
\n" parameters: - name: sort in: query description: Field and order to sort the result by. schema: type: string nullable: true enum: - name_asc - name_desc - email_asc - email_desc - name: page_size in: query description: Number of results per page. Defaults to 10 if parameter not sent. schema: type: integer nullable: true - name: next_token in: query description: A string to get the next page of results if there are more results. schema: type: string nullable: true responses: '200': description: Organizations successfully retreived. content: application/json: schema: $ref: '#/components/schemas/get_organizations_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organization/{org_code}: servers: [] patch: tags: - Organizations operationId: updateOrganization description: "Update an organization.\n\n
\n update:organizations\n
\n" summary: Update Organization parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string example: org_1ccfb819462 - name: expand in: query description: 'Additional data to include in the response. Allowed value: "billing".' required: false schema: type: string nullable: true enum: - billing requestBody: description: Organization details. required: false content: application/json: schema: type: object properties: name: description: The organization's name. type: string example: Acme Corp external_id: description: The organization's ID. type: string example: some1234 background_color: description: The organization's brand settings - background color. type: string example: '#fff' button_color: description: The organization's brand settings - button color. type: string example: '#fff' button_text_color: description: The organization's brand settings - button text color. type: string example: '#fff' link_color: description: The organization's brand settings - link color. type: string example: '#fff' background_color_dark: description: The organization's brand settings - dark mode background color. type: string example: '#000' button_color_dark: description: The organization's brand settings - dark mode button color. type: string example: '#000' button_text_color_dark: description: The organization's brand settings - dark mode button text color. type: string example: '#000' link_color_dark: description: The organization's brand settings - dark mode link color. type: string example: '#000' theme_code: description: The organization's brand settings - theme/mode. type: string enum: - light - dark - user_preference example: light handle: description: The organization's handle. type: string example: acme_corp is_allow_registrations: deprecated: true description: Deprecated - Use 'is_auto_membership_enabled' instead. type: boolean is_auto_membership_enabled: description: If users become members of this organization when the org code is supplied during authentication. type: boolean example: true is_auto_join_domain_list: description: Users can sign up to this organization. type: boolean example: true allowed_domains: description: Domains allowed for self-sign up to this environment. type: array example: - https://acme.kinde.com - https://acme.com items: type: string is_enable_advanced_orgs: description: Activate advanced organization features. type: boolean example: true is_enforce_mfa: description: Enforce MFA for all users in this organization. type: boolean example: true sender_name: nullable: true type: string example: Acme Corp description: The name of the organization that will be used in emails sender_email: nullable: true type: string example: hello@acmecorp.com description: The email address that will be used in emails. Requires custom SMTP to be set up. is_suspended: type: boolean description: Whether to suspend or unsuspend the organization. Setting to true suspends the organization; setting to false unsuspends it. The default organization cannot be suspended. example: false responses: '200': description: Organization successfully updated. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: deleteOrganization description: "Delete an organization.\n\n
\n delete:organizations\n
\n" summary: Delete Organization parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string responses: '200': description: Organization successfully deleted. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users: servers: [] get: tags: - Organizations operationId: GetOrganizationUsers x-scope: read:organization_users summary: Get organization users description: "Get user details for all members of an organization.\n\n
\n read:organization_users\n
\n" parameters: - name: sort in: query description: Field and order to sort the result by. schema: example: email_asc type: string nullable: true enum: - name_asc - name_desc - email_asc - email_desc - id_asc - id_desc - name: page_size in: query description: Number of results per page. Defaults to 10 if parameter not sent. schema: example: 10 type: integer nullable: true - name: next_token in: query description: A string to get the next page of results if there are more results. schema: example: MTo6OmlkX2FzYw== type: string nullable: true - name: org_code in: path description: The organization's code. required: true schema: example: org_1ccfb819462 type: string nullable: false - name: permissions in: query description: Filter by user permissions comma separated (where all match) schema: example: admin type: string - name: roles in: query description: Filter by user roles comma separated (where all match) schema: example: manager type: string responses: '200': description: A successful response with a list of organization users or an empty list. content: application/json: schema: $ref: '#/components/schemas/get_organization_users_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] post: tags: - Organizations operationId: AddOrganizationUsers description: "Add existing users to an organization.\n\n
\n create:organization_users\n
\n" summary: Add Organization Users parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false requestBody: required: false content: application/json: schema: type: object properties: users: description: Users to be added to the organization. type: array items: type: object properties: id: description: The users id. type: string example: kp_057ee6debc624c70947b6ba512908c35 roles: description: Role keys to assign to the user. type: array items: type: string example: manager permissions: description: Permission keys to assign to the user. type: array items: type: string example: admin responses: '200': description: Add organization users request successfully processed. content: application/json: schema: $ref: '#/components/schemas/add_organization_users_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] patch: tags: - Organizations operationId: UpdateOrganizationUsers description: "Update users that belong to an organization.\n\n
\n update:organization_users\n
\n" summary: Update Organization Users parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false requestBody: required: false content: application/json: schema: type: object properties: users: description: Users to add, update or remove from the organization. type: array items: type: object properties: id: description: The users id. type: string example: kp_057ee6debc624c70947b6ba512908c35 operation: description: Optional operation, set to 'delete' to remove the user from the organization. type: string example: delete roles: description: Role keys to assign to the user. type: array items: type: string example: manager permissions: description: Permission keys to assign to the user. type: array items: type: string example: admin responses: '200': description: Users successfully removed. content: application/json: schema: $ref: '#/components/schemas/update_organization_users_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/roles: servers: [] get: tags: - Organizations operationId: GetOrganizationUserRoles x-scope: read:organization_user_roles description: "Get roles for an organization user.\n\n
\n read:organization_user_roles\n
\n" summary: List Organization User Roles parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false responses: '200': description: A successful response with a list of user roles. content: application/json: schema: $ref: '#/components/schemas/get_organizations_user_roles_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/get_organizations_user_roles_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] post: tags: - Organizations operationId: CreateOrganizationUserRole description: "Add role to an organization user.\n\n
\n create:organization_user_roles\n
\n" summary: Add Organization User Role parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false requestBody: description: Role details. required: true content: application/json: schema: type: object properties: role_id: description: The role id. type: string responses: '200': description: Role successfully added. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id}: servers: [] delete: tags: - Organizations operationId: DeleteOrganizationUserRole description: "Delete role for an organization user.\n\n
\n delete:organization_user_roles\n
\n" summary: Delete Organization User Role parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false - name: role_id in: path description: The role id. required: true schema: type: string nullable: false responses: '200': description: User successfully removed. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Error creating user. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/permissions: servers: [] get: tags: - Organizations operationId: GetOrganizationUserPermissions x-scope: read:organization_user_permissions description: "Get permissions for an organization user.\n\n
\n read:organization_user_permissions\n
\n" summary: List Organization User Permissions parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false - name: expand in: query description: 'Additional data to include in the response. Allowed value: "roles".' required: false schema: type: string nullable: true responses: '200': description: A successful response with a list of user permissions. content: application/json: schema: $ref: '#/components/schemas/get_organizations_user_permissions_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/get_organizations_user_permissions_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] post: tags: - Organizations operationId: CreateOrganizationUserPermission description: "Add permission to an organization user.\n\n
\n create:organization_user_permissions\n
\n" summary: Add Organization User Permission parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false requestBody: description: Permission details. required: true content: application/json: schema: type: object properties: permission_id: description: The permission id. type: string responses: '200': description: User permission successfully updated. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id}: servers: [] delete: tags: - Organizations operationId: DeleteOrganizationUserPermission description: "Delete permission for an organization user.\n\n
\n delete:organization_user_permissions\n
\n" summary: Delete Organization User Permission parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false - name: permission_id in: path description: The permission id. required: true schema: type: string nullable: false responses: '200': description: User successfully removed. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Error creating user. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}: servers: [] delete: tags: - Organizations operationId: RemoveOrganizationUser description: "Remove user from an organization.\n\n
\n delete:organization_users\n
\n" summary: Remove Organization User parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false - name: user_id in: path description: The user's id. required: true schema: type: string nullable: false responses: '200': description: User successfully removed from organization content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Error removing user content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/apis/{api_id}/scopes/{scope_id}: servers: [] post: tags: - Organizations operationId: addOrganizationUserAPIScope summary: Add scope to organization user api parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string - name: user_id in: path description: User ID required: true schema: type: string nullable: false example: kp_5ce676e5d6a24bc9aac2fba35a46e958 - name: api_id in: path description: API ID required: true schema: type: string nullable: false example: 838f208d006a482dbd8cdb79a9889f68 - name: scope_id in: path description: Scope ID required: true schema: type: string nullable: false example: api_scope_019391daf58d87d8a7213419c016ac95 description: "Add a scope to an organization user api.\n\n
\n create:organization_user_api_scopes\n
\n" responses: '200': description: API scope successfully added to organization user api '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: deleteOrganizationUserAPIScope summary: Delete scope from organization user API parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string - name: user_id in: path description: User ID required: true schema: type: string nullable: false example: kp_5ce676e5d6a24bc9aac2fba35a46e958 - name: api_id in: path description: API ID required: true schema: type: string nullable: false example: 838f208d006a482dbd8cdb79a9889f68 - name: scope_id in: path description: Scope ID required: true schema: type: string nullable: false example: api_scope_019391daf58d87d8a7213419c016ac95 description: "Delete a scope from an organization user api you previously created.\n\n
\n delete:organization_user_api_scopes\n
\n" responses: '200': description: Organization user API scope successfully deleted. '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/mfa: servers: [] get: tags: - Organizations operationId: GetOrgUserMFA description: "Get an organization user’s MFA configuration.\n\n
\n read:organization_user_mfa\n
\n" summary: Get an organization user's MFA configuration parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string example: org_1ccfb819462 - name: user_id in: path description: The identifier for the user required: true schema: type: string example: kp_c3143a4b50ad43c88e541d9077681782 responses: '200': description: Successfully retrieve user's MFA configuration. content: application/json: schema: $ref: '#/components/schemas/get_user_mfa_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: ResetOrgUserMFAAll description: "Reset all organization MFA factors for a user.\n\n
\n delete:organization_user_mfa\n
\n" summary: Reset all organization MFA for a user parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string example: org_1ccfb819462 - name: user_id in: path description: The identifier for the user required: true schema: type: string example: kp_c3143a4b50ad43c88e541d9077681782 responses: '200': description: User's MFA successfully reset. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/users/{user_id}/mfa/{factor_id}: servers: [] delete: tags: - Organizations operationId: ResetOrgUserMFA description: "Reset a specific organization MFA factor for a user.\n\n
\n delete:organization_user_mfa\n
\n" summary: Reset specific organization MFA for a user parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string example: org_1ccfb819462 - name: user_id in: path description: The identifier for the user required: true schema: type: string example: kp_c3143a4b50ad43c88e541d9077681782 - name: factor_id in: path description: The identifier for the MFA factor required: true schema: type: string example: mfa_0193278a00ac29b3f6d4e4d462d55c47 responses: '200': description: User's MFA successfully reset. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/feature_flags: servers: [] get: tags: - Organizations operationId: GetOrganizationFeatureFlags x-scope: read:organization_feature_flags description: "Get all organization feature flags.\n\n
\n read:organization_feature_flags\n
\n" summary: List Organization Feature Flags parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string responses: '200': description: Feature flag overrides successfully returned. content: application/json: schema: $ref: '#/components/schemas/get_organization_feature_flags_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/get_organization_feature_flags_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: DeleteOrganizationFeatureFlagOverrides description: "Delete all organization feature flag overrides.\n\n
\n delete:organization_feature_flags\n
\n" summary: Delete Organization Feature Flag Overrides parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string responses: '200': description: Feature flag overrides successfully deleted. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}: servers: [] delete: tags: - Organizations operationId: DeleteOrganizationFeatureFlagOverride description: "Delete organization feature flag override.\n\n
\n delete:organization_feature_flags\n
\n" summary: Delete Organization Feature Flag Override parameters: - name: org_code in: path description: The identifier for the organization. required: true schema: type: string - name: feature_flag_key in: path description: The identifier for the feature flag. required: true schema: type: string responses: '200': description: Feature flag override successfully deleted. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] patch: tags: - Organizations operationId: UpdateOrganizationFeatureFlagOverride description: "Update organization feature flag override.\n\n
\n update:organization_feature_flags\n
\n" summary: Update Organization Feature Flag Override parameters: - name: org_code in: path description: The identifier for the organization required: true schema: type: string - name: feature_flag_key in: path description: The identifier for the feature flag required: true schema: type: string - name: value in: query description: Override value required: true schema: type: string responses: '200': description: Feature flag override successfully updated. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/properties/{property_key}: servers: [] put: tags: - Organizations operationId: UpdateOrganizationProperty description: "Update organization property value.\n\n
\n update:organization_properties\n
\n" summary: Update Organization Property value parameters: - name: org_code in: path description: The identifier for the organization required: true schema: type: string - name: property_key in: path description: The identifier for the property required: true schema: type: string - name: value in: query description: The new property value required: true schema: type: string responses: '200': description: Property successfully updated. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/properties: servers: [] get: tags: - Organizations operationId: GetOrganizationPropertyValues description: "Gets properties for an organization by org code.\n\n
\n read:organization_properties\n
\n" summary: Get Organization Property Values parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false responses: '200': description: Properties successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/get_property_values_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/get_property_values_response' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] patch: tags: - Organizations operationId: UpdateOrganizationProperties description: "Update organization property values.\n\n
\n update:organization_properties\n
\n" summary: Update Organization Property values parameters: - name: org_code in: path description: The identifier for the organization required: true schema: type: string requestBody: description: Properties to update. required: true content: application/json: schema: type: object properties: properties: description: Property keys and values type: object nullable: false required: - properties responses: '200': description: Properties successfully updated. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/mfa: servers: [] put: tags: - Organizations operationId: ReplaceOrganizationMFA description: "Replace Organization MFA Configuration.\n\n
\n update:organization_mfa\n
\n" summary: Replace Organization MFA Configuration parameters: - name: org_code in: path description: The identifier for the organization required: true schema: type: string requestBody: description: MFA details. required: true content: application/json: schema: type: object properties: enabled_factors: description: The MFA methods to enable. type: array nullable: false items: type: string enum: - mfa:email - mfa:sms - mfa:authenticator_app is_recovery_codes_enabled: description: Determines whether recovery codes are shown to users during MFA setup for this specific organization. This overrides the environment-level setting. type: boolean default: true required: - enabled_factors responses: '200': description: MFA Configuration updated successfully. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organization/{org_code}/handle: servers: [] delete: tags: - Organizations operationId: DeleteOrganizationHandle description: "Delete organization handle\n\n
\n delete:organization_handles\n
\n" summary: Delete organization handle parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false responses: '200': description: Handle successfully deleted. content: application/json: schema: $ref: '#/components/schemas/success_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/success_response' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/error_response' application/json; charset=utf-8: schema: $ref: '#/components/schemas/error_response' '403': description: Invalid credentials. '429': description: Request was throttled. security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/logos: servers: [] get: tags: - Organizations operationId: ReadOrganizationLogo description: "Read organization logo details\n\n
\n read:organizations\n
\n" summary: Read organization logo details parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false example: org_1ccfb819462 responses: '200': description: Successfully retrieved organization logo details content: application/json: schema: $ref: '#/components/schemas/read_logo_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/logos/{type}: servers: [] post: tags: - Organizations operationId: AddOrganizationLogo description: "Add organization logo\n\n
\n update:organizations\n
\n" summary: Add organization logo parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false example: org_1ccfb819462 - name: type in: path description: The type of logo to add. required: true schema: type: string example: dark enum: - dark - light requestBody: description: Organization logo details. required: true content: multipart/form-data: schema: type: object required: - logo properties: logo: type: string format: binary description: The logo file to upload. responses: '200': description: Organization logo successfully updated content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: DeleteOrganizationLogo description: "Delete organization logo\n\n
\n update:organizations\n
\n" summary: Delete organization logo parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false example: org_1ccfb819462 - name: type in: path description: The type of logo to delete. required: true schema: type: string example: dark enum: - dark - light responses: '200': description: Organization logo successfully deleted content: application/json: schema: $ref: '#/components/schemas/success_response' '204': description: No logo found to delete '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{organization_code}/connections: servers: [] get: tags: - Organizations operationId: GetOrganizationConnections description: "Gets all connections for an organization.\n\n
\n read:organization_connections\n
\n" summary: Get connections parameters: - name: organization_code in: path description: The organization code. required: true schema: type: string nullable: false example: org_7d45b01ef13 responses: '200': description: Organization connections successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/get_connections_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{organization_code}/connections/{connection_id}: servers: [] post: tags: - Organizations operationId: EnableOrgConnection summary: Enable connection description: "Enable an auth connection for an organization.\n\n
\n create:organization_connections\n
\n" parameters: - name: organization_code in: path description: The unique code for the organization. required: true schema: type: string example: org_7d45b01ef13 - name: connection_id in: path description: The identifier for the connection. required: true schema: type: string example: conn_0192c16abb53b44277e597d31877ba5b responses: '200': description: Connection successfully enabled. '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] delete: tags: - Organizations operationId: RemoveOrgConnection summary: Remove connection description: "Turn off an auth connection for an organization\n\n
\n delete:organization_connections\n
\n" parameters: - name: organization_code in: path description: The unique code for the organization. required: true schema: type: string example: org_7d45b01ef13 - name: connection_id in: path description: The identifier for the connection. required: true schema: type: string example: conn_0192c16abb53b44277e597d31877ba5b responses: '200': description: Connection successfully removed. content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] /api/v1/organizations/{org_code}/sessions: servers: [] patch: tags: - Organizations operationId: UpdateOrganizationSessions description: "Update the organization's session configuration.\n\n
\n update:organizations\n
\n" summary: Update organization session configuration parameters: - name: org_code in: path description: The organization's code. required: true schema: type: string nullable: false example: org_1ccfb819462 requestBody: description: Organization session configuration. required: true content: application/json: schema: type: object properties: is_use_org_sso_session_policy: type: boolean description: Whether to use the organization's SSO session policy override. sso_session_persistence_mode: type: string enum: - persistent - non_persistent description: Determines if the session should be persistent or not. is_use_org_authenticated_session_lifetime: type: boolean description: Whether to apply the organization's authenticated session lifetime override. authenticated_session_lifetime: type: integer description: Authenticated session lifetime in seconds. example: 86400 responses: '200': description: Organization sessions successfully updated content: application/json: schema: $ref: '#/components/schemas/success_response' '400': $ref: '#/components/responses/bad_request' '403': $ref: '#/components/responses/forbidden' '429': $ref: '#/components/responses/too_many_requests' security: - kindeBearerAuth: [] components: schemas: read_logo_response: type: object properties: code: type: string description: Response code. example: OK logos: type: array description: A list of logos. items: type: object properties: type: type: string description: The type of logo (light or dark). example: light file_name: type: string description: The name of the logo file. example: kinde_light.jpeg path: type: string description: The relative path to the logo file. example: /logo?p_org_code=org_1767f11ce62 message: type: string description: Response message. example: Success organization_user_role: type: object properties: id: type: string key: type: string name: type: string get_organization_users_response: type: object properties: code: type: string description: Response code. example: OK message: type: string description: Response message. example: Success organization_users: type: array items: $ref: '#/components/schemas/organization_user' next_token: type: string description: Pagination token. property_value: type: object properties: id: type: string example: prop_0192b7e8b4f8ca08110d2b22059662a8 name: type: string example: Town description: type: string example: Where the entity is located nullable: true key: type: string example: kp_town value: type: string example: West-side Staines massive nullable: true error_response: type: object properties: errors: type: array items: $ref: '#/components/schemas/error' get_connections_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. connections: type: array items: $ref: '#/components/schemas/connection' has_more: description: Whether more records exist. type: boolean get_organizations_user_permissions_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. permissions: type: array items: $ref: '#/components/schemas/organization_user_permission' get_organizations_response: type: object properties: code: type: string description: Response code. example: OK message: type: string description: Response message. example: Success organizations: type: array items: $ref: '#/components/schemas/organization_item_schema' next_token: description: Pagination token. type: string example: Mjo5Om1hbWVfYZNj get_organization_invites_response: type: object properties: code: type: string description: Response code. example: OK message: type: string description: Response message. example: Success invites: type: array items: $ref: '#/components/schemas/organization_invite' next_token: type: string description: Pagination token. nullable: true get_property_values_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. properties: type: array items: $ref: '#/components/schemas/property_value' next_token: description: Pagination token. type: string create_organization_invite_response: type: object properties: code: type: string description: Response code. example: INVITATION_CREATED message: type: string description: Response message. example: Invitation created invite: type: object properties: id: type: string description: The invitation's unique identifier. example: inv_abc123def456 code: type: string description: The invitation's code. example: inv_abc123def456 email: type: string description: The email address of the invited user. example: user@example.com first_name: type: string description: The first name of the invited user. nullable: true example: John last_name: type: string description: The last name of the invited user. nullable: true example: Doe full_name: type: string description: The full name of the invited user. example: John Doe created_on: type: string format: date-time description: When the invitation was created. example: '2024-11-18T13:32:03+11' is_sent: type: boolean description: Whether the invitation email was sent. example: true accepted_on: type: string format: date-time description: When the invitation was accepted. Always null for a freshly created invitation. nullable: true example: null roles: type: array description: The roles assigned to the invitation. items: type: object properties: key: type: string description: The role's key. example: admin name: type: string description: The role's name. example: Administrator example: - key: admin name: Administrator - key: manager name: Manager is_revoked: type: boolean description: Whether the invitation has been revoked. Always false for a freshly created invitation. example: false invite_link: type: string description: URL to share with the invitee to accept the invitation. example: https://example.kinde.com/team_invitation?code=inv_abc123def456 not_found_response: type: object properties: errors: type: object properties: code: type: string example: ROUTE_NOT_FOUND message: type: string example: The requested API route does not exist get_organizations_user_roles_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. roles: type: array items: $ref: '#/components/schemas/organization_user_role' next_token: type: string description: Pagination token. update_organization_users_response: type: object properties: message: type: string example: Success code: type: string example: OK users_added: type: array items: type: string example: kp_057ee6debc624c70947b6ba512908c35 users_updated: type: array items: type: string example: kp_057ee6debc624c70947b6ba512908c35 users_removed: type: array items: type: string example: kp_057ee6debc624c70947b6ba512908c35 get_organization_response: type: object properties: code: type: string description: The unique identifier for the organization. example: org_1ccfb819462 name: type: string description: The organization's name. example: Acme Corp handle: type: string description: A unique handle for the organization - can be used for dynamic callback urls. example: acme_corp nullable: true is_default: type: boolean description: Whether the organization is the default organization. example: false external_id: type: string description: The organization's external identifier - commonly used when migrating from or mapping to other systems. example: some1234 nullable: true is_auto_membership_enabled: type: boolean example: true description: If users become members of this organization when the org code is supplied during authentication. logo: type: string nullable: true description: The organization's logo URL. example: https://yoursubdomain.kinde.com/logo?org_code=org_1ccfb819462&cache=311308b8ad3544bf8e572979f0e5748d logo_dark: type: string nullable: true description: The organization's logo URL to be used for dark themes. example: https://yoursubdomain.kinde.com/logo_dark?org_code=org_1ccfb819462&cache=311308b8ad3544bf8e572979f0e5748d favicon_svg: type: string nullable: true description: The organization's SVG favicon URL. Optimal format for most browsers example: https://yoursubdomain.kinde.com/favicon_svg?org_code=org_1ccfb819462&cache=311308b8ad3544bf8e572979f0e5748d favicon_fallback: type: string nullable: true description: The favicon URL to be used as a fallback in browsers that don't support SVG, add a PNG example: https://yoursubdomain.kinde.com/favicon_fallback?org_code=org_1ccfb819462&cache=311308b8ad3544bf8e572979f0e5748d allowed_domains: type: array description: Domains allowed for self-sign up to this environment. Empty array means no restrictions. example: - https://acme.kinde.com - https://acme.com items: type: string link_color: type: object nullable: true properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) background_color: nullable: true type: object properties: raw: type: string example: '#ffffff' hex: type: string example: '#ffffff' hsl: type: string example: hsl(0, 0%, 100%) button_color: nullable: true type: object properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) button_text_color: nullable: true type: object properties: raw: type: string example: '#ffffff' hex: type: string example: '#ffffff' hsl: type: string example: hsl(0, 0%, 100%) link_color_dark: type: object nullable: true properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) background_color_dark: type: object nullable: true properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) button_text_color_dark: type: object nullable: true properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) button_color_dark: type: object nullable: true properties: raw: type: string example: '#0056F1' hex: type: string example: '#0056F1' hsl: type: string example: hsl(220, 100%, 50%) button_border_radius: type: integer nullable: true description: The border radius for buttons. Value is px, Kinde transforms to rem for rendering example: 8 card_border_radius: type: integer nullable: true description: The border radius for cards. Value is px, Kinde transforms to rem for rendering example: 16 input_border_radius: type: integer nullable: true description: The border radius for inputs. Value is px, Kinde transforms to rem for rendering example: 4 theme_code: type: string description: Whether the environment is forced into light mode, dark mode or user preference enum: - light - dark - user_preference color_scheme: type: string description: The color scheme for the environment used for meta tags based on the theme code enum: - light - dark - light dark created_on: type: string description: Date of organization creation in ISO 8601 format. example: '2021-01-01T00:00:00Z' is_allow_registrations: nullable: true type: boolean example: true deprecated: true description: Deprecated - Use 'is_auto_membership_enabled' instead sender_name: nullable: true type: string example: Acme Corp description: The name of the organization that will be used in emails sender_email: nullable: true type: string example: hello@acmecorp.com description: The email address that will be used in emails. Requires custom SMTP to be set up. is_suspended: type: boolean description: Whether the organization is currently suspended or not. example: false suspended_on: type: string description: The date the organization was suspended in ISO 8601 format. Null if not suspended. nullable: true example: '2021-01-01T00:00:00Z' billing: type: object description: The billing information if the organization is a billing customer. properties: billing_customer_id: type: string agreements: type: array description: The billing agreements the billing customer is currently subscribed to items: type: object properties: plan_code: type: string example: pro description: The code of the plan from which this agreement is taken from agreement_id: type: string example: agreement_a1234b description: The id of the billing agreement in Kinde success_response: type: object properties: message: type: string example: Success code: type: string example: OK add_organization_users_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. users_added: type: array items: type: string get_organization_feature_flags_response: type: object properties: code: type: string description: Response code. message: type: string description: Response message. feature_flags: type: object description: The environment's feature flag settings. additionalProperties: type: object properties: type: type: string enum: - str - int - bool value: type: string get_user_mfa_response: type: object properties: message: type: string code: type: string mfa: type: object properties: id: description: The MFA's identifier. type: string example: mfa_01933d1ca1f093e7fad48ebcdb65a871 type: description: The type of MFA (e.g. email, SMS, authenticator app). type: string example: email created_on: description: The timestamp when the MFA was created. type: string format: date-time example: '2024-11-18T13:31:46.795085+11:00' name: description: The identifier used for MFA (e.g. email address, phone number). type: string example: sally@gmail.com is_verified: description: Whether the MFA is verified or not. type: boolean example: true usage_count: description: The number of times MFA has been used. type: integer example: 2 last_used_on: description: The timestamp when the MFA was last used. type: string format: date-time example: '2024-11-18T13:32:07.22538+11:00' get_organization_invite_response: type: object properties: message: type: string description: Response message. example: Success id: type: string description: The invitation's unique identifier. example: inv_abc123def456 code: type: string description: The invitation's code. example: inv_abc123def456 email: type: string description: The email address of the invited user. example: user@example.com first_name: type: string description: The first name of the invited user. nullable: true example: John last_name: type: string description: The last name of the invited user. nullable: true example: Doe full_name: type: string description: The full name of the invited user. example: John Doe created_on: type: string format: date-time description: When the invitation was created. example: '2024-11-18T13:32:03+11' is_sent: type: boolean description: Whether the invitation email was sent. example: true accepted_on: type: string format: date-time description: When the invitation was accepted. nullable: true example: '2024-11-19T10:15:30+11' roles: type: array description: The roles assigned to the invitation. items: type: object properties: key: type: string description: The role's key. example: admin name: type: string description: The role's name. example: Administrator example: - key: admin name: Administrator - key: manager name: Manager is_revoked: type: boolean description: Whether the invitation has been revoked. example: false invite_link: type: string description: URL to share with the invitee to accept the invitation. example: https://example.kinde.com/team_invitation?code=inv_abc123def456 organization_user_permission: type: object properties: id: type: string key: type: string name: type: string description: type: string roles: type: array items: type: object properties: id: type: string key: type: string organization_invite: type: object properties: id: type: string description: The invitation's unique identifier. example: inv_abc123def456 code: type: string description: The invitation's code. example: inv_abc123def456 email: type: string description: The email address of the invited user. example: user@example.com first_name: type: string description: The first name of the invited user. nullable: true example: John last_name: type: string description: The last name of the invited user. nullable: true example: Doe full_name: type: string description: The full name of the invited user. example: John Doe created_on: type: string format: date-time description: When the invitation was created. example: '2024-11-18T13:32:03+11' is_sent: type: boolean description: Whether the invitation email was sent. example: true accepted_on: type: string format: date-time description: When the invitation was accepted. nullable: true example: '2024-11-19T10:15:30+11' roles: type: array description: The roles assigned to the invitation. items: type: object properties: key: type: string description: The role's key. example: admin name: type: string description: The role's name. example: Administrator example: - key: admin name: Administrator - key: manager name: Manager is_revoked: type: boolean description: Whether the invitation has been revoked. example: false invite_link: type: string description: URL to share with the invitee to accept the invitation. example: https://example.kinde.com/team_invitation?code=inv_abc123def456 error: type: object properties: code: type: string description: Error code. message: type: string description: Error message. create_organization_response: type: object properties: message: type: string description: Response message. example: Success code: type: string description: Response code. example: OK organization: type: object properties: code: description: The organization's unique code. type: string example: org_1ccfb819462 billing_customer_id: description: The billing customer id if the organization was created with the is_create_billing_customer as true type: string example: customer_1245adbc6789 connection: type: object properties: code: type: string description: Response code. message: type: string description: Response message. connection: type: object properties: id: type: string name: type: string display_name: type: string strategy: type: string organization_user: type: object properties: id: type: string example: kp:97c2ba24217d48e3b96a799b76cf2c74 description: The unique ID for the user. nullable: true email: type: string example: john.snow@example.com description: The user's email address. nullable: true full_name: type: string example: John Snow description: The user's full name. last_name: type: string example: Snow description: The user's last name. nullable: true first_name: type: string example: John description: The user's first name. nullable: true picture: type: string example: https://example.com/john_snow.jpg description: The user's profile picture URL. nullable: true joined_on: type: string example: '2021-01-01T00:00:00Z' description: The date the user joined the organization. last_accessed_on: type: string example: '2022-01-01T00:00:00Z' description: The date the user last accessed the organization. nullable: true is_suspended: type: boolean description: Whether the user is currently suspended or not. example: false roles: type: array description: The roles the user has in the organization. items: type: string example: admin description: The role's key. organization_item_schema: type: object properties: code: type: string description: The unique identifier for the organization. example: org_1ccfb819462 name: type: string description: The organization's name. example: Acme Corp handle: type: string description: A unique handle for the organization - can be used for dynamic callback urls. example: acme_corp nullable: true is_default: type: boolean description: Whether the organization is the default organization. example: false external_id: type: string description: The organization's external identifier - commonly used when migrating from or mapping to other systems. example: some1234 nullable: true is_auto_membership_enabled: type: boolean example: true description: If users become members of this organization when the org code is supplied during authentication. responses: bad_request: description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/error_response' too_many_requests: description: Too many requests. Request was throttled. content: application/json: schema: $ref: '#/components/schemas/error_response' not_found: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/not_found_response' forbidden: description: Unauthorized - invalid credentials. content: application/json: schema: $ref: '#/components/schemas/error_response' securitySchemes: kindeBearerAuth: description: 'To access these endpoints, you will need to use a user token. This can be obtained when your users sign in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc). Find this using the getToken command in the relevant SDK. ' type: http scheme: bearer bearerFormat: JWT