1Password Connect

Secrets management and password manager API

developer.1password.com/docs/connect ↗
Version
1.5.7
OpenAPI
3.0.2
Endpoints
15
Schemas
18
Updated
3 days ago
Security security secrets passwords
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

http://localhost:8080/v1

Authentication

bearer

Endpoints

Clear filters

Activity 1 endpoints

GET /activity
operationId: Activity_getApiRequests

Parameters

Name In Required Type Description
limit query optional integer How many API Events should be retrieved in a single request.
offset query optional integer How far into the collection of API Events should the response start

Responses

200 OK
401 Invalid or missing token
GET /activity

Files 3 endpoints

GET /vaults/{vaultUuid}/items/{itemUuid}/files
operationId: Files_getAllFilesInsideItem

Parameters

Name In Required Type Description
vaultUuid path required string The UUID of the Vault to fetch Items from
itemUuid path required string The UUID of the Item to fetch files from
inline_files query optional boolean Tells server to return the base64-encoded file contents in the response.

Responses

200 OK
401 Invalid or missing token
404 Item not found
413 File content too large to display
GET /vaults/{vaultUuid}/items/{itemUuid}/files
GET /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}
operationId: Files_getFileDetails

Parameters

Name In Required Type Description
vaultUuid path required string The UUID of the Vault to fetch Item from
itemUuid path required string The UUID of the Item to fetch File from
fileUuid path required string The UUID of the File to fetch
inline_files query optional boolean Tells server to return the base64-encoded file contents in the response.

Responses

200 OK
401 Invalid or missing token
403 Unauthorized access
404 File not found
413 File content too large to display
GET /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}
GET /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}/content
operationId: Files_getContent

Responses

200 Success
401 Invalid or missing token
404 File not found
GET /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}/content

Health 2 endpoints

GET /health
operationId: Health_serverStateCheck

Responses

200 OK
GET /health
GET /heartbeat
operationId: Health_checkLiveness

Responses

200 OK
GET /heartbeat

Items 2 endpoints

GET /vaults/{vaultUuid}/items
operationId: Items_getAll

Parameters

Name In Required Type Description
vaultUuid path required string The UUID of the Vault to fetch Items from
filter query optional string Filter the Item collection based on Item name using SCIM eq filter

Responses

200 OK
401 Invalid or missing token
404 Vault not found
GET /vaults/{vaultUuid}/items
GET /vaults/{vaultUuid}/items/{itemUuid}
operationId: Items_getDetailsById

Parameters

Name In Required Type Description
vaultUuid path required string The UUID of the Vault to fetch Item from
itemUuid path required string The UUID of the Item to fetch

Responses

200 OK
401 Invalid or missing token
403 Unauthorized access
404 Item not found
GET /vaults/{vaultUuid}/items/{itemUuid}

Metrics 1 endpoints

GET /metrics

See Prometheus documentation for a complete data model.

operationId: Metrics_queryServerMetrics

Responses

200 Successfully returned Prometheus metrics
GET /metrics

Vaults 2 endpoints

GET /vaults
operationId: Vaults_listAll

Parameters

Name In Required Type Description
filter query optional string Filter the Vault collection based on Vault name using SCIM eq filter

Responses

200 OK
401 Invalid or missing token
GET /vaults
GET /vaults/{vaultUuid}
operationId: Vaults_getDetails

Parameters

Name In Required Type Description
vaultUuid path required string The UUID of the Vault to fetch Items from

Responses

200 OK
401 Invalid or missing token
403 Unauthorized access
404 Vault not found
GET /vaults/{vaultUuid}

Schemas

