1Password Accounts API

Operations for managing partner billing accounts for customers, including creating, retrieving, updating, and deleting billing accounts.

Documentation

Specifications

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/json-ld/1password-connect-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/json-ld/1password-events-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/json-ld/1password-partnership-context.jsonld
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-decommission-item-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-download-item-file-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-provision-item-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-provision-partner-billing-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-read-item-secret-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-rotate-item-password-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-stream-audit-events-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/1password/refs/heads/main/arazzo/1password-stream-item-usages-workflow.yml

OpenAPI Specification

1password-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: 1Password Connect Server Accounts API
  description: The 1Password Connect Server API provides secure access to 1Password items and vaults in your company's apps and cloud infrastructure through a private REST API. Connect Servers bridge the gap between 1Password and your infrastructure by enabling programmatic access to secrets stored in shared vaults. You can create, read, update, and delete items, manage vaults, and retrieve files attached to items.
  version: 1.8.1
  contact:
    name: 1Password Support
    url: https://support.1password.com/
  termsOfService: https://1password.com/legal/terms-of-service/
  license:
    name: MIT
    url: https://github.com/1Password/connect/blob/main/LICENSE
servers:
- url: http://localhost:8080
  description: Local Connect Server (default port 8080)
security:
- bearerAuth: []
tags:
- name: Accounts
  description: Operations for managing partner billing accounts for customers, including creating, retrieving, updating, and deleting billing accounts.
paths:
  /partners/accounts:
    post:
      operationId: createPartnerAccount
      summary: 1Password Create a Partner Billing Account
      description: Creates a new third-party partner billing account for a customer through the partner billing service. Returns the activation token used to create a partner billing link for the customer to complete provisioning. Append the activation token to a 1Password partnership redemption link to create the customer's partner billing link.
      tags:
      - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccountRequest'
      responses:
        '201':
          description: Successfully created partner billing account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: A billing account already exists for the specified account UID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /partners/accounts/{accountUid}:
    get:
      operationId: getPartnerAccount
      summary: 1Password Get Partner Billing Account Details
      description: Returns details about a customer's partner billing account, including the account type, domain, status, activation token, and scheduled end date if applicable.
      tags:
      - Accounts
      parameters:
      - $ref: '#/components/parameters/accountUidParam'
      responses:
        '200':
          description: Successfully retrieved account details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updatePartnerAccount
      summary: 1Password Update a Partner Billing Account
      description: Updates the date and time a customer's billing account is scheduled to be removed from the partner billing service. Use this endpoint to extend or shorten the billing period for a customer.
      tags:
      - Accounts
      parameters:
      - $ref: '#/components/parameters/accountUidParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAccountRequest'
      responses:
        '200':
          description: Successfully updated account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deletePartnerAccount
      summary: 1Password Delete a Partner Billing Account
      description: Deactivates and removes a customer's third-party billing account from the partner billing service. After deletion, GET requests will no longer return account information for the customer account UID.
      tags:
      - Accounts
      parameters:
      - $ref: '#/components/parameters/accountUidParam'
      responses:
        '204':
          description: Successfully deleted the partner billing account
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    UpdateAccountRequest:
      type: object
      description: The request body for updating a partner billing account.
      properties:
        ends_at:
          type: string
          format: date-time
          description: The date and time to schedule removal of the customer's billing account from the partner billing service. ISO 8601 format.
    Error:
      type: object
      description: Represents an error response from the Partnership API.
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
        code:
          type: string
          description: A machine-readable error code.
    Account:
      type: object
      description: Represents a partner billing account for a 1Password customer.
      properties:
        account_uid:
          type: string
          description: The unique identifier for the customer's billing account.
        account_type:
          type: string
          description: The 1Password account type. I for individual, F for family.
          enum:
          - I
          - F
        domain:
          type: string
          description: The domain associated with the customer's 1Password account.
        status:
          type: string
          description: The current status of the partner billing account.
          enum:
          - entitled
          - provisioned
          - activated
          - suspended
          - deprovisioned
        activation_token:
          type: string
          description: The unique activation token used to link the customer's 1Password account with their partner billing account. Append this to a 1Password partnership redemption link.
        ends_at:
          type: string
          format: date-time
          description: The date and time the customer's account is scheduled to be removed from the partner billing service.
        created_at:
          type: string
          format: date-time
          description: The date and time the billing account was created.
    CreateAccountRequest:
      type: object
      description: The request body for creating a new partner billing account.
      required:
      - account_uid
      - account_type
      - domain
      properties:
        account_uid:
          type: string
          description: The unique identifier for the customer's billing account, supplied by the partner. Can be up to 200 characters with alphanumeric characters, hyphens, and periods.
          maxLength: 200
          pattern: ^[A-Za-z0-9.\-]+$
        account_type:
          type: string
          description: The 1Password account type for the customer. Individual (I) or Family (F). Team and business accounts are not supported.
          enum:
          - I
          - F
        domain:
          type: string
          description: The domain the customer can use for their new or existing 1Password account.
        ends_at:
          type: string
          format: date-time
          description: The optional date and time to remove the customer's account from the partner billing service. ISO 8601 format.
  parameters:
    accountUidParam:
      name: accountUid
      in: path
      description: The unique identifier for the customer's billing account, supplied by the partner. Can be up to 200 characters long with alphanumeric characters (A-Z, a-z, 0-9), hyphens, and periods.
      required: true
      schema:
        type: string
        maxLength: 200
        pattern: ^[A-Za-z0-9.\-]+$
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request due to invalid input
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: A Connect server access token generated from 1Password. Each request must include this token in the Authorization header.
externalDocs:
  description: 1Password Connect Server API Reference
  url: https://developer.1password.com/docs/connect/api-reference/