1Password · Arazzo Workflow

1Password Read an Item Secret

Version 1.0.0

Resolve a vault, locate an item by title, and read its full field values.

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

Provider

1password

Workflows

read-item-secret
Find an item by vault name and item title, then read its full secret values.
Resolves the target vault from the list of authorized vaults, searches that vault for an item whose title matches the supplied value, and reads the full item details so its field values can be consumed.
3 steps inputs: itemTitle, vaultName outputs: fields, itemId, vaultId
1
listVaults
listVaults
List every vault the Connect server is authorized to access so the target vault can be matched by name.
2
findItem
listItems
List the items in the resolved vault filtered to the single item whose title matches the supplied value.
3
readItem
getItemById
Retrieve the full item, including all fields, sections, and values, using the resolved vault and item identifiers.

Source API Descriptions

Arazzo Workflow Specification

1password-read-item-secret-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: 1Password Read an Item Secret
  summary: Resolve a vault, locate an item by title, and read its full field values.
  description: >-
    The canonical 1Password Connect read pattern for fetching a secret without
    knowing its UUID up front. The workflow lists the authorized vaults and
    selects the target vault by name, filters the items in that vault down to a
    single match by title, and then retrieves the full item including every
    field and value. 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: read-item-secret
  summary: Find an item by vault name and item title, then read its full secret values.
  description: >-
    Resolves the target vault from the list of authorized vaults, searches that
    vault for an item whose title matches the supplied value, and reads the full
    item details so its field values can be consumed.
  inputs:
    type: object
    required:
    - vaultName
    - itemTitle
    properties:
      vaultName:
        type: string
        description: The name of the vault that holds the target item.
      itemTitle:
        type: string
        description: The title of the item to read (e.g. "Production Database").
  steps:
  - stepId: listVaults
    description: >-
      List every vault the Connect server is authorized to access so the target
      vault can be matched by name.
    operationId: listVaults
    parameters:
    - name: filter
      in: query
      value: title eq "$inputs.vaultName"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      vaultId: $response.body#/0/id
  - stepId: findItem
    description: >-
      List the items in the resolved vault filtered to the single item whose
      title matches the supplied value.
    operationId: listItems
    parameters:
    - name: vaultUuid
      in: path
      value: $steps.listVaults.outputs.vaultId
    - name: filter
      in: query
      value: title eq "$inputs.itemTitle"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/0/id
  - stepId: readItem
    description: >-
      Retrieve the full item, including all fields, sections, and values, using
      the resolved vault and item identifiers.
    operationId: getItemById
    parameters:
    - name: vaultUuid
      in: path
      value: $steps.listVaults.outputs.vaultId
    - name: itemUuid
      in: path
      value: $steps.findItem.outputs.itemId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/id
      title: $response.body#/title
      category: $response.body#/category
      fields: $response.body#/fields
  outputs:
    vaultId: $steps.listVaults.outputs.vaultId
    itemId: $steps.readItem.outputs.itemId
    fields: $steps.readItem.outputs.fields