| 1 | openapi: "3.0.2" |
|---|
| 2 | info: |
|---|
| 3 | title: 1Password Connect |
|---|
| 4 | description: >- |
|---|
| 5 | REST API interface for 1Password Connect. |
|---|
| 6 | version: "1.5.7" |
|---|
| 7 | contact: |
|---|
| 8 | name: 1Password Integrations |
|---|
| 9 | email: support@1password.com |
|---|
| 10 | url: https://support.1password.com/ |
|---|
| 11 | servers: |
|---|
| 12 | - url: http://localhost:8080/v1 |
|---|
| 13 | |
|---|
| 14 | tags: |
|---|
| 15 | - name: Items |
|---|
| 16 | description: Access and manage items inside 1Password Vaults |
|---|
| 17 | - name: Vaults |
|---|
| 18 | description: Access 1Password Vaults |
|---|
| 19 | - name: Activity |
|---|
| 20 | description: Access API Request Activity |
|---|
| 21 | |
|---|
| 22 | components: |
|---|
| 23 | securitySchemes: |
|---|
| 24 | ConnectToken: |
|---|
| 25 | type: http |
|---|
| 26 | scheme: bearer |
|---|
| 27 | bearerFormat: JWT |
|---|
| 28 | schemas: |
|---|
| 29 | ErrorResponse: |
|---|
| 30 | type: object |
|---|
| 31 | properties: |
|---|
| 32 | status: |
|---|
| 33 | type: integer |
|---|
| 34 | description: HTTP Status Code |
|---|
| 35 | message: |
|---|
| 36 | type: string |
|---|
| 37 | description: A message detailing the error |
|---|
| 38 | File: |
|---|
| 39 | type: object |
|---|
| 40 | properties: |
|---|
| 41 | id: |
|---|
| 42 | type: string |
|---|
| 43 | description: ID of the file |
|---|
| 44 | name: |
|---|
| 45 | type: string |
|---|
| 46 | description: Name of the file |
|---|
| 47 | size: |
|---|
| 48 | type: integer |
|---|
| 49 | description: Size in bytes of the file |
|---|
| 50 | content_path: |
|---|
| 51 | type: string |
|---|
| 52 | description: Path of the Connect API that can be used to download the contents of this file. |
|---|
| 53 | readOnly: true |
|---|
| 54 | section: |
|---|
| 55 | type: object |
|---|
| 56 | description: For files that are in a section, this field describes the section. |
|---|
| 57 | properties: |
|---|
| 58 | id: |
|---|
| 59 | type: string |
|---|
| 60 | content: |
|---|
| 61 | type: string |
|---|
| 62 | format: byte |
|---|
| 63 | 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`. |
|---|
| 64 | example: |
|---|
| 65 | id: 6r65pjq33banznomn7q22sj44e |
|---|
| 66 | name: foo.txt |
|---|
| 67 | size: 35 |
|---|
| 68 | content_path: v1/vaults/ionaiwtdvgclrixbt6ztpqcxnq/items/p7eflcy7f5mk7vg6zrzf5rjjyu/files/6r65pjq33banznomn7q22sj44e/content |
|---|
| 69 | content: VGhlIGZ1dHVyZSBiZWxvbmdzIHRvIHRoZSBjdXJpb3VzLgo= |
|---|
| 70 | Vault: |
|---|
| 71 | type: object |
|---|
| 72 | properties: |
|---|
| 73 | id: |
|---|
| 74 | type: string |
|---|
| 75 | pattern: '^[\da-z]{26}$' |
|---|
| 76 | name: |
|---|
| 77 | type: string |
|---|
| 78 | description: |
|---|
| 79 | type: string |
|---|
| 80 | attributeVersion: |
|---|
| 81 | type: integer |
|---|
| 82 | description: The vault version |
|---|
| 83 | contentVersion: |
|---|
| 84 | type: integer |
|---|
| 85 | description: The version of the vault contents |
|---|
| 86 | items: |
|---|
| 87 | description: Number of active items in the vault |
|---|
| 88 | type: integer |
|---|
| 89 | type: |
|---|
| 90 | type: string |
|---|
| 91 | enum: |
|---|
| 92 | - USER_CREATED |
|---|
| 93 | - PERSONAL |
|---|
| 94 | - EVERYONE |
|---|
| 95 | - TRANSFER |
|---|
| 96 | createdAt: |
|---|
| 97 | type: string |
|---|
| 98 | format: date-time |
|---|
| 99 | readOnly: true |
|---|
| 100 | updatedAt: |
|---|
| 101 | type: string |
|---|
| 102 | format: date-time |
|---|
| 103 | readOnly: true |
|---|
| 104 | GeneratorRecipe: |
|---|
| 105 | description: The recipe is used in conjunction with the "generate" property to set the character set used to generate a new secure value |
|---|
| 106 | type: object |
|---|
| 107 | properties: |
|---|
| 108 | length: |
|---|
| 109 | type: integer |
|---|
| 110 | description: Length of the generated value |
|---|
| 111 | default: 32 |
|---|
| 112 | minimum: 1 |
|---|
| 113 | maximum: 64 |
|---|
| 114 | characterSets: |
|---|
| 115 | type: array |
|---|
| 116 | items: |
|---|
| 117 | type: string |
|---|
| 118 | enum: |
|---|
| 119 | - LETTERS |
|---|
| 120 | - DIGITS |
|---|
| 121 | - SYMBOLS |
|---|
| 122 | minimum: 0 |
|---|
| 123 | maximum: 3 |
|---|
| 124 | uniqueItems: true |
|---|
| 125 | excludeCharacters: |
|---|
| 126 | type: string |
|---|
| 127 | description: "List of all characters that should be excluded from generated passwords." |
|---|
| 128 | example: "abc1" |
|---|
| 129 | Item: |
|---|
| 130 | type: object |
|---|
| 131 | required: |
|---|
| 132 | - vault |
|---|
| 133 | - category |
|---|
| 134 | properties: |
|---|
| 135 | id: |
|---|
| 136 | type: string |
|---|
| 137 | pattern: '^[\da-z]{26}$' |
|---|
| 138 | title: |
|---|
| 139 | type: string |
|---|
| 140 | vault: |
|---|
| 141 | type: object |
|---|
| 142 | required: |
|---|
| 143 | - id |
|---|
| 144 | properties: |
|---|
| 145 | id: |
|---|
| 146 | type: string |
|---|
| 147 | pattern: '^[\da-z]{26}$' |
|---|
| 148 | category: |
|---|
| 149 | type: string |
|---|
| 150 | enum: |
|---|
| 151 | - "LOGIN" |
|---|
| 152 | - "PASSWORD" |
|---|
| 153 | - "API_CREDENTIAL" |
|---|
| 154 | - "SERVER" |
|---|
| 155 | - "DATABASE" |
|---|
| 156 | - "CREDIT_CARD" |
|---|
| 157 | - "MEMBERSHIP" |
|---|
| 158 | - "PASSPORT" |
|---|
| 159 | - "SOFTWARE_LICENSE" |
|---|
| 160 | - "OUTDOOR_LICENSE" |
|---|
| 161 | - "SECURE_NOTE" |
|---|
| 162 | - "WIRELESS_ROUTER" |
|---|
| 163 | - "BANK_ACCOUNT" |
|---|
| 164 | - "DRIVER_LICENSE" |
|---|
| 165 | - "IDENTITY" |
|---|
| 166 | - "REWARD_PROGRAM" |
|---|
| 167 | - "DOCUMENT" |
|---|
| 168 | - "EMAIL_ACCOUNT" |
|---|
| 169 | - "SOCIAL_SECURITY_NUMBER" |
|---|
| 170 | - "MEDICAL_RECORD" |
|---|
| 171 | - "SSH_KEY" |
|---|
| 172 | - "CUSTOM" |
|---|
| 173 | urls: |
|---|
| 174 | type: array |
|---|
| 175 | items: |
|---|
| 176 | type: object |
|---|
| 177 | required: |
|---|
| 178 | - href |
|---|
| 179 | properties: |
|---|
| 180 | label: |
|---|
| 181 | type: string |
|---|
| 182 | primary: |
|---|
| 183 | type: boolean |
|---|
| 184 | href: |
|---|
| 185 | type: string |
|---|
| 186 | format: url |
|---|
| 187 | example: |
|---|
| 188 | - primary: true |
|---|
| 189 | href: https://example.com |
|---|
| 190 | - href: https://example.org |
|---|
| 191 | favorite: |
|---|
| 192 | type: boolean |
|---|
| 193 | default: false |
|---|
| 194 | tags: |
|---|
| 195 | type: array |
|---|
| 196 | items: |
|---|
| 197 | type: string |
|---|
| 198 | version: |
|---|
| 199 | type: integer |
|---|
| 200 | state: |
|---|
| 201 | type: string |
|---|
| 202 | readOnly: true |
|---|
| 203 | enum: |
|---|
| 204 | - "ARCHIVED" |
|---|
| 205 | - "DELETED" |
|---|
| 206 | createdAt: |
|---|
| 207 | type: string |
|---|
| 208 | format: date-time |
|---|
| 209 | readOnly: true |
|---|
| 210 | updatedAt: |
|---|
| 211 | type: string |
|---|
| 212 | format: date-time |
|---|
| 213 | readOnly: true |
|---|
| 214 | lastEditedBy: |
|---|
| 215 | type: string |
|---|
| 216 | readOnly: true |
|---|
| 217 | FullItem: |
|---|
| 218 | allOf: |
|---|
| 219 | - $ref: "#/components/schemas/Item" |
|---|
| 220 | - type: object |
|---|
| 221 | properties: |
|---|
| 222 | sections: |
|---|
| 223 | type: array |
|---|
| 224 | items: |
|---|
| 225 | type: object |
|---|
| 226 | properties: |
|---|
| 227 | id: |
|---|
| 228 | type: string |
|---|
| 229 | label: |
|---|
| 230 | type: string |
|---|
| 231 | fields: |
|---|
| 232 | type: array |
|---|
| 233 | items: |
|---|
| 234 | $ref: '#/components/schemas/Field' |
|---|
| 235 | files: |
|---|
| 236 | type: array |
|---|
| 237 | items: |
|---|
| 238 | $ref: '#/components/schemas/File' |
|---|
| 239 | Field: |
|---|
| 240 | type: object |
|---|
| 241 | required: |
|---|
| 242 | - id |
|---|
| 243 | - type |
|---|
| 244 | properties: |
|---|
| 245 | id: |
|---|
| 246 | type: string |
|---|
| 247 | section: |
|---|
| 248 | type: object |
|---|
| 249 | properties: |
|---|
| 250 | id: |
|---|
| 251 | type: string |
|---|
| 252 | type: |
|---|
| 253 | type: string |
|---|
| 254 | default: "STRING" |
|---|
| 255 | enum: |
|---|
| 256 | - "STRING" |
|---|
| 257 | - "EMAIL" |
|---|
| 258 | - "CONCEALED" |
|---|
| 259 | - "URL" |
|---|
| 260 | - "TOTP" |
|---|
| 261 | - "DATE" |
|---|
| 262 | - "MONTH_YEAR" |
|---|
| 263 | - "MENU" |
|---|
| 264 | purpose: |
|---|
| 265 | description: Some item types, Login and Password, have fields used for autofill. This property indicates that purpose and is required for some item types. |
|---|
| 266 | type: string |
|---|
| 267 | enum: |
|---|
| 268 | - "" |
|---|
| 269 | - "USERNAME" |
|---|
| 270 | - "PASSWORD" |
|---|
| 271 | - "NOTES" |
|---|
| 272 | label: |
|---|
| 273 | type: string |
|---|
| 274 | value: |
|---|
| 275 | type: string |
|---|
| 276 | generate: |
|---|
| 277 | description: If value is not present then a new value should be generated for this field |
|---|
| 278 | type: boolean |
|---|
| 279 | default: false |
|---|
| 280 | recipe: |
|---|
| 281 | $ref: "#/components/schemas/GeneratorRecipe" |
|---|
| 282 | entropy: |
|---|
| 283 | description: For fields with a purpose of `PASSWORD` this is the entropy of the value |
|---|
| 284 | type: number |
|---|
| 285 | readOnly: true |
|---|
| 286 | APIRequest: |
|---|
| 287 | description: Represents a request that was made to the API. Including what Token was used and what resource was accessed. |
|---|
| 288 | type: object |
|---|
| 289 | properties: |
|---|
| 290 | requestId: |
|---|
| 291 | description: The unique id used to identify a single request. |
|---|
| 292 | type: string |
|---|
| 293 | format: uuid |
|---|
| 294 | timestamp: |
|---|
| 295 | description: The time at which the request was processed by the server. |
|---|
| 296 | type: string |
|---|
| 297 | format: date-time |
|---|
| 298 | readOnly: true |
|---|
| 299 | action: |
|---|
| 300 | type: string |
|---|
| 301 | enum: |
|---|
| 302 | - READ |
|---|
| 303 | - CREATE |
|---|
| 304 | - UPDATE |
|---|
| 305 | - DELETE |
|---|
| 306 | result: |
|---|
| 307 | type: string |
|---|
| 308 | enum: |
|---|
| 309 | - SUCCESS |
|---|
| 310 | - DENY |
|---|
| 311 | actor: |
|---|
| 312 | type: object |
|---|
| 313 | properties: |
|---|
| 314 | id: |
|---|
| 315 | type: string |
|---|
| 316 | format: uuid |
|---|
| 317 | account: |
|---|
| 318 | type: string |
|---|
| 319 | jti: |
|---|
| 320 | type: string |
|---|
| 321 | userAgent: |
|---|
| 322 | type: string |
|---|
| 323 | requestIp: |
|---|
| 324 | type: string |
|---|
| 325 | resource: |
|---|
| 326 | type: object |
|---|
| 327 | properties: |
|---|
| 328 | type: |
|---|
| 329 | type: string |
|---|
| 330 | enum: |
|---|
| 331 | - ITEM |
|---|
| 332 | - VAULT |
|---|
| 333 | vault: |
|---|
| 334 | type: object |
|---|
| 335 | properties: |
|---|
| 336 | id: |
|---|
| 337 | type: string |
|---|
| 338 | pattern: '^[\da-z]{26}$' |
|---|
| 339 | item: |
|---|
| 340 | type: object |
|---|
| 341 | properties: |
|---|
| 342 | id: |
|---|
| 343 | type: string |
|---|
| 344 | pattern: '^[\da-z]{26}$' |
|---|
| 345 | itemVersion: |
|---|
| 346 | type: integer |
|---|
| 347 | Patch: |
|---|
| 348 | type: array |
|---|
| 349 | items: |
|---|
| 350 | type: object |
|---|
| 351 | properties: |
|---|
| 352 | op: |
|---|
| 353 | type: string |
|---|
| 354 | enum: [ add, remove, replace ] |
|---|
| 355 | path: |
|---|
| 356 | type: string |
|---|
| 357 | description: An RFC6901 JSON Pointer pointing to the Item document, an Item Attribute, and Item Field by Field ID, or an Item Field Attribute |
|---|
| 358 | example: "/fields/06gnn2b95example10q91512p5/label" |
|---|
| 359 | value: |
|---|
| 360 | type: object |
|---|
| 361 | required: |
|---|
| 362 | - op |
|---|
| 363 | - path |
|---|
| 364 | ServiceDependency: |
|---|
| 365 | description: The state of a registered server dependency. |
|---|
| 366 | type: object |
|---|
| 367 | properties: |
|---|
| 368 | service: |
|---|
| 369 | type: string |
|---|
| 370 | status: |
|---|
| 371 | type: string |
|---|
| 372 | message: |
|---|
| 373 | type: string |
|---|
| 374 | description: Human-readable message for explaining the current state. |
|---|
| 375 | |
|---|
| 376 | |
|---|
| 377 | paths: |
|---|
| 378 | /activity: |
|---|
| 379 | get: |
|---|
| 380 | operationId: GetApiActivity |
|---|
| 381 | tags: |
|---|
| 382 | - Activity |
|---|
| 383 | summary: Retrieve a list of API Requests that have been made. |
|---|
| 384 | security: |
|---|
| 385 | - ConnectToken: [ ] |
|---|
| 386 | parameters: |
|---|
| 387 | - in: query |
|---|
| 388 | name: limit |
|---|
| 389 | schema: |
|---|
| 390 | type: integer |
|---|
| 391 | example: 10 |
|---|
| 392 | default: 50 |
|---|
| 393 | description: How many API Events should be retrieved in a single request. |
|---|
| 394 | - in: query |
|---|
| 395 | name: offset |
|---|
| 396 | schema: |
|---|
| 397 | type: integer |
|---|
| 398 | example: 50 |
|---|
| 399 | default: 0 |
|---|
| 400 | description: How far into the collection of API Events should the response start |
|---|
| 401 | responses: |
|---|
| 402 | "200": |
|---|
| 403 | description: OK |
|---|
| 404 | headers: |
|---|
| 405 | Content-Range: |
|---|
| 406 | description: An decription of what part of the collection has been returned as well as the total size. |
|---|
| 407 | schema: |
|---|
| 408 | type: string |
|---|
| 409 | example: 1-50/1134 |
|---|
| 410 | content: |
|---|
| 411 | application/json: |
|---|
| 412 | schema: |
|---|
| 413 | type: array |
|---|
| 414 | items: |
|---|
| 415 | $ref: "#/components/schemas/APIRequest" |
|---|
| 416 | "401": |
|---|
| 417 | description: Invalid or missing token |
|---|
| 418 | content: |
|---|
| 419 | application/json: |
|---|
| 420 | schema: |
|---|
| 421 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 422 | example: |
|---|
| 423 | status: 401 |
|---|
| 424 | message: Invalid token signature |
|---|
| 425 | /vaults: |
|---|
| 426 | get: |
|---|
| 427 | operationId: GetVaults |
|---|
| 428 | tags: |
|---|
| 429 | - Vaults |
|---|
| 430 | summary: Get all Vaults |
|---|
| 431 | security: |
|---|
| 432 | - ConnectToken: [ ] |
|---|
| 433 | parameters: |
|---|
| 434 | - in: query |
|---|
| 435 | name: filter |
|---|
| 436 | schema: |
|---|
| 437 | type: string |
|---|
| 438 | example: name eq "Some Vault Name" |
|---|
| 439 | description: Filter the Vault collection based on Vault name using SCIM eq filter |
|---|
| 440 | responses: |
|---|
| 441 | "200": |
|---|
| 442 | description: OK |
|---|
| 443 | content: |
|---|
| 444 | application/json: |
|---|
| 445 | schema: |
|---|
| 446 | type: array |
|---|
| 447 | items: |
|---|
| 448 | $ref: "#/components/schemas/Vault" |
|---|
| 449 | "401": |
|---|
| 450 | description: Invalid or missing token |
|---|
| 451 | content: |
|---|
| 452 | application/json: |
|---|
| 453 | schema: |
|---|
| 454 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 455 | example: |
|---|
| 456 | status: 401 |
|---|
| 457 | message: Invalid token signature |
|---|
| 458 | /vaults/{vaultUuid}: |
|---|
| 459 | get: |
|---|
| 460 | operationId: GetVaultById |
|---|
| 461 | tags: |
|---|
| 462 | - Vaults |
|---|
| 463 | summary: Get Vault details and metadata |
|---|
| 464 | security: |
|---|
| 465 | - ConnectToken: [ ] |
|---|
| 466 | parameters: |
|---|
| 467 | - in: path |
|---|
| 468 | name: vaultUuid |
|---|
| 469 | schema: |
|---|
| 470 | type: string |
|---|
| 471 | pattern: '^[\da-z]{26}$' |
|---|
| 472 | required: true |
|---|
| 473 | description: The UUID of the Vault to fetch Items from |
|---|
| 474 | responses: |
|---|
| 475 | "200": |
|---|
| 476 | description: OK |
|---|
| 477 | content: |
|---|
| 478 | application/json: |
|---|
| 479 | schema: |
|---|
| 480 | $ref: "#/components/schemas/Vault" |
|---|
| 481 | "401": |
|---|
| 482 | description: Invalid or missing token |
|---|
| 483 | content: |
|---|
| 484 | application/json: |
|---|
| 485 | schema: |
|---|
| 486 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 487 | example: |
|---|
| 488 | status: 401 |
|---|
| 489 | message: Invalid token signature |
|---|
| 490 | "403": |
|---|
| 491 | description: Unauthorized access |
|---|
| 492 | content: |
|---|
| 493 | application/json: |
|---|
| 494 | schema: |
|---|
| 495 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 496 | example: |
|---|
| 497 | status: 403 |
|---|
| 498 | message: vault {vaultUuid} is not in scope |
|---|
| 499 | "404": |
|---|
| 500 | description: Vault not found |
|---|
| 501 | content: |
|---|
| 502 | application/json: |
|---|
| 503 | schema: |
|---|
| 504 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 505 | example: |
|---|
| 506 | status: 404 |
|---|
| 507 | message: vault {itemUuid} not found |
|---|
| 508 | /vaults/{vaultUuid}/items: |
|---|
| 509 | get: |
|---|
| 510 | operationId: GetVaultItems |
|---|
| 511 | tags: |
|---|
| 512 | - Items |
|---|
| 513 | summary: Get all items for inside a Vault |
|---|
| 514 | security: |
|---|
| 515 | - ConnectToken: [ ] |
|---|
| 516 | parameters: |
|---|
| 517 | - in: path |
|---|
| 518 | name: vaultUuid |
|---|
| 519 | schema: |
|---|
| 520 | type: string |
|---|
| 521 | pattern: '^[\da-z]{26}$' |
|---|
| 522 | required: true |
|---|
| 523 | description: The UUID of the Vault to fetch Items from |
|---|
| 524 | - in: query |
|---|
| 525 | name: filter |
|---|
| 526 | schema: |
|---|
| 527 | type: string |
|---|
| 528 | example: title eq "Some Item Name" |
|---|
| 529 | description: Filter the Item collection based on Item name using SCIM eq filter |
|---|
| 530 | responses: |
|---|
| 531 | "200": |
|---|
| 532 | description: OK |
|---|
| 533 | content: |
|---|
| 534 | application/json: |
|---|
| 535 | schema: |
|---|
| 536 | type: array |
|---|
| 537 | items: |
|---|
| 538 | $ref: "#/components/schemas/Item" |
|---|
| 539 | "401": |
|---|
| 540 | description: Invalid or missing token |
|---|
| 541 | content: |
|---|
| 542 | application/json: |
|---|
| 543 | schema: |
|---|
| 544 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 545 | example: |
|---|
| 546 | status: 401 |
|---|
| 547 | message: Invalid token signature |
|---|
| 548 | "404": |
|---|
| 549 | description: Vault not found |
|---|
| 550 | content: |
|---|
| 551 | application/json: |
|---|
| 552 | schema: |
|---|
| 553 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 554 | example: |
|---|
| 555 | status: 404 |
|---|
| 556 | message: vault {vaultUuid} not found |
|---|
| 557 | post: |
|---|
| 558 | operationId: CreateVaultItem |
|---|
| 559 | tags: |
|---|
| 560 | - Items |
|---|
| 561 | summary: Create a new Item |
|---|
| 562 | security: |
|---|
| 563 | - ConnectToken: [ ] |
|---|
| 564 | parameters: |
|---|
| 565 | - in: path |
|---|
| 566 | name: vaultUuid |
|---|
| 567 | schema: |
|---|
| 568 | type: string |
|---|
| 569 | pattern: '^[\da-z]{26}$' |
|---|
| 570 | required: true |
|---|
| 571 | description: The UUID of the Vault to create an Item in |
|---|
| 572 | requestBody: |
|---|
| 573 | content: |
|---|
| 574 | application/json: |
|---|
| 575 | schema: |
|---|
| 576 | $ref: "#/components/schemas/FullItem" |
|---|
| 577 | responses: |
|---|
| 578 | "200": |
|---|
| 579 | description: OK |
|---|
| 580 | content: |
|---|
| 581 | application/json: |
|---|
| 582 | schema: |
|---|
| 583 | $ref: "#/components/schemas/FullItem" |
|---|
| 584 | "400": |
|---|
| 585 | description: Unable to create item due to invalid input |
|---|
| 586 | content: |
|---|
| 587 | application/json: |
|---|
| 588 | schema: |
|---|
| 589 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 590 | example: |
|---|
| 591 | status: 400 |
|---|
| 592 | message: Invalid item category |
|---|
| 593 | "401": |
|---|
| 594 | description: Invalid or missing token |
|---|
| 595 | content: |
|---|
| 596 | application/json: |
|---|
| 597 | schema: |
|---|
| 598 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 599 | example: |
|---|
| 600 | status: 401 |
|---|
| 601 | message: Invalid token signature |
|---|
| 602 | "403": |
|---|
| 603 | description: Unauthorized access |
|---|
| 604 | content: |
|---|
| 605 | application/json: |
|---|
| 606 | schema: |
|---|
| 607 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 608 | example: |
|---|
| 609 | status: 403 |
|---|
| 610 | message: vault {vaultUuid} is not in scope |
|---|
| 611 | "404": |
|---|
| 612 | description: Item not found |
|---|
| 613 | content: |
|---|
| 614 | application/json: |
|---|
| 615 | schema: |
|---|
| 616 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 617 | examples: |
|---|
| 618 | vaultNotFound: |
|---|
| 619 | summary: Vault not found |
|---|
| 620 | value: |
|---|
| 621 | status: 404 |
|---|
| 622 | message: vault {vaultUuid} not found |
|---|
| 623 | /vaults/{vaultUuid}/items/{itemUuid}: |
|---|
| 624 | get: |
|---|
| 625 | operationId: GetVaultItemById |
|---|
| 626 | tags: |
|---|
| 627 | - Items |
|---|
| 628 | summary: Get the details of an Item |
|---|
| 629 | security: |
|---|
| 630 | - ConnectToken: [ ] |
|---|
| 631 | parameters: |
|---|
| 632 | - in: path |
|---|
| 633 | name: vaultUuid |
|---|
| 634 | schema: |
|---|
| 635 | type: string |
|---|
| 636 | pattern: '^[\da-z]{26}$' |
|---|
| 637 | required: true |
|---|
| 638 | description: The UUID of the Vault to fetch Item from |
|---|
| 639 | - in: path |
|---|
| 640 | name: itemUuid |
|---|
| 641 | schema: |
|---|
| 642 | type: string |
|---|
| 643 | pattern: '^[\da-z]{26}$' |
|---|
| 644 | required: true |
|---|
| 645 | description: The UUID of the Item to fetch |
|---|
| 646 | responses: |
|---|
| 647 | "200": |
|---|
| 648 | description: OK |
|---|
| 649 | content: |
|---|
| 650 | application/json: |
|---|
| 651 | schema: |
|---|
| 652 | $ref: "#/components/schemas/FullItem" |
|---|
| 653 | "401": |
|---|
| 654 | description: Invalid or missing token |
|---|
| 655 | content: |
|---|
| 656 | application/json: |
|---|
| 657 | schema: |
|---|
| 658 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 659 | example: |
|---|
| 660 | status: 401 |
|---|
| 661 | message: Invalid token signature |
|---|
| 662 | "403": |
|---|
| 663 | description: Unauthorized access |
|---|
| 664 | content: |
|---|
| 665 | application/json: |
|---|
| 666 | schema: |
|---|
| 667 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 668 | example: |
|---|
| 669 | status: 403 |
|---|
| 670 | message: vault {vaultUuid} is not in scope |
|---|
| 671 | "404": |
|---|
| 672 | description: Item not found |
|---|
| 673 | content: |
|---|
| 674 | application/json: |
|---|
| 675 | schema: |
|---|
| 676 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 677 | examples: |
|---|
| 678 | itemNotFound: |
|---|
| 679 | summary: Item not found |
|---|
| 680 | value: |
|---|
| 681 | status: 404 |
|---|
| 682 | message: item {itemUuid} not found |
|---|
| 683 | vaultNotFound: |
|---|
| 684 | summary: Vault not found |
|---|
| 685 | value: |
|---|
| 686 | status: 404 |
|---|
| 687 | message: vault {vaultUuid} not found |
|---|
| 688 | put: |
|---|
| 689 | operationId: UpdateVaultItem |
|---|
| 690 | tags: |
|---|
| 691 | - Items |
|---|
| 692 | summary: Update an Item |
|---|
| 693 | security: |
|---|
| 694 | - ConnectToken: [ ] |
|---|
| 695 | parameters: |
|---|
| 696 | - in: path |
|---|
| 697 | name: vaultUuid |
|---|
| 698 | schema: |
|---|
| 699 | type: string |
|---|
| 700 | pattern: '^[\da-z]{26}$' |
|---|
| 701 | required: true |
|---|
| 702 | description: The UUID of the Item's Vault |
|---|
| 703 | - in: path |
|---|
| 704 | name: itemUuid |
|---|
| 705 | schema: |
|---|
| 706 | type: string |
|---|
| 707 | pattern: '^[\da-z]{26}$' |
|---|
| 708 | required: true |
|---|
| 709 | description: The UUID of the Item to update |
|---|
| 710 | requestBody: |
|---|
| 711 | content: |
|---|
| 712 | application/json: |
|---|
| 713 | schema: |
|---|
| 714 | $ref: "#/components/schemas/FullItem" |
|---|
| 715 | responses: |
|---|
| 716 | "200": |
|---|
| 717 | description: OK |
|---|
| 718 | content: |
|---|
| 719 | application/json: |
|---|
| 720 | schema: |
|---|
| 721 | $ref: "#/components/schemas/FullItem" |
|---|
| 722 | "400": |
|---|
| 723 | description: Unable to create item due to invalid input |
|---|
| 724 | content: |
|---|
| 725 | application/json: |
|---|
| 726 | schema: |
|---|
| 727 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 728 | example: |
|---|
| 729 | status: 400 |
|---|
| 730 | message: The item doesn't have a {example field name} field. |
|---|
| 731 | "401": |
|---|
| 732 | description: Invalid or missing token |
|---|
| 733 | content: |
|---|
| 734 | application/json: |
|---|
| 735 | schema: |
|---|
| 736 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 737 | example: |
|---|
| 738 | status: 401 |
|---|
| 739 | message: Invalid token signature |
|---|
| 740 | "403": |
|---|
| 741 | description: Unauthorized access |
|---|
| 742 | content: |
|---|
| 743 | application/json: |
|---|
| 744 | schema: |
|---|
| 745 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 746 | example: |
|---|
| 747 | status: 403 |
|---|
| 748 | message: vault {vaultUuid} is not in scope |
|---|
| 749 | "404": |
|---|
| 750 | description: Item not found |
|---|
| 751 | content: |
|---|
| 752 | application/json: |
|---|
| 753 | schema: |
|---|
| 754 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 755 | examples: |
|---|
| 756 | itemNotFound: |
|---|
| 757 | summary: Item not found |
|---|
| 758 | value: |
|---|
| 759 | status: 404 |
|---|
| 760 | message: item {itemUuid} not found |
|---|
| 761 | vaultNotFound: |
|---|
| 762 | summary: Vault not found |
|---|
| 763 | value: |
|---|
| 764 | status: 404 |
|---|
| 765 | message: vault {vaultUuid} not found |
|---|
| 766 | delete: |
|---|
| 767 | operationId: DeleteVaultItem |
|---|
| 768 | tags: |
|---|
| 769 | - Items |
|---|
| 770 | summary: Delete an Item |
|---|
| 771 | security: |
|---|
| 772 | - ConnectToken: [ ] |
|---|
| 773 | parameters: |
|---|
| 774 | - in: path |
|---|
| 775 | name: vaultUuid |
|---|
| 776 | schema: |
|---|
| 777 | type: string |
|---|
| 778 | pattern: '^[\da-z]{26}$' |
|---|
| 779 | required: true |
|---|
| 780 | description: The UUID of the Vault the item is in |
|---|
| 781 | - in: path |
|---|
| 782 | name: itemUuid |
|---|
| 783 | schema: |
|---|
| 784 | type: string |
|---|
| 785 | pattern: '^[\da-z]{26}$' |
|---|
| 786 | required: true |
|---|
| 787 | description: The UUID of the Item to update |
|---|
| 788 | responses: |
|---|
| 789 | "204": |
|---|
| 790 | description: Successfully deleted an item |
|---|
| 791 | "401": |
|---|
| 792 | description: Invalid or missing token |
|---|
| 793 | content: |
|---|
| 794 | application/json: |
|---|
| 795 | schema: |
|---|
| 796 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 797 | example: |
|---|
| 798 | status: 401 |
|---|
| 799 | message: Invalid token signature |
|---|
| 800 | "403": |
|---|
| 801 | description: Unauthorized access |
|---|
| 802 | content: |
|---|
| 803 | application/json: |
|---|
| 804 | schema: |
|---|
| 805 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 806 | example: |
|---|
| 807 | status: 403 |
|---|
| 808 | message: vault {vaultUuid} is not in scope |
|---|
| 809 | "404": |
|---|
| 810 | description: Item not found |
|---|
| 811 | content: |
|---|
| 812 | application/json: |
|---|
| 813 | schema: |
|---|
| 814 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 815 | examples: |
|---|
| 816 | vaultNotFound: |
|---|
| 817 | summary: Vault not found |
|---|
| 818 | value: |
|---|
| 819 | status: 404 |
|---|
| 820 | message: vault {vaultUuid} not found |
|---|
| 821 | patch: |
|---|
| 822 | description: > |
|---|
| 823 | 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. |
|---|
| 824 | |
|---|
| 825 | |
|---|
| 826 | When modifying a specific ItemField, the ItemField's ID in the `path` attribute of the operation object: `/fields/{fieldId}` |
|---|
| 827 | |
|---|
| 828 | operationId: PatchVaultItem |
|---|
| 829 | tags: |
|---|
| 830 | - Items |
|---|
| 831 | summary: Update a subset of Item attributes |
|---|
| 832 | security: |
|---|
| 833 | - ConnectToken: [ ] |
|---|
| 834 | parameters: |
|---|
| 835 | - in: path |
|---|
| 836 | name: vaultUuid |
|---|
| 837 | schema: |
|---|
| 838 | type: string |
|---|
| 839 | pattern: '^[\da-z]{26}$' |
|---|
| 840 | required: true |
|---|
| 841 | description: The UUID of the Vault the item is in |
|---|
| 842 | - in: path |
|---|
| 843 | name: itemUuid |
|---|
| 844 | schema: |
|---|
| 845 | type: string |
|---|
| 846 | pattern: '^[\da-z]{26}$' |
|---|
| 847 | required: true |
|---|
| 848 | description: The UUID of the Item to update |
|---|
| 849 | requestBody: |
|---|
| 850 | content: |
|---|
| 851 | application/json: |
|---|
| 852 | schema: |
|---|
| 853 | $ref: "#/components/schemas/Patch" |
|---|
| 854 | examples: |
|---|
| 855 | ReplaceAllAttributes: |
|---|
| 856 | value: |
|---|
| 857 | - op: replace |
|---|
| 858 | path: "/" |
|---|
| 859 | value: { "title": "New Title", "favorite": true, "tags": [ "tag1", "tag2" ], "...": "Any attr from FullItem schema" } |
|---|
| 860 | summary: Replace an entire Item with new fields. Equivalent to a PUT request. |
|---|
| 861 | PatchItemAttr: |
|---|
| 862 | value: |
|---|
| 863 | - op: "replace" |
|---|
| 864 | path: "/favorite" |
|---|
| 865 | value: true |
|---|
| 866 | - op: "remove" |
|---|
| 867 | path: "/tags/1" |
|---|
| 868 | summary: Update specific Item attributes |
|---|
| 869 | PatchItemField: |
|---|
| 870 | value: |
|---|
| 871 | - op: "add" |
|---|
| 872 | path: "/fields" |
|---|
| 873 | value: { "label": "New Field", "type": "string", "value": "hunter2" } |
|---|
| 874 | summary: Add a new ItemField to the Item |
|---|
| 875 | PatchItemFieldWithID: |
|---|
| 876 | value: |
|---|
| 877 | - op: "replace" |
|---|
| 878 | path: "/fields/r9qxq7xnhfhukoxsc8ymqr0y11" |
|---|
| 879 | value: { "label": "Replacement Title", "type": "string", "value": "new value" } |
|---|
| 880 | - op: "remove" |
|---|
| 881 | path: "/fields/h2nl155dshi043yse7wa3u1hs7" |
|---|
| 882 | summary: Modify or remove an ItemField. |
|---|
| 883 | PatchItemFieldAttr: |
|---|
| 884 | value: |
|---|
| 885 | - op: "add" |
|---|
| 886 | path: "/fields/s2ju540zlna8bdj4uro7sj64rk/label" |
|---|
| 887 | value: "New field name" |
|---|
| 888 | - op: "remove" |
|---|
| 889 | path: "/fields/s2ju540zlna8bdj4uro7sj64rk/value" |
|---|
| 890 | summary: Modify a specific ItemField attribute. |
|---|
| 891 | |
|---|
| 892 | responses: |
|---|
| 893 | "200": |
|---|
| 894 | description: OK - Item updated. If no Patch operations were provided, Item is unmodified. |
|---|
| 895 | content: |
|---|
| 896 | application/json: |
|---|
| 897 | schema: |
|---|
| 898 | $ref: "#/components/schemas/FullItem" |
|---|
| 899 | "401": |
|---|
| 900 | description: Invalid or missing token |
|---|
| 901 | content: |
|---|
| 902 | application/json: |
|---|
| 903 | schema: |
|---|
| 904 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 905 | example: |
|---|
| 906 | status: 401 |
|---|
| 907 | message: Invalid token signature |
|---|
| 908 | "403": |
|---|
| 909 | description: Unauthorized access |
|---|
| 910 | content: |
|---|
| 911 | application/json: |
|---|
| 912 | schema: |
|---|
| 913 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 914 | example: |
|---|
| 915 | status: 403 |
|---|
| 916 | message: vault {vaultUuid} is not in scope |
|---|
| 917 | "404": |
|---|
| 918 | description: Item not found |
|---|
| 919 | content: |
|---|
| 920 | application/json: |
|---|
| 921 | schema: |
|---|
| 922 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 923 | examples: |
|---|
| 924 | itemNotFound: |
|---|
| 925 | summary: Item not found |
|---|
| 926 | value: |
|---|
| 927 | status: 404 |
|---|
| 928 | message: item {itemUuid} not found |
|---|
| 929 | vaultNotFound: |
|---|
| 930 | summary: Vault not found |
|---|
| 931 | value: |
|---|
| 932 | status: 404 |
|---|
| 933 | message: vault {vaultUuid} not found |
|---|
| 934 | /vaults/{vaultUuid}/items/{itemUuid}/files: |
|---|
| 935 | get: |
|---|
| 936 | operationId: GetItemFiles |
|---|
| 937 | tags: |
|---|
| 938 | - Files |
|---|
| 939 | summary: Get all the files inside an Item |
|---|
| 940 | security: |
|---|
| 941 | - ConnectToken: [ ] |
|---|
| 942 | parameters: |
|---|
| 943 | - in: path |
|---|
| 944 | name: vaultUuid |
|---|
| 945 | schema: |
|---|
| 946 | type: string |
|---|
| 947 | format: uuid |
|---|
| 948 | required: true |
|---|
| 949 | description: The UUID of the Vault to fetch Items from |
|---|
| 950 | - in: path |
|---|
| 951 | name: itemUuid |
|---|
| 952 | schema: |
|---|
| 953 | type: string |
|---|
| 954 | format: uuid |
|---|
| 955 | required: true |
|---|
| 956 | description: The UUID of the Item to fetch files from |
|---|
| 957 | - in: query |
|---|
| 958 | name: inline_files |
|---|
| 959 | schema: |
|---|
| 960 | type: boolean |
|---|
| 961 | example: true |
|---|
| 962 | description: Tells server to return the base64-encoded file contents in the response. |
|---|
| 963 | responses: |
|---|
| 964 | "200": |
|---|
| 965 | description: OK |
|---|
| 966 | content: |
|---|
| 967 | application/json: |
|---|
| 968 | schema: |
|---|
| 969 | type: array |
|---|
| 970 | items: |
|---|
| 971 | $ref: "#/components/schemas/File" |
|---|
| 972 | "401": |
|---|
| 973 | description: Invalid or missing token |
|---|
| 974 | content: |
|---|
| 975 | application/json: |
|---|
| 976 | schema: |
|---|
| 977 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 978 | example: |
|---|
| 979 | status: 401 |
|---|
| 980 | message: Invalid token signature |
|---|
| 981 | "404": |
|---|
| 982 | description: Item not found |
|---|
| 983 | content: |
|---|
| 984 | application/json: |
|---|
| 985 | schema: |
|---|
| 986 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 987 | examples: |
|---|
| 988 | itemNotFound: |
|---|
| 989 | summary: Item not found |
|---|
| 990 | value: |
|---|
| 991 | status: 404 |
|---|
| 992 | message: item {itemUuid} not found |
|---|
| 993 | vaultNotFound: |
|---|
| 994 | summary: Vault not found |
|---|
| 995 | value: |
|---|
| 996 | status: 404 |
|---|
| 997 | message: vault {vaultUuid} not found |
|---|
| 998 | "413": |
|---|
| 999 | description: File content too large to display |
|---|
| 1000 | content: |
|---|
| 1001 | application/json: |
|---|
| 1002 | schema: |
|---|
| 1003 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1004 | examples: |
|---|
| 1005 | fileTooLarge: |
|---|
| 1006 | summary: File too large |
|---|
| 1007 | value: |
|---|
| 1008 | status: 413 |
|---|
| 1009 | message: File is too large to inline in request. Use the /v1/vaults/{vaultUUID}/items/{itemUUID}/files/{fileUUID}/content endpoint instead. |
|---|
| 1010 | /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}: |
|---|
| 1011 | get: |
|---|
| 1012 | operationId: GetDetailsOfFileById |
|---|
| 1013 | tags: |
|---|
| 1014 | - Files |
|---|
| 1015 | summary: Get the details of a File |
|---|
| 1016 | security: |
|---|
| 1017 | - ConnectToken: [ ] |
|---|
| 1018 | parameters: |
|---|
| 1019 | - in: path |
|---|
| 1020 | name: vaultUuid |
|---|
| 1021 | schema: |
|---|
| 1022 | type: string |
|---|
| 1023 | format: uuid |
|---|
| 1024 | required: true |
|---|
| 1025 | description: The UUID of the Vault to fetch Item from |
|---|
| 1026 | - in: path |
|---|
| 1027 | name: itemUuid |
|---|
| 1028 | schema: |
|---|
| 1029 | type: string |
|---|
| 1030 | format: uuid |
|---|
| 1031 | required: true |
|---|
| 1032 | description: The UUID of the Item to fetch File from |
|---|
| 1033 | - in: path |
|---|
| 1034 | name: fileUuid |
|---|
| 1035 | schema: |
|---|
| 1036 | type: string |
|---|
| 1037 | format: uuid |
|---|
| 1038 | required: true |
|---|
| 1039 | description: The UUID of the File to fetch |
|---|
| 1040 | - in: query |
|---|
| 1041 | name: inline_files |
|---|
| 1042 | schema: |
|---|
| 1043 | type: boolean |
|---|
| 1044 | example: true |
|---|
| 1045 | description: Tells server to return the base64-encoded file contents in the response. |
|---|
| 1046 | responses: |
|---|
| 1047 | "200": |
|---|
| 1048 | description: OK |
|---|
| 1049 | content: |
|---|
| 1050 | application/json: |
|---|
| 1051 | schema: |
|---|
| 1052 | $ref: "#/components/schemas/File" |
|---|
| 1053 | "401": |
|---|
| 1054 | description: Invalid or missing token |
|---|
| 1055 | content: |
|---|
| 1056 | application/json: |
|---|
| 1057 | schema: |
|---|
| 1058 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1059 | example: |
|---|
| 1060 | status: 401 |
|---|
| 1061 | message: Invalid token signature |
|---|
| 1062 | "403": |
|---|
| 1063 | description: Unauthorized access |
|---|
| 1064 | content: |
|---|
| 1065 | application/json: |
|---|
| 1066 | schema: |
|---|
| 1067 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1068 | example: |
|---|
| 1069 | status: 403 |
|---|
| 1070 | message: vault {vaultUuid} is not in scope |
|---|
| 1071 | "404": |
|---|
| 1072 | description: File not found |
|---|
| 1073 | content: |
|---|
| 1074 | application/json: |
|---|
| 1075 | schema: |
|---|
| 1076 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1077 | examples: |
|---|
| 1078 | fileNotFound: |
|---|
| 1079 | summary: File not found |
|---|
| 1080 | value: |
|---|
| 1081 | status: 404 |
|---|
| 1082 | message: file {fileUuid} not found |
|---|
| 1083 | itemNotFound: |
|---|
| 1084 | summary: Item not found |
|---|
| 1085 | value: |
|---|
| 1086 | status: 404 |
|---|
| 1087 | message: item {itemUuid} not found |
|---|
| 1088 | vaultNotFound: |
|---|
| 1089 | summary: Vault not found |
|---|
| 1090 | value: |
|---|
| 1091 | status: 404 |
|---|
| 1092 | message: vault {vaultUuid} not found |
|---|
| 1093 | "413": |
|---|
| 1094 | description: File content too large to display |
|---|
| 1095 | content: |
|---|
| 1096 | application/json: |
|---|
| 1097 | schema: |
|---|
| 1098 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1099 | examples: |
|---|
| 1100 | fileTooLarge: |
|---|
| 1101 | summary: File too large |
|---|
| 1102 | value: |
|---|
| 1103 | status: 413 |
|---|
| 1104 | message: File is too large to inline in request. Use the /v1/vaults/{vaultUUID}/items/{itemUUID}/files/{fileUUID}/content endpoint instead. |
|---|
| 1105 | /vaults/{vaultUuid}/items/{itemUuid}/files/{fileUuid}/content: |
|---|
| 1106 | parameters: |
|---|
| 1107 | - in: path |
|---|
| 1108 | name: vaultUuid |
|---|
| 1109 | schema: |
|---|
| 1110 | type: string |
|---|
| 1111 | format: uuid |
|---|
| 1112 | required: true |
|---|
| 1113 | description: The UUID of the Vault the item is in |
|---|
| 1114 | - in: path |
|---|
| 1115 | name: itemUuid |
|---|
| 1116 | schema: |
|---|
| 1117 | type: string |
|---|
| 1118 | format: uuid |
|---|
| 1119 | required: true |
|---|
| 1120 | description: The UUID of the Item the File is in |
|---|
| 1121 | - in: path |
|---|
| 1122 | name: fileUuid |
|---|
| 1123 | required: true |
|---|
| 1124 | schema: |
|---|
| 1125 | type: string |
|---|
| 1126 | description: UUID of the file to get content from |
|---|
| 1127 | get: |
|---|
| 1128 | operationId: DownloadFileByID |
|---|
| 1129 | tags: |
|---|
| 1130 | - Files |
|---|
| 1131 | summary: Get the content of a File |
|---|
| 1132 | security: |
|---|
| 1133 | - ConnectToken: [ ] |
|---|
| 1134 | responses: |
|---|
| 1135 | "200": |
|---|
| 1136 | description: "Success" |
|---|
| 1137 | content: |
|---|
| 1138 | application/octet-stream: |
|---|
| 1139 | schema: |
|---|
| 1140 | type: string |
|---|
| 1141 | format: binary |
|---|
| 1142 | headers: |
|---|
| 1143 | Content-Disposition: |
|---|
| 1144 | schema: |
|---|
| 1145 | type: string |
|---|
| 1146 | example: attachment; filename="privkey.pem" |
|---|
| 1147 | Content-Length: |
|---|
| 1148 | schema: |
|---|
| 1149 | type: string |
|---|
| 1150 | example: "6432" |
|---|
| 1151 | "401": |
|---|
| 1152 | description: Invalid or missing token |
|---|
| 1153 | content: |
|---|
| 1154 | application/json: |
|---|
| 1155 | schema: |
|---|
| 1156 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1157 | example: |
|---|
| 1158 | status: 401 |
|---|
| 1159 | message: Invalid token signature |
|---|
| 1160 | "404": |
|---|
| 1161 | description: File not found |
|---|
| 1162 | content: |
|---|
| 1163 | application/json: |
|---|
| 1164 | schema: |
|---|
| 1165 | $ref: "#/components/schemas/ErrorResponse" |
|---|
| 1166 | examples: |
|---|
| 1167 | fileNotFound: |
|---|
| 1168 | summary: File not found |
|---|
| 1169 | value: |
|---|
| 1170 | status: 404 |
|---|
| 1171 | message: file {fileUuid} not found |
|---|
| 1172 | itemNotFound: |
|---|
| 1173 | summary: Item not found |
|---|
| 1174 | value: |
|---|
| 1175 | status: 404 |
|---|
| 1176 | message: item {itemUuid} not found |
|---|
| 1177 | vaultNotFound: |
|---|
| 1178 | summary: Vault not found |
|---|
| 1179 | value: |
|---|
| 1180 | status: 404 |
|---|
| 1181 | message: vault {vaultUuid} not found |
|---|
| 1182 | /heartbeat: |
|---|
| 1183 | get: |
|---|
| 1184 | operationId: GetHeartbeat |
|---|
| 1185 | tags: |
|---|
| 1186 | - Health |
|---|
| 1187 | summary: Ping the server for liveness |
|---|
| 1188 | servers: |
|---|
| 1189 | - url: http://localhost:8080 |
|---|
| 1190 | responses: |
|---|
| 1191 | "200": |
|---|
| 1192 | description: OK |
|---|
| 1193 | content: |
|---|
| 1194 | text/plain: |
|---|
| 1195 | schema: |
|---|
| 1196 | type: string |
|---|
| 1197 | example: . |
|---|
| 1198 | /health: |
|---|
| 1199 | get: |
|---|
| 1200 | operationId: GetServerHealth |
|---|
| 1201 | tags: |
|---|
| 1202 | - Health |
|---|
| 1203 | summary: Get state of the server and its dependencies. |
|---|
| 1204 | servers: |
|---|
| 1205 | - url: http://localhost:8080 |
|---|
| 1206 | responses: |
|---|
| 1207 | "200": |
|---|
| 1208 | description: OK |
|---|
| 1209 | content: |
|---|
| 1210 | application/json: |
|---|
| 1211 | schema: |
|---|
| 1212 | type: object |
|---|
| 1213 | required: [ "name", "version" ] |
|---|
| 1214 | properties: |
|---|
| 1215 | name: |
|---|
| 1216 | type: string |
|---|
| 1217 | version: |
|---|
| 1218 | type: string |
|---|
| 1219 | description: The Connect server's version |
|---|
| 1220 | dependencies: |
|---|
| 1221 | type: array |
|---|
| 1222 | items: |
|---|
| 1223 | $ref: "#/components/schemas/ServiceDependency" |
|---|
| 1224 | examples: |
|---|
| 1225 | WaitingForAPIRequest: |
|---|
| 1226 | value: |
|---|
| 1227 | name: 1Password Connect API |
|---|
| 1228 | version: 1.2.1 |
|---|
| 1229 | dependencies: |
|---|
| 1230 | - service: sync |
|---|
| 1231 | status: "TOKEN_NEEDED" |
|---|
| 1232 | - service: sqlite |
|---|
| 1233 | status: "ACTIVE" |
|---|
| 1234 | message: "Connected to./1password.sqlite" |
|---|
| 1235 | summary: API server waiting for first authenticated request |
|---|
| 1236 | |
|---|
| 1237 | /metrics: |
|---|
| 1238 | get: |
|---|
| 1239 | operationId: GetPrometheusMetrics |
|---|
| 1240 | tags: |
|---|
| 1241 | - Metrics |
|---|
| 1242 | description: See Prometheus documentation for a complete data model. |
|---|
| 1243 | summary: Query server for exposed Prometheus metrics |
|---|
| 1244 | servers: |
|---|
| 1245 | - url: http://localhost:8080 |
|---|
| 1246 | responses: |
|---|
| 1247 | "200": |
|---|
| 1248 | description: Successfully returned Prometheus metrics |
|---|
| 1249 | content: |
|---|
| 1250 | text/plain: |
|---|
| 1251 | schema: |
|---|
| 1252 | type: string |
|---|
| 1253 | example: | |
|---|
| 1254 | # HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. |
|---|
| 1255 | # TYPE go_gc_duration_seconds summary |
|---|
| 1256 | go_gc_duration_seconds{quantile="0"} 2.9153e-05 |
|---|
| 1257 | go_gc_duration_seconds{quantile="0.25"} 6.2832e-05 |
|---|
| 1258 | go_gc_duration_seconds{quantile="0.5"} 9.7187e-05 |
|---|
| 1259 | go_gc_duration_seconds{quantile="0.75"} 0.000112967 |
|---|
| 1260 | go_gc_duration_seconds{quantile="1"} 0.000215819 |
|---|
| 1261 | go_gc_duration_seconds_sum 0.001376862 |
|---|
| 1262 | go_gc_duration_seconds_count 14 |
|---|