1Password Connect
REST API interface for 1Password Connect
COMMUNITYBEARER0 INSTALLS
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"
}
}
}
}