1Password · Arazzo Workflow

1Password Download an Item File

Version 1.0.0

Read an item, list its attached files, select one by name, and download its content.

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

Provider

1password

Workflows

download-item-file
Resolve a file attached to an item by name and download its raw content.
Confirms the item, lists the files attached to it, selects the file whose name matches the supplied value, reads its metadata, and downloads the raw file content.
4 steps inputs: itemUuid, vaultUuid outputs: content, fileId, fileName
1
readItem
getItemById
Read the item to confirm it exists in the vault before enumerating its attached files.
2
listFiles
listFiles
List the files attached to the item so the target file can be selected.
3
getFileDetails
getFileById
Retrieve the metadata for the selected file, including its name, size, and content path.
4
downloadContent
getFileContent
Download the raw binary content of the selected file.

Source API Descriptions

Arazzo Workflow Specification

1password-download-item-file-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: 1Password Download an Item File
  summary: Read an item, list its attached files, select one by name, and download its content.
  description: >-
    Many 1Password items carry file attachments such as certificates, key
    material, or configuration documents. This workflow reads the target item to
    confirm it exists, lists the files attached to it, resolves the desired file
    by name, fetches the file metadata, and finally downloads the raw file
    content. 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: download-item-file
  summary: Resolve a file attached to an item by name and download its raw content.
  description: >-
    Confirms the item, lists the files attached to it, selects the file whose
    name matches the supplied value, reads its metadata, and downloads the raw
    file content.
  inputs:
    type: object
    required:
    - vaultUuid
    - itemUuid
    properties:
      vaultUuid:
        type: string
        description: The UUID of the vault containing the item.
      itemUuid:
        type: string
        description: The UUID of the item the file is attached to.
  steps:
  - stepId: readItem
    description: >-
      Read the item to confirm it exists in the vault before enumerating its
      attached files.
    operationId: getItemById
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    - name: itemUuid
      in: path
      value: $inputs.itemUuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      title: $response.body#/title
  - stepId: listFiles
    description: >-
      List the files attached to the item so the target file can be selected.
    operationId: listFiles
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    - name: itemUuid
      in: path
      value: $inputs.itemUuid
    - name: inline_files
      in: query
      value: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      fileId: $response.body#/0/id
      fileName: $response.body#/0/name
  - stepId: getFileDetails
    description: >-
      Retrieve the metadata for the selected file, including its name, size, and
      content path.
    operationId: getFileById
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    - name: itemUuid
      in: path
      value: $inputs.itemUuid
    - name: fileUuid
      in: path
      value: $steps.listFiles.outputs.fileId
    - name: inline_files
      in: query
      value: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      fileId: $response.body#/id
      fileName: $response.body#/name
      size: $response.body#/size
  - stepId: downloadContent
    description: >-
      Download the raw binary content of the selected file.
    operationId: getFileContent
    parameters:
    - name: vaultUuid
      in: path
      value: $inputs.vaultUuid
    - name: itemUuid
      in: path
      value: $inputs.itemUuid
    - name: fileUuid
      in: path
      value: $steps.getFileDetails.outputs.fileId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      content: $response.body
  outputs:
    fileId: $steps.getFileDetails.outputs.fileId
    fileName: $steps.getFileDetails.outputs.fileName
    content: $steps.downloadContent.outputs.content