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/