UNPKG

@itentialopensource/adapter-onepassword_connect

Version:

This adapter integrates with system described as: 1passwordConnect.

1,654 lines 75.3 kB
{ "openapi": "3.0.0", "info": { "title": "1Password Connect", "description": "REST API interface for 1Password Connect.", "contact": { "name": "1Password Integrations", "url": "https://support.1password.com/", "email": "support@1password.com" }, "version": "1.5.7" }, "servers": [ { "url": "http://1password.local", "variables": {} }, { "url": "http://localhost:8080/v1", "variables": {} }, { "url": "http://localhost:8080", "variables": {} } ], "paths": { "/vaults/{vaultUuid}/items": { "get": { "tags": [ "Items" ], "summary": "GetVaultItems", "description": "", "operationId": "GetVaultItems", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to fetch Items from", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter the Item collection based on Item name using SCIM eq filter", "style": "form", "explode": true, "schema": { "type": "string", "example": "title eq \"Some Item Name\"" } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Item" }, "description": "" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "404": { "description": "Vault not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} not found", "status": 404 } } ] }, "example": { "message": "vault {vaultUuid} not found", "status": 404 } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] }, "post": { "tags": [ "Items" ], "summary": "CreateVaultItem", "description": "", "operationId": "CreateVaultItem", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to create an Item in", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } }, "required": false }, "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } } }, "400": { "description": "Unable to create item due to invalid input", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid item category", "status": 400 } } ] }, "example": { "message": "Invalid item category", "status": 400 } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} not found", "status": 404 } } ] }, "examples": { "vaultNotFound": { "summary": "Vault not found", "value": { "message": "vault {vaultUuid} not found", "status": 404 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/vaults/{vaultUuid}/items/{itemUuid}": { "delete": { "tags": [ "Items" ], "summary": "DeleteVaultItem", "description": "", "operationId": "DeleteVaultItem", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault the item is in", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to update", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "responses": { "204": { "description": "Successfully deleted an item", "headers": {}, "content": {} }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} not found", "status": 404 } } ] }, "examples": { "vaultNotFound": { "summary": "Vault not found", "value": { "message": "vault {vaultUuid} not found", "status": 404 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] }, "get": { "tags": [ "Items" ], "summary": "GetVaultItemById", "description": "", "operationId": "GetVaultItemById", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to fetch Item from", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to fetch", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "item {itemUuid} not found", "status": 404 } } ] }, "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 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] }, "patch": { "tags": [ "Items" ], "summary": "PatchVaultItem", "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": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault the item is in", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to update", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Patch" }, "description": "" }, "examples": { "PatchItemField": { "summary": "Add a new ItemField to the Item", "value": [ { "op": "add", "path": "/fields", "value": { "label": "New Field", "type": "string", "value": "hunter2" } } ] }, "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" } } ] } } } }, "required": false }, "responses": { "200": { "description": "OK - Item updated. If no Patch operations were provided, Item is unmodified.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "item {itemUuid} not found", "status": 404 } } ] }, "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 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] }, "put": { "tags": [ "Items" ], "summary": "UpdateVaultItem", "description": "", "operationId": "UpdateVaultItem", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Item's Vault", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to update", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } }, "required": false }, "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullItem" } } } }, "400": { "description": "Unable to create item due to invalid input", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "The item doesn't have a {example field name} field.", "status": 400 } } ] }, "example": { "message": "The item doesn't have a {example field name} field.", "status": 400 } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "item {itemUuid} not found", "status": 404 } } ] }, "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 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/vaults": { "get": { "tags": [ "Vaults" ], "summary": "GetVaults", "description": "", "operationId": "GetVaults", "parameters": [ { "name": "filter", "in": "query", "description": "Filter the Vault collection based on Vault name using SCIM eq filter", "style": "form", "explode": true, "schema": { "type": "string", "example": "name eq \"Some Vault Name\"" } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Vault" }, "description": "" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/vaults/{vaultUuid}": { "get": { "tags": [ "Vaults" ], "summary": "GetVaultById", "description": "", "operationId": "GetVaultById", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to fetch Items from", "required": true, "style": "simple", "schema": { "pattern": "^[\\da-z]{26}$", "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Vault" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "Vault not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {itemUuid} not found", "status": 404 } } ] }, "example": { "message": "vault {itemUuid} not found", "status": 404 } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/activity": { "get": { "tags": [ "Activity" ], "summary": "GetApiActivity", "description": "", "operationId": "GetApiActivity", "parameters": [ { "name": "limit", "in": "query", "description": "How many API Events should be retrieved in a single request.", "style": "form", "explode": true, "schema": { "type": "integer", "format": "int32", "default": 50, "example": 10 } }, { "name": "offset", "in": "query", "description": "How far into the collection of API Events should the response start", "style": "form", "explode": true, "schema": { "type": "integer", "format": "int32", "default": 0, "example": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Content-Range": { "description": "An decription of what part of the collection has been returned as well as the total size.", "content": { "text/plain": { "schema": { "type": "string", "description": "An decription of what part of the collection has been returned as well as the total size.", "example": "1-50/1134" }, "example": "1-50/1134" } } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIRequest" }, "description": "" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/health": { "get": { "tags": [ "Health" ], "summary": "GetServerHealth", "description": "", "operationId": "GetServerHealth", "parameters": [], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/HealthResponse" }, { "example": { "dependencies": [ { "service": "sync", "status": "TOKEN_NEEDED" }, { "message": "Connected to./1password.sqlite", "service": "sqlite", "status": "ACTIVE" } ], "name": "1Password Connect API", "version": "1.2.1" } } ] }, "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" } } } } } } }, "deprecated": false } }, "/heartbeat": { "get": { "tags": [ "Health" ], "summary": "GetHeartbeat", "description": "", "operationId": "GetHeartbeat", "parameters": [], "responses": { "200": { "description": "OK", "headers": {}, "content": { "text/plain": { "schema": { "type": "string" } } } } }, "deprecated": false } }, "/metrics": { "get": { "tags": [ "Metrics" ], "summary": "GetPrometheusMetrics", "description": "See Prometheus documentation for a complete data model.", "operationId": "GetPrometheusMetrics", "parameters": [], "responses": { "200": { "description": "Successfully returned Prometheus metrics", "headers": {}, "content": { "text/plain": { "schema": { "type": "string" } } } } }, "deprecated": false } }, "/vaults/{vaultUuid}/items/{itemUuid}/files": { "get": { "tags": [ "Files" ], "summary": "GetItemFiles", "description": "", "operationId": "GetItemFiles", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to fetch Items from", "required": true, "style": "simple", "schema": { "type": "string", "format": "uuid" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to fetch files from", "required": true, "style": "simple", "schema": { "type": "string", "format": "uuid" } }, { "name": "inline_files", "in": "query", "description": "Tells server to return the base64-encoded file contents in the response.", "style": "form", "explode": true, "schema": { "type": "boolean", "example": true } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/File" }, "description": "" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "404": { "description": "Item not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "item {itemUuid} not found", "status": 404 } } ] }, "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 } } } } } }, "413": { "description": "File content too large to display", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "File is too large to inline in request. Use the /v1/vaults/{vaultUUID}/items/{itemUUID}/files/{fileUUID}/content endpoint instead.", "status": 413 } } ] }, "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 } } } } } } }, "deprecated": false, "security": [ { "ConnectToken": [] } ] } }, "/vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}": { "get": { "tags": [ "Files" ], "summary": "GetDetailsOfFileById", "description": "", "operationId": "GetDetailsOfFileById", "parameters": [ { "name": "vaultUuid", "in": "path", "description": "The UUID of the Vault to fetch Item from", "required": true, "style": "simple", "schema": { "type": "string", "format": "uuid" } }, { "name": "itemUuid", "in": "path", "description": "The UUID of the Item to fetch File from", "required": true, "style": "simple", "schema": { "type": "string", "format": "uuid" } }, { "name": "fileUuid", "in": "path", "description": "The UUID of the File to fetch", "required": true, "style": "simple", "schema": { "type": "string", "format": "uuid" } }, { "name": "inline_files", "in": "query", "description": "Tells server to return the base64-encoded file contents in the response.", "style": "form", "explode": true, "schema": { "type": "boolean", "example": true } } ], "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/File" } } } }, "401": { "description": "Invalid or missing token", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "Invalid token signature", "status": 401 } } ] }, "example": { "message": "Invalid token signature", "status": 401 } } } }, "403": { "description": "Unauthorized access", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } ] }, "example": { "message": "vault {vaultUuid} is not in scope", "status": 403 } } } }, "404": { "description": "File not found", "headers": {}, "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "example": { "message": "file {fileUuid} not found", "status": 404 } } ] }, "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 } }