Secrets management and password manager API
developer.1password.com/docs/connect ↗Query structured spec data via REST or MCP. Get exactly what your agent needs.
http://localhost:8080/v1
/vaults/{vaultUuid}/items/{itemUuid}
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. When modifying a specific ItemField, the ItemField's ID in the `path` attribute of the operation object: `/fields/{fieldId}`
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| vaultUuid | path | required | string | The UUID of the Vault the item is in |
| itemUuid | path | required | string | The UUID of the Item to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Patch"
},
"examples": {
"PatchItemAttr": {
"value": [
{
"op": "replace",
"path": "/favorite",
"value": true
},
{
"op": "remove",
"path": "/tags/1"
}
],
"summary": "Update specific Item attributes"
},
"PatchItemField": {
"value": [
{
"op": "add",
"path": "/fields",
"value": {
"type": "string",
"label": "New Field",
"value": "hunter2"
}
}
],
"summary": "Add a new ItemField to the Item"
},
"PatchItemFieldAttr": {
"value": [
{
"op": "add",
"path": "/fields/s2ju540zlna8bdj4uro7sj64rk/label",
"value": "New field name"
},
{
"op": "remove",
"path": "/fields/s2ju540zlna8bdj4uro7sj64rk/value"
}
],
"summary": "Modify a specific ItemField attribute."
},
"PatchItemFieldWithID": {
"value": [
{
"op": "replace",
"path": "/fields/r9qxq7xnhfhukoxsc8ymqr0y11",
"value": {
"type": "string",
"label": "Replacement Title",
"value": "new value"
}
},
{
"op": "remove",
"path": "/fields/h2nl155dshi043yse7wa3u1hs7"
}
],
"summary": "Modify or remove an ItemField."
},
"ReplaceAllAttributes": {
"value": [
{
"op": "replace",
"path": "/",
"value": {
"...": "Any attr from FullItem schema",
"tags": [
"tag1",
"tag2"
],
"title": "New Title",
"favorite": true
}
}
],
"summary": "Replace an entire Item with new fields. Equivalent to a PUT request."
}
}
}
}
}
PATCH /vaults/{vaultUuid}/items/{itemUuid}
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."
}
ActivityGetApiRequestsResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/APIRequest"
}
}
ErrorResponse
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP Status Code"
},
"message": {
"type": "string",
"description": "A message detailing the error"
}
}
}
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"
}
}
}
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."
}
}
}
FilesGetAllFilesInsideItemResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/File"
}
}
FilesGetContentResponse
{
"type": "string",
"format": "binary"
}
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"
}
}
}
}
}
}
]
}
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"
}
HealthCheckLivenessResponse
{
"type": "string",
"example": "."
}
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"
}
}
}
}
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
}
}
}
ItemsGetAllResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Item"
}
}
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"
}
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"
}
}
}
}
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."
}
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"
}
}
}
VaultsListAllResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Vault"
}
}