object APIRequest
{
  "type": "object",
  "properties": {
    "actor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "jti": {
          "type": "string"
        },
        "account": {
          "type": "string"
        },
        "requestIp": {
          "type": "string"
        },
        "userAgent": {
          "type": "string"
        }
      }
    },
    "action": {
      "enum": [
        "READ",
        "CREATE",
        "UPDATE",
        "DELETE"
      ],
      "type": "string"
    },
    "result": {
      "enum": [
        "SUCCESS",
        "DENY"
      ],
      "type": "string"
    },
    "resource": {
      "type": "object",
      "properties": {
        "item": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[\\da-z]{26}$"
            }
          }
        },
        "type": {
          "enum": [
            "ITEM",
            "VAULT"
          ],
          "type": "string"
        },
        "vault": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[\\da-z]{26}$"
            }
          }
        },
        "itemVersion": {
          "type": "integer"
        }
      }
    },
    "requestId": {
      "type": "string",
      "format": "uuid",
      "description": "The unique id used to identify a single request."
    },
    "timestamp": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time at which the request was processed by the server."
    }
  },
  "description": "Represents a request that was made to the API. Including what Token was used and what resource was accessed."
}
array ActivityGetApiRequestsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/APIRequest"
  }
}
object ErrorResponse
{
  "type": "object",
  "properties": {
    "status": {
      "type": "integer",
      "description": "HTTP Status Code"
    },
    "message": {
      "type": "string",
      "description": "A message detailing the error"
    }
  }
}
object Field
{
  "type": "object",
  "required": [
    "id",
    "type"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "enum": [
        "STRING",
        "EMAIL",
        "CONCEALED",
        "URL",
        "TOTP",
        "DATE",
        "MONTH_YEAR",
        "MENU"
      ],
      "type": "string",
      "default": "STRING"
    },
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "recipe": {
      "$ref": "#/components/schemas/GeneratorRecipe"
    },
    "entropy": {
      "type": "number",
      "readOnly": true,
      "description": "For fields with a purpose of `PASSWORD` this is the entropy of the value"
    },
    "purpose": {
      "enum": [
        "",
        "USERNAME",
        "PASSWORD",
        "NOTES"
      ],
      "type": "string",
      "description": "Some item types, Login and Password, have fields used for autofill. This property indicates that purpose and is required for some item types."
    },
    "section": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      }
    },
    "generate": {
      "type": "boolean",
      "default": false,
      "description": "If value is not present then a new value should be generated for this field"
    }
  }
}
object File
{
  "type": "object",
  "example": {
    "id": "6r65pjq33banznomn7q22sj44e",
    "name": "foo.txt",
    "size": 35,
    "content": "VGhlIGZ1dHVyZSBiZWxvbmdzIHRvIHRoZSBjdXJpb3VzLgo=",
    "content_path": "v1/vaults/ionaiwtdvgclrixbt6ztpqcxnq/items/p7eflcy7f5mk7vg6zrzf5rjjyu/files/6r65pjq33banznomn7q22sj44e/content"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the file"
    },
    "name": {
      "type": "string",
      "description": "Name of the file"
    },
    "size": {
      "type": "integer",
      "description": "Size in bytes of the file"
    },
    "content": {
      "type": "string",
      "format": "byte",
      "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`."
    },
    "section": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "description": "For files that are in a section, this field describes the section."
    },
    "content_path": {
      "type": "string",
      "readOnly": true,
      "description": "Path of the Connect API that can be used to download the contents of this file."
    }
  }
}
array FilesGetAllFilesInsideItemResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/File"
  }
}
string FilesGetContentResponse
{
  "type": "string",
  "format": "binary"
}
object FullItem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Item"
    },
    {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/File"
          }
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Field"
          }
        },
        "sections": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  ]
}
object GeneratorRecipe
{
  "type": "object",
  "properties": {
    "length": {
      "type": "integer",
      "default": 32,
      "maximum": 64,
      "minimum": 1,
      "description": "Length of the generated value"
    },
    "characterSets": {
      "type": "array",
      "items": {
        "enum": [
          "LETTERS",
          "DIGITS",
          "SYMBOLS"
        ],
        "type": "string"
      },
      "maximum": 3,
      "minimum": 0,
      "uniqueItems": true
    },
    "excludeCharacters": {
      "type": "string",
      "example": "abc1",
      "description": "List of all characters that should be excluded from generated passwords."
    }
  },
  "description": "The recipe is used in conjunction with the \"generate\" property to set the character set used to generate a new secure value"
}
string HealthCheckLivenessResponse
{
  "type": "string",
  "example": "."
}
object HealthServerStateCheckResponse
{
  "type": "object",
  "required": [
    "name",
    "version"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "version": {
      "type": "string",
      "description": "The Connect server's version"
    },
    "dependencies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ServiceDependency"
      }
    }
  }
}
object Item
{
  "type": "object",
  "required": [
    "vault",
    "category"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[\\da-z]{26}$"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "urls": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "type": "string",
            "format": "url"
          },
          "label": {
            "type": "string"
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "example": [
        {
          "href": "https://example.com",
          "primary": true
        },
        {
          "href": "https://example.org"
        }
      ]
    },
    "state": {
      "enum": [
        "ARCHIVED",
        "DELETED"
      ],
      "type": "string",
      "readOnly": true
    },
    "title": {
      "type": "string"
    },
    "vault": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[\\da-z]{26}$"
        }
      }
    },
    "version": {
      "type": "integer"
    },
    "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"
    },
    "favorite": {
      "type": "boolean",
      "default": false
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "lastEditedBy": {
      "type": "string",
      "readOnly": true
    }
  }
}
array ItemsGetAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Item"
  }
}
string MetricsQueryServerMetricsResponse
{
  "type": "string",
  "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"
}
array Patch
{
  "type": "array",
  "items": {
    "type": "object",
    "required": [
      "op",
      "path"
    ],
    "properties": {
      "op": {
        "enum": [
          "add",
          "remove",
          "replace"
        ],
        "type": "string"
      },
      "path": {
        "type": "string",
        "example": "/fields/06gnn2b95example10q91512p5/label",
        "description": "An RFC6901 JSON Pointer pointing to the Item document, an Item Attribute, and Item Field by Field ID, or an Item Field Attribute"
      },
      "value": {
        "type": "object"
      }
    }
  }
}
object ServiceDependency
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "Human-readable message for explaining the current state."
    },
    "service": {
      "type": "string"
    }
  },
  "description": "The state of a registered server dependency."
}
object Vault
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[\\da-z]{26}$"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "enum": [
        "USER_CREATED",
        "PERSONAL",
        "EVERYONE",
        "TRANSFER"
      ],
      "type": "string"
    },
    "items": {
      "type": "integer",
      "description": "Number of active items in the vault"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "description": {
      "type": "string"
    },
    "contentVersion": {
      "type": "integer",
      "description": "The version of the vault contents"
    },
    "attributeVersion": {
      "type": "integer",
      "description": "The vault version"
    }
  }
}
array VaultsListAllResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Vault"
  }
}