1Password Connect icon

1Password Connect

REST API interface for 1Password Connect

COMMUNITYBEARER0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.2",
  "servers": [
    {
      "url": "http://1password.local"
    },
    {
      "url": "http://localhost:8080/v1"
    }
  ],
  "info": {
    "contact": {
      "email": "support@1password.com",
      "name": "1Password Integrations",
      "url": "https://support.1password.com/"
    },
    "description": "REST API interface for 1Password Connect.",
    "title": "1Password Connect",
    "version": "1.5.7",
    "x-apisguru-categories": [
      "security"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_upload_wikimedia_org_wikipedia_commons_thumb_e_e3_1password-logo_svg_1280px-1password-logo_svg.svg"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://i.1password.com/media/1password-connect/1password-connect-api.yaml",
        "version": "3.0"
      }
    ],
    "x-providerName": "1password.local",
    "x-serviceName": "connect"
  },
  "tags": [
    {
      "description": "Access and manage items inside 1Password Vaults",
      "name": "Items"
    },
    {
      "description": "Access 1Password Vaults",
      "name": "Vaults"
    },
    {
      "description": "Access API Request Activity",
      "name": "Activity"
    }
  ],
  "paths": {
    "/activity": {
      "get": {
        "operationId": "GetApiActivity",
        "parameters": [
          {
            "description": "How many API Events should be retrieved in a single request.",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 50,
              "example": 10,
              "type": "integer"
            }
          },
          {
            "description": "How far into the collection of API Events should the response start",
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "example": 50,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/APIRequest"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "An decription of what part of the collection has been returned as well as the total size.",
                "schema": {
                  "example": "1-50/1134",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Retrieve a list of API Requests that have been made.",
        "tags": [
          "Activity"
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "GetServerHealth",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "WaitingForAPIRequest": {
                    "summary": "API server waiting for first authenticated request",
                    "value": {
                      "dependencies": [
                        {
                          "service": "sync",
                          "status": "TOKEN_NEEDED"
                        },
                        {
                          "message": "Connected to./1password.sqlite",
                          "service": "sqlite",
                          "status": "ACTIVE"
                        }
                      ],
                      "name": "1Password Connect API",
                      "version": "1.2.1"
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "dependencies": {
                      "items": {
                        "$ref": "#/components/schemas/ServiceDependency"
                      },
                      "type": "array"
                    },
                    "name": {
                      "type": "string"
                    },
                    "version": {
                      "description": "The Connect server's version",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "version"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "url": "http://localhost:8080"
          }
        ],
        "summary": "Get state of the server and its dependencies.",
        "tags": [
          "Health"
        ]
      }
    },
    "/heartbeat": {
      "get": {
        "operationId": "GetHeartbeat",
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "example": ".",
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "url": "http://localhost:8080"
          }
        ],
        "summary": "Ping the server for liveness",
        "tags": [
          "Health"
        ]
      }
    },
    "/metrics": {
      "get": {
        "description": "See Prometheus documentation for a complete data model.",
        "operationId": "GetPrometheusMetrics",
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "example": "# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.\n# TYPE go_gc_duration_seconds summary\ngo_gc_duration_seconds{quantile=\"0\"} 2.9153e-05\ngo_gc_duration_seconds{quantile=\"0.25\"} 6.2832e-05\ngo_gc_duration_seconds{quantile=\"0.5\"} 9.7187e-05\ngo_gc_duration_seconds{quantile=\"0.75\"} 0.000112967\ngo_gc_duration_seconds{quantile=\"1\"} 0.000215819\ngo_gc_duration_seconds_sum 0.001376862\ngo_gc_duration_seconds_count 14\n",
                  "type": "string"
                }
              }
            },
            "description": "Successfully returned Prometheus metrics"
          }
        },
        "servers": [
          {
            "url": "http://localhost:8080"
          }
        ],
        "summary": "Query server for exposed Prometheus metrics",
        "tags": [
          "Metrics"
        ]
      }
    },
    "/vaults": {
      "get": {
        "operationId": "GetVaults",
        "parameters": [
          {
            "description": "Filter the Vault collection based on Vault name using SCIM eq filter",
            "in": "query",
            "name": "filter",
            "schema": {
              "example": "name eq \"Some Vault Name\"",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Vault"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get all Vaults",
        "tags": [
          "Vaults"
        ]
      }
    },
    "/vaults/{vaultUuid}": {
      "get": {
        "operationId": "GetVaultById",
        "parameters": [
          {
            "description": "The UUID of the Vault to fetch Items from",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vault"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {itemUuid} not found",
                  "status": 404
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Vault not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get Vault details and metadata",
        "tags": [
          "Vaults"
        ]
      }
    },
    "/vaults/{vaultUuid}/items": {
      "get": {
        "operationId": "GetVaultItems",
        "parameters": [
          {
            "description": "The UUID of the Vault to fetch Items from",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          },
          {
            "description": "Filter the Item collection based on Item name using SCIM eq filter",
            "in": "query",
            "name": "filter",
            "schema": {
              "example": "title eq \"Some Item Name\"",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} not found",
                  "status": 404
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Vault not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get all items for inside a Vault",
        "tags": [
          "Items"
        ]
      },
      "post": {
        "operationId": "CreateVaultItem",
        "parameters": [
          {
            "description": "The UUID of the Vault to create an Item in",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FullItem"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullItem"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid item category",
                  "status": 400
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unable to create item due to invalid input"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Create a new Item",
        "tags": [
          "Items"
        ]
      }
    },
    "/vaults/{vaultUuid}/items/{itemUuid}": {
      "delete": {
        "operationId": "DeleteVaultItem",
        "parameters": [
          {
            "description": "The UUID of the Vault the item is in",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to update",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted an item"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Delete an Item",
        "tags": [
          "Items"
        ]
      },
      "get": {
        "operationId": "GetVaultItemById",
        "parameters": [
          {
            "description": "The UUID of the Vault to fetch Item from",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to fetch",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullItem"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get the details of an Item",
        "tags": [
          "Items"
        ]
      },
      "patch": {
        "description": "Applies a modified [RFC6902 JSON Patch](https://tools.ietf.org/html/rfc6902) document to an Item or ItemField. This endpoint only supports `add`, `remove` and `replace` operations.\n\nWhen modifying a specific ItemField, the ItemField's ID in the `path` attribute of the operation object: `/fields/{fieldId}`\n",
        "operationId": "PatchVaultItem",
        "parameters": [
          {
            "description": "The UUID of the Vault the item is in",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to update",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "PatchItemAttr": {
                  "summary": "Update specific Item attributes",
                  "value": [
                    {
                      "op": "replace",
                      "path": "/favorite",
                      "value": true
                    },
                    {
                      "op": "remove",
                      "path": "/tags/1"
                    }
                  ]
                },
                "PatchItemField": {
                  "summary": "Add a new ItemField to the Item",
                  "value": [
                    {
                      "op": "add",
                      "path": "/fields",
                      "value": {
                        "label": "New Field",
                        "type": "string",
                        "value": "hunter2"
                      }
                    }
                  ]
                },
                "PatchItemFieldAttr": {
                  "summary": "Modify a specific ItemField attribute.",
                  "value": [
                    {
                      "op": "add",
                      "path": "/fields/s2ju540zlna8bdj4uro7sj64rk/label",
                      "value": "New field name"
                    },
                    {
                      "op": "remove",
                      "path": "/fields/s2ju540zlna8bdj4uro7sj64rk/value"
                    }
                  ]
                },
                "PatchItemFieldWithID": {
                  "summary": "Modify or remove an ItemField.",
                  "value": [
                    {
                      "op": "replace",
                      "path": "/fields/r9qxq7xnhfhukoxsc8ymqr0y11",
                      "value": {
                        "label": "Replacement Title",
                        "type": "string",
                        "value": "new value"
                      }
                    },
                    {
                      "op": "remove",
                      "path": "/fields/h2nl155dshi043yse7wa3u1hs7"
                    }
                  ]
                },
                "ReplaceAllAttributes": {
                  "summary": "Replace an entire Item with new fields. Equivalent to a PUT request.",
                  "value": [
                    {
                      "op": "replace",
                      "path": "/",
                      "value": {
                        "...": "Any attr from FullItem schema",
                        "favorite": true,
                        "tags": [
                          "tag1",
                          "tag2"
                        ],
                        "title": "New Title"
                      }
                    }
                  ]
                }
              },
              "schema": {
                "$ref": "#/components/schemas/Patch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullItem"
                }
              }
            },
            "description": "OK - Item updated. If no Patch operations were provided, Item is unmodified."
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Update a subset of Item attributes",
        "tags": [
          "Items"
        ]
      },
      "put": {
        "operationId": "UpdateVaultItem",
        "parameters": [
          {
            "description": "The UUID of the Item's Vault",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to update",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "pattern": "^[\\da-z]{26}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FullItem"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullItem"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "message": "The item doesn't have a {example field name} field.",
                  "status": 400
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unable to create item due to invalid input"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Update an Item",
        "tags": [
          "Items"
        ]
      }
    },
    "/vaults/{vaultUuid}/items/{itemUuid}/files": {
      "get": {
        "operationId": "GetItemFiles",
        "parameters": [
          {
            "description": "The UUID of the Vault to fetch Items from",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to fetch files from",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Tells server to return the base64-encoded file contents in the response.",
            "in": "query",
            "name": "inline_files",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/File"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Item not found"
          },
          "413": {
            "content": {
              "application/json": {
                "examples": {
                  "fileTooLarge": {
                    "summary": "File too large",
                    "value": {
                      "message": "File is too large to inline in request. Use the /v1/vaults/{vaultUUID}/items/{itemUUID}/files/{fileUUID}/content endpoint instead.",
                      "status": 413
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "File content too large to display"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get all the files inside an Item",
        "tags": [
          "Files"
        ]
      }
    },
    "/vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}": {
      "get": {
        "operationId": "GetDetailsOfFileById",
        "parameters": [
          {
            "description": "The UUID of the Vault to fetch Item from",
            "in": "path",
            "name": "vaultUuid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the Item to fetch File from",
            "in": "path",
            "name": "itemUuid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The UUID of the File to fetch",
            "in": "path",
            "name": "fileUuid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Tells server to return the base64-encoded file contents in the response.",
            "in": "query",
            "name": "inline_files",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "message": "vault {vaultUuid} is not in scope",
                  "status": 403
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized access"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "fileNotFound": {
                    "summary": "File not found",
                    "value": {
                      "message": "file {fileUuid} not found",
                      "status": 404
                    }
                  },
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "File not found"
          },
          "413": {
            "content": {
              "application/json": {
                "examples": {
                  "fileTooLarge": {
                    "summary": "File too large",
                    "value": {
                      "message": "File is too large to inline in request. Use the /v1/vaults/{vaultUUID}/items/{itemUUID}/files/{fileUUID}/content endpoint instead.",
                      "status": 413
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "File content too large to display"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get the details of a File",
        "tags": [
          "Files"
        ]
      }
    },
    "/vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}/content": {
      "get": {
        "operationId": "DownloadFileByID",
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success",
            "headers": {
              "Content-Disposition": {
                "schema": {
                  "example": "attachment; filename=\"privkey.pem\"",
                  "type": "string"
                }
              },
              "Content-Length": {
                "schema": {
                  "example": "6432",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Invalid token signature",
                  "status": 401
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing token"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "fileNotFound": {
                    "summary": "File not found",
                    "value": {
                      "message": "file {fileUuid} not found",
                      "status": 404
                    }
                  },
                  "itemNotFound": {
                    "summary": "Item not found",
                    "value": {
                      "message": "item {itemUuid} not found",
                      "status": 404
                    }
                  },
                  "vaultNotFound": {
                    "summary": "Vault not found",
                    "value": {
                      "message": "vault {vaultUuid} not found",
                      "status": 404
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "File not found"
          }
        },
        "security": [
          {
            "ConnectToken": []
          }
        ],
        "summary": "Get the content of a File",
        "tags": [
          "Files"
        ]
      },
      "parameters": [
        {
          "description": "The UUID of the Vault the item is in",
          "in": "path",
          "name": "vaultUuid",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        },
        {
          "description": "The UUID of the Item the File is in",
          "in": "path",
          "name": "itemUuid",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        },
        {
          "description": "UUID of the file to get content from",
          "in": "path",
          "name": "fileUuid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    }
  },
  "components": {
    "schemas": {
      "APIRequest": {
        "description": "Represents a request that was made to the API. Including what Token was used and what resource was accessed.",
        "properties": {
          "action": {
            "enum": [
              "READ",
              "CREATE",
              "UPDATE",
              "DELETE"
            ],
            "type": "string"
          },
          "actor": {
            "properties": {
              "account": {
                "type": "string"
              },
              "id": {
                "format": "uuid",
                "type": "string"
              },
              "jti": {
                "type": "string"
              },
              "requestIp": {
                "type": "string"
              },
              "userAgent": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "requestId": {
            "description": "The unique id used to identify a single request.",
            "format": "uuid",
            "type": "string"
          },
          "resource": {
            "properties": {
              "item": {
                "properties": {
                  "id": {
                    "pattern": "^[\\da-z]{26}$",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "itemVersion": {
                "type": "integer"
              },
              "type": {
                "enum": [
                  "ITEM",
                  "VAULT"
                ],
                "type": "string"
              },
              "vault": {
                "properties": {
                  "id": {
                    "pattern": "^[\\da-z]{26}$",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "result": {
            "enum": [
              "SUCCESS",
              "DENY"
            ],
            "type": "string"
          },
          "timestamp": {
            "description": "The time at which the request was processed by the server.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ErrorResponse": {
        "properties": {
          "message": {
            "description": "A message detailing the error",
            "type": "string"
          },
          "status": {
            "description": "HTTP Status Code",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Field": {
        "properties": {
          "entropy": {
            "description": "For fields with a purpose of `PASSWORD` this is the entropy of the value",
            "readOnly": true,
            "type": "number"
          },
          "generate": {
            "default": false,
            "description": "If value is not present then a new value should be generated for this field",
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "purpose": {
            "description": "Some item types, Login and Password, have fields used for autofill. This property indicates that purpose and is required for some item types.",
            "enum": [
              "",
              "USERNAME",
              "PASSWORD",
              "NOTES"
            ],
            "type": "string"
          },
          "recipe": {
            "$ref": "#/components/schemas/GeneratorRecipe"
          },
          "section": {
            "properties": {
              "id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": {
            "default": "STRING",
            "enum": [
              "STRING",
              "EMAIL",
              "CONCEALED",
              "URL",
              "TOTP",
              "DATE",
              "MONTH_YEAR",
              "MENU"
            ],
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "type": "object"
      },
      "File": {
        "example": {
          "content": "VGhlIGZ1dHVyZSBiZWxvbmdzIHRvIHRoZSBjdXJpb3VzLgo=",
          "content_path": "v1/vaults/ionaiwtdvgclrixbt6ztpqcxnq/items/p7eflcy7f5mk7vg6zrzf5rjjyu/files/6r65pjq33banznomn7q22sj44e/content",
          "id": "6r65pjq33banznomn7q22sj44e",
          "name": "foo.txt",
          "size": 35
        },
        "properties": {
          "content": {
            "description": "Base64-encoded contents of the file. Only set if size <= OP_MAX_INLINE_FILE_SIZE_KB kb and `inline_files` is set to `true`.",
            "format": "byte",
            "type": "string"
          },
          "content_path": {
            "description": "Path of the Connect API that can be used to download the contents of this file.",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "ID of the file",
            "type": "string"
          },
          "name": {
            "description": "Name of the file",
            "type": "string"
          },
          "section": {
            "description": "For files that are in a section, this field describes the section.",
            "properties": {
              "id": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "size": {
            "description": "Size in bytes of the file",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "FullItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Item"
          },
          {
            "properties": {
              "fields": {
                "items": {
                  "$ref": "#/components/schemas/Field"
                },
                "type": "array"
              },
              "files": {
                "items": {
                  "$ref": "#/components/schemas/File"
                },
                "type": "array"
              },
              "sections": {
                "items": {
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "GeneratorRecipe": {
        "description": "The recipe is used in conjunction with the \"generate\" property to set the character set used to generate a new secure value",
        "properties": {
          "characterSets": {
            "items": {
              "enum": [
                "LETTERS",
                "DIGITS",
                "SYMBOLS"
              ],
              "type": "string"
            },
            "maximum": 3,
            "minimum": 0,
            "type": "array",
            "uniqueItems": true
          },
          "excludeCharacters": {
            "description": "List of all characters that should be excluded from generated passwords.",
            "example": "abc1",
            "type": "string"
          },
          "length": {
            "default": 32,
            "description": "Length of the generated value",
            "maximum": 64,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Item": {
        "properties": {
          "category": {
            "enum": [
              "LOGIN",
              "PASSWORD",
              "API_CREDENTIAL",
              "SERVER",
              "DATABASE",
              "CREDIT_CARD",
              "MEMBERSHIP",
              "PASSPORT",
              "SOFTWARE_LICENSE",
              "OUTDOOR_LICENSE",
              "SECURE_NOTE",
              "WIRELESS_ROUTER",
              "BANK_ACCOUNT",
              "DRIVER_LICENSE",
              "IDENTITY",
              "REWARD_PROGRAM",
              "DOCUMENT",
              "EMAIL_ACCOUNT",
              "SOCIAL_SECURITY_NUMBER",
              "MEDICAL_RECORD",
              "SSH_KEY",
              "CUSTOM"
            ],
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "favorite": {
            "default": false,
            "type": "boolean"
          },
          "id": {
            "pattern": "^[\\da-z]{26}$",
            "type": "string"
          },
          "lastEditedBy": {
            "readOnly": true,
            "type": "string"
          },
          "state": {
            "enum": [
              "ARCHIVED",
              "DELETED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "urls": {
            "example": [
              {
                "href": "https://example.com",
                "primary": true
              },
              {
                "href": "https://example.org"
              }
            ],
            "items": {
              "properties": {
                "href": {
                  "format": "url",
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "primary": {
                  "type": "boolean"
                }
              },
              "required": [
                "href"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "vault": {
            "properties": {
              "id": {
                "pattern": "^[\\da-z]{26}$",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          },
          "version": {
            "type": "integer"
          }
        },
        "required": [
          "vault",
          "category"
        ],
        "type": "object"
      },
      "Patch": {
        "items": {
          "properties": {
            "op": {
              "enum": [
                "add",
                "remove",
                "replace"
              ],
              "type": "string"
            },
            "path": {
              "description": "An RFC6901 JSON Pointer pointing to the Item document, an Item Attribute, and Item Field by Field ID, or an Item Field Attribute",
              "example": "/fields/06gnn2b95example10q91512p5/label",
              "type": "string"
            },
            "value": {
              "type": "object"
            }
          },
          "required": [
            "op",
            "path"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "ServiceDependency": {
        "description": "The state of a registered server dependency.",
        "properties": {
          "message": {
            "description": "Human-readable message for explaining the current state.",
            "type": "string"
          },
          "service": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "Vault": {
        "properties": {
          "attributeVersion": {
            "description": "The vault version",
            "type": "integer"
          },
          "contentVersion": {
            "description": "The version of the vault contents",
            "type": "integer"
          },
          "createdAt": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "pattern": "^[\\da-z]{26}$",
            "type": "string"
          },
          "items": {
            "description": "Number of active items in the vault",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "USER_CREATED",
              "PERSONAL",
              "EVERYONE",
              "TRANSFER"
            ],
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "ConnectToken": {
        "bearerFormat": "JWT",
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}