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.


        When modifying a specific ItemField, the ItemField's ID in the `path` attribute of the operation object: `/fields/{fieldId}`
      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
        '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}/content:
    get:
      tags:
      - Files
      summary: DownloadFileByID
      description: ''
      operationId: DownloadFileByID
      parameters:
      - name: vaultUuid
        in: path
        description: The UUID of the Vault the item is in
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: itemUuid
        in: path
        description: The UUID of the Item the File is in
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: fileUuid
        in: path
        description: UUID of the file to get content from
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: Success
          headers:
            Content-Disposition:
              content:
                text/plain:
                  schema:
                    type: string
                    example: attachment; filename="privkey.pem"
                  example: attachment; filename="privkey.pem"
            Content-Length:
              content:
                text/plain:
                  schema:
                    type: string
                    example: '6432'
                  example: '6432'
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '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: 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
      deprecated: false
      security:
      - ConnectToken: []
components:
  schemas:
    APIRequest:
      title: APIRequest
      type: object
      properties:
        action:
          $ref: '#/components/schemas/Action'
        actor:
          $ref: '#/components/schemas/Actor'
        requestId:
          type: string
          description: The unique id used to identify a single request.
          format: uuid
        resource:
          $ref: '#/components/schemas/Resource'
        result:
          $ref: '#/components/schemas/Result'
        timestamp:
          type: string
          description: The time at which the request was processed by the server.
          format: date-time
          readOnly: true
      description: Represents a request that was made to the API. Including what Token was used and what resource was accessed.
    ErrorResponse:
      title: ErrorResponse
      type: object
      properties:
        message:
          type: string
          description: A message detailing the error
        status:
          type: integer
          description: HTTP Status Code
          format: int32
    Field:
      title: Field
      required:
      - id
      - type
      type: object
      properties:
        entropy:
          type: number
          description: For fields with a purpose of `PASSWORD` this is the entropy of the value
          readOnly: true
        generate:
          type: boolean
          description: If value is not present then a new value should be generated for this field
          default: false
        id:
          type: string
        label:
          type: string
        purpose:
          allOf:
          - $ref: '#/components/schemas/Purpose'
          - description: Some item types, Login and Password, have fields used for autofill. This property indicates that purpose and is required for some item types.
        recipe:
          allOf:
          - $ref: '#/components/schemas/GeneratorRecipe'
          - description: The recipe is used in conjunction with the "generate" property to set the character set used to generate a new secure value
        section:
          $ref: '#/components/schemas/Section'
        type:
          $ref: '#/components/schemas/Type1'
        value:
          type: string
    File:
      title: File
      type: object
      properties:
        content:
          type: string
          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`.
        content_path:
          type: string
          description: Path of the Connect API that can be used to download the contents of this file.
          readOnly: true
        id:
          type: string
          description: ID of the file
        name:
          type: string
          description: Name of the file
        section:
          allOf:
          - $ref: '#/components/schemas/Section1'
          - description: For files that are in a section, this field describes the section.
        size:
          type: integer
          description: Size in bytes of the file
          format: int32
      example:
        content: VGhlIGZ1dHVyZSBiZWxvbmdzIHRvIHRoZSBjdXJpb3VzLgo=
        content_path: v1/vaults/ionaiwtdvgclrixbt6ztpqcxnq/items/p7eflcy7f5mk7vg6zrzf5rjjyu/files/6r65pjq33banznomn7q22sj44e/content
        id: 6r65pjq33banznomn7q22sj44e
        name: foo.txt
        size: 35
    FullItem:
      title: FullItem
      required:
      - category
      - vault
      type: object
      properties:
        category:
          $ref: '#/components/schemas/Category'
        createdAt:
          type: string
          format: date-time
          readOnly: true
        favorite:
          type: boolean
          default: false
        id:
          pattern: ^[\da-z]{26}$
          type: string
        lastEditedBy:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/State'
          - {}
          readOnly: true
        tags:
          type: array
          items:
            type: string
          description: ''
        title:
          type: string
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        urls:
          type: array
          items:
            $ref: '#/components/schemas/Url'
          description: ''
          example:
          - href: https://example.com
            primary: true
          - href: https://example.org
        vault:
          $ref: '#/components/schemas/Vault1'
        version:
          type: integer
          format: int32
        fields:
          type: array
          items:
            $ref: '#/components/schemas/Field'
          description: ''
        files:
          type: array
          items:
            $ref: '#/components/schemas/File'
          description: ''
        sections:
          type: array
          items:
            $ref: '#/components/schemas/Section2'
          description: ''
    GeneratorRecipe:
      title: GeneratorRecipe
      type: object
      properties:
        characterSets:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/CharacterSet'
          description: ''
        excludeCharacters:
          type: string
          description: List of all characters that should be excluded from generated passwords.
          example: abc1
        length:
          maximum: 64
          minimum: 1
          type: integer
          description: Length of the generated value
          format: int32
          default: 32
      description: The recipe is used in conjunction with the "generate" property to set the character set used to generate a new secure value
    Item:
      title: Item
      required:
      - category
      - vault
      type: object
      properties:
        category:
          $ref: '#/components/schemas/Category'
        createdAt:
          type: string
          format: date-time
          readOnly: true
        favorite:
          type: boolean
          default: false
        id:
          pattern: ^[\da-z]{26}$
          type: string
        lastEditedBy:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/State'
          - {}
          readOnly: true
        tags:
          type: array
          items:
            type: string
          description: ''
        title:
          type: string
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        urls:
          type: array
          items:
            $ref: '#/components/schemas/Url'
          description: ''
          example:
          - href: https://example.com
            primary: true
          - href: https://example.org
        vault:
          $ref: '#/components/schemas/Vault1'
        version:
          type: integer
          format: int32
    ServiceDependency:
      title: ServiceDependency
      type: object
      properties:
        message:
          type: string
          description: Human-readable message for explaining the current state.
        service:
          type: string
        status:
          type: string
      description: The state of a registered server dependency.
    Vault:
      title: Vault
      type: object
      properties:
        attributeVersion:
          type: integer
          description: The vault version
          format: int32
        contentVersion:
          type: integer
          description: The version of the vault contents
          format: int32
        createdAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        id:
          pattern: ^[\da-z]{26}$
          type: string
        items:
          type: integer
          description: Number of active items in the vault
          format: int32
        name:
          type: string
        type:
          $ref: '#/components/schemas/Type2'
        updatedAt:
          type: string
          format: date-time
          readOnly: true
    Action:
      title: Action
      enum:
      - READ
      - CREATE
      - UPDATE
      - DELETE
      type: string
    Actor:
      title: Actor
      type: object
      properties:
        account:
          type: string
        id:
          type: string
          format: uuid
        jti:
          type: string
        requestIp:
          type: string
        userAgent:
          type: string
    Category:
      title: 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
    CharacterSet:
      title: CharacterSet
      enum:
      - LETTERS
      - DIGITS
      - SYMBOLS
      type: string
    HealthResponse:
      title: HealthResponse
      required:
      - name
      - version
      type: object
      properties:
        dependencies:
          type: array
          items:
            $ref: '#/components/schemas/ServiceDependency'
          description: ''
        name:
          type: string
        version:
          type: string
          description: The Connect server's version
    Item2:
      title: Item2
      type: object
      properties:
        id:
          pattern: ^[\da-z]{26}$
          type: string
    Op:
      title: Op
      enum:
      - add
      - remove
      - replace
      type: string
    Patch:
      title: Patch
      required:
      - op
      - path
      type: object
      properties:
        op:
          $ref: '#/components/schemas/Op'
        path:
          type: string
          description: An RFC6901 JSON Pointer pointing to the Item document, an Item Attribute, and Item Field by Field ID, or an Item Field Attribute
          example: /fields/06gnn2b95example10q91512p5/label
        value:
          type: object
    Purpose:
      title: 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.
    Resource:
      title: Resource
      type: object
      properties:
        item:
          $ref: '#/components/schemas/Item2'
        itemVersion:
          type: integer
          format: int32
        type:
          $ref: '#/components/schemas/Type'
        vault:
          $ref: '#/components/schemas/Vault3'
    Result:
      title: Result
      enum:
      - SUCCESS
      - DENY
      type: string
    Section:
      title: Section
      type: object
      properties:
        id:
          type: string
    Section1:
      title: Section1
      type: object
      properties:
        id:
          type: string
      description: For files that are in a section, this field describes the section.
    Section2:
      title: Section2
      type: object
      properties:
        id:
          type: string
        label:
          type: string
    State:
      title: State
      enum:
      - ARCHIVED
      - DELETED
      type: string
    Type:
      title: Type
      enum:
      - ITEM
      - VAULT
      type: string
    Type1:
      title: Type1
      enum:
      - STRING
      - EMAIL
      - CONCEALED
      - URL
      - TOTP
      - DATE
      - MONTH_YEAR
      - MENU
      type: string
    Type2:
      title: Type2
      enum:
      - USER_CREATED
      - PERSONAL
      - EVERYONE
      - TRANSFER
      type: string
    Url:
      title: Url
      required:
      - href
      type: object
      properties:
        href:
          type: string
        label:
          type: string
        primary:
          type: boolean
    Vault1:
      title: Vault1
      required:
      - id
      type: object
      properties:
        id:
          pattern: ^[\da-z]{26}$
          type: string
    Vault3:
      title: Vault3
      type: object
      properties:
        id:
          pattern: ^[\da-z]{26}$
          type: string
  securitySchemes:
    ConnectToken:
      type: http
      scheme: bearer
      bearerFormat: jwt
security: []
tags:
- name: Items
  description: Access and manage items inside 1Password Vaults
- name: Vaults
  description: Access 1Password Vaults
- name: Activity
  description: Access API Request Activity
- name: Health
  description: ''
- name: Metrics
  description: ''
- name: Files
  description: ''
