1Password · Arazzo Workflow

1Password Provision an Item

Version 1.0.0

Create a new item in a vault and read it back to confirm it was stored.

1 workflow 1 source API 1 provider
View Spec View on GitHub Password ManagerPasswordsSecuritySecretsArazzoWorkflows

Provider

1password

Workflows

provision-item
Create an item in a vault and read it back to confirm provisioning.
Creates a new item in the specified vault with the supplied category, title, and fields, then retrieves the created item by its UUID to confirm it was stored.
2 steps inputs: category, fields, title, vaultUuid outputs: itemId, title
1
createItem
createItem
Create a new item in the target vault using the supplied title, category, and fields.
2
confirmItem
getItemById
Read the newly created item back by its UUID to confirm it was persisted with the expected title and fields.

Source API Descriptions

Arazzo Workflow Specification

1password-provision-item-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: 1Password Provision an Item
  summary: Create a new item in a vault and read it back to confirm it was stored.
  description: >-
    Provisions a new secret in 1Password Connect and verifies it. The workflow
    creates a FullItem in the target vault using the supplied category, title,
    and fields, then reads the newly created item back by its UUID to confirm it
    was persisted with the expected values. Each 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: connectApi
  url: ../openapi/1password-connect-openapi.yml
  type: openapi
workflows:
- workflowId: provision-item
  summary: Create an item in a vault and read it back to confirm provisioning.
  description: >-
    Creates a new item in the specified vault with the supplied category, title,
    and fields, then retrieves the created item by its UUID to confirm it was
    stored.
  inputs:
    type: object
    required:
    - vaultUuid
    - title
    - category
    properties:
      vaultUuid:
        type: string
        description: The UUID of the vault to create the item in.
      title:
        type: string
        description: The title for the new item.
      category:
        type: string
        description: The item category (e.g. LOGIN, PASSWORD, API_CREDENTIAL).
      fields:
        type: array
        description: The fields to store on the item, each with a label, type, and value.
  steps:
  - stepId: createItem
    description: >-
      Create a new item in the target vault using the supplied title, category,
      and fields.
    operationId: createItem
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    requestBody:
      contentType: application/json
      payload:
        vault:
          id: $inputs.vaultUuid
        title: $inputs.title
        category: $inputs.category
        fields: $inputs.fields
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/id
      version: $response.body#/version
  - stepId: confirmItem
    description: >-
      Read the newly created item back by its UUID to confirm it was persisted
      with the expected title and fields.
    operationId: getItemById
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    - name: itemUuid
      in: path
      value: $steps.createItem.outputs.itemId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/id
      title: $response.body#/title
      fields: $response.body#/fields
  outputs:
    itemId: $steps.confirmItem.outputs.itemId
    title: $steps.confirmItem.outputs.title