> ## Documentation Index
> Fetch the complete documentation index at: https://www.1password.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# List entitlements

> Retrieve a paginated list of 1Password product entitlements for a distributor customer.

Retrieve entitlements under a customer. Use a customer ID in the path to scope results to one customer, or the wildcard `distributor-customers/-` to list across all of your customers.

This endpoint supports [pagination and filtering](/accounts-api/conventions#query-parameters). For example, filter on status with `status == 'active'`. Learn more about [entitlement statuses](/accounts-api/conventions#entitlement-statuses) and the possible values.


## OpenAPI

````yaml openapi/accounts_api.yaml GET /v1/distributor-customers/{distributor-customer}/entitlements
openapi: 3.1.0
info:
  title: 1Password Accounts API for Partners
  version: v1
  description: >-
    The 1Password Accounts API for Partners lets distributors provision and
    manage 1Password

    product entitlements for their customers, retrieve usage data, and list the

    products available to provision.


    Resources are grouped into entitlements, usage, and products. The
    conventions

    for authentication, pagination, and filtering apply across the whole API.
  contact:
    name: 1Password
    url: https://1password.com/contact-us
servers:
  - url: https://api.1password.eu
    description: 1Password.eu (Europe)
security:
  - BearerAuth: []
tags:
  - name: Entitlements
    description: >-
      Provision, update, cancel, and link 1Password product entitlements for a
      customer.
    x-group: Entitlements
  - name: Usage
    description: Retrieve product usage data for a distributor's customers.
    x-group: Usage
  - name: Products
    description: List the 1Password products a distributor can provision.
    x-group: Products
paths:
  /v1/distributor-customers/{distributor-customer}/entitlements:
    get:
      tags:
        - Entitlements
      summary: List entitlements
      description: >-
        Retrieve a list of 1Password product entitlements for a distributor
        customer.
      operationId: listDistributorEntitlements
      parameters:
        - name: distributor-customer
          in: path
          description: >-
            The customer ID to list entitlements for. Use the `-` wildcard to
            list across all of the distributor's customers. Each returned
            entitlement includes its own customer ID.
          required: true
          example: '-'
          schema:
            type: string
        - name: max_page_size
          in: query
          description: >-
            The maximum number of entitlements to return per page. Defaults to
            100 when omitted or set to 0. Values greater than 100 are clamped to
            100. Negative values return an `invalid_argument` error.
          schema:
            type: integer
            minimum: 0
            format: int32
        - name: page_token
          in: query
          description: >-
            The pagination token that identifies the page of results to return.
            Tokens don't expire and must be treated as opaque.
          schema:
            type: string
        - name: filter
          in: query
          description: >-
            An optional filter in CEL syntax (for example, `status ==
            'active'`). When omitted, entitlements of all statuses are returned.
          example: status == 'active'
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of the customer's entitlements.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/distributor.v1.ListDistributorEntitlementsResponse
              example:
                results:
                  - path: >-
                      distributor-customers/cust_789xyz/entitlements/ent_abc123def456
                    id: ent_abc123def456
                    customer_id: cust_789xyz
                    product_id: 1p-msp-us
                    status: active
                    contact_info:
                      email: admin@acme-corp.com
                      company_name: Acme Corporation
                    create_time: '2026-09-15T10:30:00Z'
                    expire_time: '2026-09-20T10:30:00Z'
                next_page_token: ''
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/Internal'
components:
  schemas:
    distributor.v1.ListDistributorEntitlementsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/distributor.v1.DistributorEntitlement'
          description: >-
            The list of entitlements under the customer, or under all customers
            when using the `-` wildcard.
        next_page_token:
          type: string
          description: >-
            The token to use for the next page of results. Empty if there are no
            more results.
      additionalProperties: false
      description: The paginated list of entitlements.
    distributor.v1.DistributorEntitlement:
      type: object
      properties:
        path:
          type: string
          description: >-
            The canonical resource path of the entitlement (for example,
            "distributor-customers/{customer_id}/entitlements/{id}"). Use the
            IDs in this path to update or cancel the entitlement.
          readOnly: true
        id:
          type: string
          description: The unique identifier for this entitlement.
          readOnly: true
        customer_id:
          type: string
          description: >-
            The ID of the marketplace customer who owns this entitlement. This
            is the distributor-defined ID from the request path that created the
            entitlement.
          readOnly: true
        product_id:
          type: string
          description: >-
            The ID of the 1Password product. Required on create; immutable
            thereafter.
        status:
          type: string
          description: The entitlement lifecycle state.
          enum:
            - pending
            - active
            - cancelling
            - cancelled
            - expired
            - suspended
          readOnly: true
        contact_info:
          $ref: '#/components/schemas/distributor.v1.DistributorContactInfo'
          description: The customer's contact details for account setup.
        create_time:
          description: The date and time the entitlement was created.
          type: string
          format: date-time
          readOnly: true
        expire_time:
          description: >-
            The date and time the entitlement expires. Set only for
            change-of-channel entitlements created by linking an entitlement,
            and omitted for standard entitlements. Customers have 5 days to
            claim the emailed entitlement code against their existing 1Password
            account. Claiming the code completes the link; otherwise, the
            entitlement transitions to `expired` at this time.
          type: string
          format: date-time
          readOnly: true
      additionalProperties: false
      description: A provisioned 1Password product entitlement for a distributor customer.
      x-aep-resource:
        singular: distributorentitlement
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code.
          example: not_found
        message:
          type: string
          description: Human-readable message.
          example: The requested resource was not found.
      required:
        - code
        - message
      description: Standard error response format.
    distributor.v1.DistributorContactInfo:
      type: object
      properties:
        email:
          type: string
          format: email
          description: The customer's contact email for account activation.
        company_name:
          type: string
          minLength: 1
          description: The customer's organization name.
      required:
        - email
        - company_name
      additionalProperties: false
      description: The customer contact details used for account setup.
      x-aep-resource:
        singular: distributorcontactinfo
  responses:
    BadRequest:
      description: Bad Request - Invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: invalid_argument
            message: The 'email' field must be a valid email address.
    Unauthenticated:
      description: Unauthenticated - Missing or invalid credentials.
      headers:
        WWW-Authenticate:
          description: The authentication scheme to use ("Bearer").
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: unauthenticated
            message: Authentication required. Please provide a valid bearer token.
    NotFound:
      description: Not Found - Resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: not_found
            message: The requested resource was not found.
    TooManyRequests:
      description: >-
        Too Many Requests - Limit is 1,000 requests per minute per distributor.
        There is no separate hourly limit.
      headers:
        Retry-After:
          description: How long to wait before retrying, in seconds.
          schema:
            type: string
      content:
        text/plain:
          schema:
            type: string
          example: Too Many Requests
    Internal:
      description: Internal Server Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: internal
            message: An internal error occurred. Please try again later.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication. When a distributor is registered, they
        receive an opaque bearer token (prefixed `op_b_`). Include it in the
        Authorization header of every request as `Bearer <token>`.

````

## Related topics

- [Cancel an entitlement](/accounts-api/cancel-entitlement.md)
- [Reference for the 1Password Accounts API for Partners](/accounts-api/reference.md)
- [1Password Accounts API for Partners](/accounts-api.md)
