arazzo: 1.0.1
info:
title: Storyblok Onboard Collaborator
summary: Validate the space, invite a collaborator with a role, then list collaborators to confirm the invitation.
description: >-
Grants a teammate access to a space. The space is validated, a collaborator
is invited by email with an assigned role, and the space collaborator list
is then read back to confirm the new collaborator is present. 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: collaboratorsApi
url: ../openapi/storyblok-collaborators-api-openapi.yml
type: openapi
- name: spacesApi
url: ../openapi/storyblok-spaces-api-openapi.yml
type: openapi
workflows:
- workflowId: onboard-collaborator
summary: Invite a collaborator to a space and verify the invitation landed.
description: >-
Confirms the target space, invites a user by email with a role, and reads
the collaborator list back to confirm the new member appears.
inputs:
type: object
required:
- space_id
- email
- role
properties:
space_id:
type: integer
description: Numeric ID of the Storyblok space.
email:
type: string
description: Email address of the user to invite.
role:
type: string
description: Role to assign — one of admin, editor, or viewer.
spaceRoleId:
type: integer
description: Optional custom space role ID to assign instead of a built-in role.
steps:
- stepId: validateSpace
description: Confirm the target space exists and is accessible before inviting.
operationId: getSpace
parameters:
- name: space_id
in: path
value: $inputs.space_id
successCriteria:
- condition: $statusCode == 200
outputs:
spaceId: $response.body#/space/id
- stepId: addCollaborator
description: Invite the user to the space and assign their role.
operationId: addCollaborator
parameters:
- name: space_id
in: path
value: $inputs.space_id
requestBody:
contentType: application/json
payload:
collaborator:
email: $inputs.email
role: $inputs.role
space_role_id: $inputs.spaceRoleId
successCriteria:
- condition: $statusCode == 201
outputs:
collaboratorId: $response.body#/collaborator/id
invited: $response.body#/collaborator/invited
- stepId: verifyCollaborator
description: >-
List the space collaborators to confirm the newly invited collaborator
is present.
operationId: listCollaborators
parameters:
- name: space_id
in: path
value: $inputs.space_id
successCriteria:
- condition: $statusCode == 200
outputs:
collaborators: $response.body#/collaborators
outputs:
collaboratorId: $steps.addCollaborator.outputs.collaboratorId
invited: $steps.addCollaborator.outputs.invited
collaborators: $steps.verifyCollaborator.outputs.collaborators
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.