Kinde · Arazzo Workflow

Kinde Provision User into Organization

Version 1.0.0

Create a user, add them to an organization, and grant a role in one pass.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AuthenticationAuthorizationCustomer IdentityIdentity ManagementOpenID ConnectSingle Sign-OnMulti-Factor AuthenticationRole-Based Access ControlFeature FlagsBillingB2BSoftware-as-a-ServiceDeveloper PlatformArazzoWorkflows

Provider

kinde

Workflows

provision-user
Create a user and onboard them into an organization with a role.
Creates a user with a verified email identity, adds the user to the supplied organization with one or more role keys, then reads back the user's organization roles to verify the grant.
3 steps inputs: email, familyName, givenName, orgCode, roleKeys outputs: assignedRoles, userId
1
createUser
Create the user record with a verified email identity. Returns the Kinde user id used by every following step.
2
addUserToOrganization
Add the freshly created user to the organization, assigning the supplied role keys at the same time.
3
verifyOrganizationRoles
Read back the roles assigned to the user within the organization to confirm the onboarding completed as expected.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Kinde Provision User into Organization
  summary: Create a user, add them to an organization, and grant a role in one pass.
  description: >-
    The canonical onboarding flow for a Kinde tenant. This workflow creates a
    new user record with an email identity, adds that user to a target
    organization (assigning role keys at the same time), and then resolves the
    user's roles within the organization to confirm the assignment took effect.
    Every step inlines its request so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: organizationsApi
  url: ../openapi/kinde-organizations-api-openapi.yml
  type: openapi
- name: usersApi
  url: ../openapi/kinde-users-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-user
  summary: Create a user and onboard them into an organization with a role.
  description: >-
    Creates a user with a verified email identity, adds the user to the supplied
    organization with one or more role keys, then reads back the user's
    organization roles to verify the grant.
  inputs:
    type: object
    required:
    - givenName
    - familyName
    - email
    - orgCode
    - roleKeys
    properties:
      givenName:
        type: string
        description: The user's first name.
      familyName:
        type: string
        description: The user's last name.
      email:
        type: string
        description: The email address to register as the user's identity.
      orgCode:
        type: string
        description: The organization code to add the user to (e.g. org_1ccfb819462).
      roleKeys:
        type: array
        description: Role keys to assign to the user within the organization.
        items:
          type: string
  steps:
  - stepId: createUser
    description: >-
      Create the user record with a verified email identity. Returns the Kinde
      user id used by every following step.
    operationId: createUser
    requestBody:
      contentType: application/json
      payload:
        profile:
          given_name: $inputs.givenName
          family_name: $inputs.familyName
        identities:
        - type: email
          is_verified: true
          details:
            email: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/id
      created: $response.body#/created
  - stepId: addUserToOrganization
    description: >-
      Add the freshly created user to the organization, assigning the supplied
      role keys at the same time.
    operationId: AddOrganizationUsers
    parameters:
    - name: org_code
      in: path
      value: $inputs.orgCode
    requestBody:
      contentType: application/json
      payload:
        users:
        - id: $steps.createUser.outputs.userId
          roles: $inputs.roleKeys
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      addResult: $response.body#/code
  - stepId: verifyOrganizationRoles
    description: >-
      Read back the roles assigned to the user within the organization to
      confirm the onboarding completed as expected.
    operationId: GetOrganizationUserRoles
    parameters:
    - name: org_code
      in: path
      value: $inputs.orgCode
    - name: user_id
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      roles: $response.body#/roles
  outputs:
    userId: $steps.createUser.outputs.userId
    assignedRoles: $steps.verifyOrganizationRoles.outputs.roles

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/kinde-provision-user-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.