PropelAuth · Arazzo Workflow

PropelAuth Create And Update User

Version 1.0.0

Create a user, fetch it back, then enrich the profile with a follow-up update.

1 workflow 1 source API 1 provider
View Spec View on GitHub AuthenticationIdentityB2BMulti-TenancyAuthorizationRBACSSOSCIMMCPAPI KeysArazzoWorkflows

Provider

propelauth

Workflows

create-and-update-user
Create a user, fetch it back by ID, then update its profile fields.
Creates a user, reads the record back by user ID to confirm it persisted, and patches the user's name and properties in a follow-up update.
3 steps inputs: backendApiKey, email, firstName, lastName outputs: email, userId
1
createUser
createUser
Create the user from the supplied email.
2
fetchUser
fetchUserById
Fetch the newly created user by ID to confirm it persisted.
3
updateUser
updateUser
Patch the user's display name fields.

Source API Descriptions

Arazzo Workflow Specification

propelauth-create-and-update-user-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: PropelAuth Create And Update User
  summary: Create a user, fetch it back, then enrich the profile with a follow-up update.
  description: >-
    A straightforward create-read-update flow. The workflow creates a new user,
    fetches the freshly created record by its user ID to confirm it persisted,
    and then patches the profile with the supplied display name and metadata.
    Each step inlines its request, including the Backend Integration API key as a
    bearer token.
  version: 1.0.0
sourceDescriptions:
- name: userApi
  url: ../openapi/propelauth-user-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-and-update-user
  summary: Create a user, fetch it back by ID, then update its profile fields.
  description: >-
    Creates a user, reads the record back by user ID to confirm it persisted, and
    patches the user's name and properties in a follow-up update.
  inputs:
    type: object
    required:
    - backendApiKey
    - email
    - firstName
    - lastName
    properties:
      backendApiKey:
        type: string
        description: PropelAuth Backend Integration API key presented as a bearer token.
      email:
        type: string
        description: Email address for the new user.
      firstName:
        type: string
        description: First name to set on the user during the update step.
      lastName:
        type: string
        description: Last name to set on the user during the update step.
  steps:
  - stepId: createUser
    description: Create the user from the supplied email.
    operationId: createUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        email_confirmed: true
        send_email_to_confirm_email_address: false
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      userId: $response.body#/user_id
  - stepId: fetchUser
    description: Fetch the newly created user by ID to confirm it persisted.
    operationId: fetchUserById
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    - name: userId
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      email: $response.body#/email
  - stepId: updateUser
    description: Patch the user's display name fields.
    operationId: updateUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    - name: userId
      in: path
      value: $steps.createUser.outputs.userId
    requestBody:
      contentType: application/json
      payload:
        first_name: $inputs.firstName
        last_name: $inputs.lastName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedStatus: $statusCode
  outputs:
    userId: $steps.createUser.outputs.userId
    email: $steps.fetchUser.outputs.email