123FormBuilder · Arazzo Workflow

123FormBuilder Browse a Group's Forms

Version 1.0.0

Authenticate, list groups, read a chosen group's details, and list the forms it contains.

1 workflow 1 source API 1 provider
View Spec View on GitHub Online FormsForm BuilderSurveysWorkflowData CollectionSubmissionsWebhooksHIPAAGDPRPaymentsArazzoWorkflows

Provider

123formbuilder

Workflows

browse-group-forms
List groups, read one group's details, and enumerate its forms.
Logs in for a JWT, lists the account's groups, reads the details of the supplied group id, and then lists the forms contained in that group.
4 steps inputs: groupId, password, perPage, username outputs: forms, group, groups
1
authenticate
login-user-login
Authenticate to obtain a JWT token used as the JWT query parameter on the group requests.
2
listGroups
groups-get-all-user-groups
List the account's groups so the caller has the full set of groups to navigate.
3
getGroup
groups-get-group-details
Read the details of the chosen group, confirming its name and parent before listing its forms.
4
listGroupForms
groups-get-all-forms-in-a-group
List the forms that belong to the chosen group.

Source API Descriptions

Arazzo Workflow Specification

123formbuilder-browse-group-forms-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: 123FormBuilder Browse a Group's Forms
  summary: Authenticate, list groups, read a chosen group's details, and list the forms it contains.
  description: >-
    A navigation flow across the group hierarchy. After logging in for a JWT the
    workflow lists the account's groups, reads the details of a chosen group,
    and lists the forms that belong to it. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: formBuilderApi
  url: ../openapi/123formbuilder-rest-api-v2-openapi.yml
  type: openapi
workflows:
- workflowId: browse-group-forms
  summary: List groups, read one group's details, and enumerate its forms.
  description: >-
    Logs in for a JWT, lists the account's groups, reads the details of the
    supplied group id, and then lists the forms contained in that group.
  inputs:
    type: object
    required:
    - username
    - password
    - groupId
    properties:
      username:
        type: string
        description: The 123FormBuilder username to authenticate with.
      password:
        type: string
        description: The plain text password for the account.
      groupId:
        type: integer
        description: The ID of the group to read details for and enumerate forms from.
      perPage:
        type: integer
        description: How many groups to return per page (default 100, max 1000).
  steps:
  - stepId: authenticate
    description: >-
      Authenticate to obtain a JWT token used as the JWT query parameter on the
      group requests.
    operationId: login-user-login
    parameters:
    - name: username
      in: query
      value: $inputs.username
    - name: password
      in: query
      value: $inputs.password
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      token: $response.body#/token
  - stepId: listGroups
    description: >-
      List the account's groups so the caller has the full set of groups to
      navigate.
    operationId: groups-get-all-user-groups
    parameters:
    - name: JWT
      in: query
      value: $steps.authenticate.outputs.token
    - name: per_page
      in: query
      value: $inputs.perPage
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groups: $response.body#/data
  - stepId: getGroup
    description: >-
      Read the details of the chosen group, confirming its name and parent
      before listing its forms.
    operationId: groups-get-group-details
    parameters:
    - name: JWT
      in: query
      value: $steps.authenticate.outputs.token
    - name: group_id
      in: path
      value: $inputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      group: $response.body#/data
  - stepId: listGroupForms
    description: >-
      List the forms that belong to the chosen group.
    operationId: groups-get-all-forms-in-a-group
    parameters:
    - name: JWT
      in: query
      value: $steps.authenticate.outputs.token
    - name: group_id
      in: path
      value: $inputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      forms: $response.body#/data
  outputs:
    groups: $steps.listGroups.outputs.groups
    group: $steps.getGroup.outputs.group
    forms: $steps.listGroupForms.outputs.forms