> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nautilus.co/llms.txt
> Use this file to discover all available pages before exploring further.

# List POS recurring account details

> Point-of-sale resource for the organization that owns the API key. The POS is resolved server-side from that organization; callers never name or select a provider. Organizations whose POS data is not yet available through this API receive 404. Credentials, connection details, provider configuration, and raw provider payloads are never returned.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/pos/recurring-account-details
openapi: 3.1.0
info:
  title: Nautilus Public API
  version: 1.0.0
  description: >-
    The canonical /api/v1 data endpoints are tenant-scoped and use a Clerk
    tenant API key as a Bearer token. The key's organizationId is the sole
    tenant scope; caller-supplied organization IDs are not accepted. Detail
    reads return 404 for both missing and cross-tenant records. Canonical
    collections use the standard envelope and endpoint-bound cursor pagination.
    Timestamps are UTC ISO 8601 values and monetary amounts ending in Cents are
    integer cents. Responses use narrow serializers that exclude credentials and
    internal provider or workflow data. GET /api/v1/openapi.json and the
    headless form submission endpoint do not require an API key. Headless
    submissions use a published form ID and its configured form password, grant
    submission access only, and return the separate receipt/error shapes
    documented on that operation. Use headless submissions for published forms
    supported by headless intake. Copy the endpoint and saved field IDs from
    Share > Use your own form; hosted-only form requirements remain unchanged.
servers:
  - url: https://app.nautilus.co
security:
  - tenantApiKey: []
tags:
  - name: Contract
  - name: Cancellations
  - name: Sites
  - name: Products
  - name: Checkout links
  - name: Purchases
  - name: Contact lists
  - name: Contacts
  - name: Marketing
  - name: Forms
  - name: Vouchers
  - name: Links
  - name: Automations
  - name: Surveys
  - name: Cases
  - name: Reviews
  - name: POS
    description: >-
      Point-of-sale data for the organization that owns the API key. The POS is
      resolved server-side from that organization; requests never name or select
      a provider.
  - name: Analytics
  - name: Messaging
  - name: Legacy
    description: Deprecated noncanonical endpoints retained for compatibility.
paths:
  /api/v1/pos/recurring-account-details:
    get:
      tags:
        - POS
      summary: List POS recurring account details
      description: >-
        Point-of-sale resource for the organization that owns the API key. The
        POS is resolved server-side from that organization; callers never name
        or select a provider. Organizations whose POS data is not yet available
        through this API receive 404. Credentials, connection details, provider
        configuration, and raw provider payloads are never returned.
      operationId: listPosRecurringAccountDetails
      parameters:
        - name: customerId
          in: query
          required: false
          schema:
            type: string
        - name: billingSiteCode
          in: query
          required: false
          schema:
            type: string
        - name: creationSiteCode
          in: query
          required: false
          schema:
            type: string
        - name: status
          in: query
          required: false
          schema:
            type: string
        - name: planName
          in: query
          required: false
          schema:
            type: string
        - name: isOnTrial
          in: query
          required: false
          schema:
            type: boolean
          description: Filter trial accounts.
        - name: isSuspended
          in: query
          required: false
          schema:
            type: boolean
          description: Filter suspended accounts.
        - name: lastBillAfter
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: UTC ISO 8601 timestamp.
          description: >-
            Inclusive last-bill lower bound. Must include an explicit UTC
            offset.
        - name: lastBillBefore
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: UTC ISO 8601 timestamp.
          description: >-
            Inclusive last-bill upper bound. Must include an explicit UTC
            offset.
        - name: nextBillAfter
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: UTC ISO 8601 timestamp.
          description: >-
            Inclusive next-bill lower bound. Must include an explicit UTC
            offset.
        - name: nextBillBefore
          in: query
          required: false
          schema:
            type: string
            format: date-time
            description: UTC ISO 8601 timestamp.
          description: >-
            Inclusive next-bill upper bound. Must include an explicit UTC
            offset.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          description: >-
            Page size. Invalid values use 100; values above 500 are capped at
            500.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            Opaque continuation token returned by this POS recurring account
            details collection. Cursors are bound to this endpoint (and, for
            nested or sorted collections, to that parent or sort) and cannot be
            reused elsewhere.
      responses:
        '200':
          description: Tenant-scoped collection.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/CollectionEnvelope'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/PosRecurringAccountDetail'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CollectionEnvelope:
      type: object
      additionalProperties: false
      properties:
        organizationId:
          type: string
        filters:
          type: object
          additionalProperties: true
          description: Normalized filters actually applied to the request.
        data:
          type: array
          items: {}
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - organizationId
        - filters
        - data
        - pagination
      description: Standard envelope for canonical collection endpoints.
    PosRecurringAccountDetail:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
        billingAmountCents:
          anyOf:
            - type: integer
              description: Amount in integer cents.
            - type: 'null'
        billingSiteCode:
          anyOf:
            - type: string
            - type: 'null'
        creationSiteCode:
          anyOf:
            - type: string
            - type: 'null'
        currentRecurringStatusName:
          anyOf:
            - type: string
            - type: 'null'
        customer:
          anyOf:
            - type: object
              additionalProperties: false
              properties:
                id:
                  anyOf:
                    - type: string
                    - type: 'null'
                number:
                  anyOf:
                    - type: string
                    - type: 'null'
                firstName:
                  anyOf:
                    - type: string
                    - type: 'null'
                lastName:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - id
                - number
                - firstName
                - lastName
            - type: 'null'
        isOnTrial:
          anyOf:
            - type: boolean
            - type: 'null'
        isSuspended:
          anyOf:
            - type: boolean
            - type: 'null'
        lastBillDate:
          anyOf:
            - type: string
              format: date-time
              description: UTC ISO 8601 timestamp.
            - type: 'null'
        nextBillDate:
          anyOf:
            - type: string
              format: date-time
              description: UTC ISO 8601 timestamp.
            - type: 'null'
        planName:
          anyOf:
            - type: string
            - type: 'null'
        recurringBillings:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              amountChargedCents:
                anyOf:
                  - type: integer
                    description: Amount in integer cents.
                  - type: 'null'
              date:
                anyOf:
                  - type: string
                    format: date-time
                    description: UTC ISO 8601 timestamp.
                  - type: 'null'
            required:
              - amountChargedCents
              - date
          description: >-
            Recent billing history; shared POS mirrors return at most the latest
            24 events, newest first.
        recurringStatuses:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              status:
                anyOf:
                  - type: string
                  - type: 'null'
              date:
                anyOf:
                  - type: string
                    format: date-time
                    description: UTC ISO 8601 timestamp.
                  - type: 'null'
            required:
              - status
              - date
          description: >-
            Recent status history; shared POS mirrors return at most the latest
            24 events, newest first.
        suspendedUntil:
          anyOf:
            - type: string
              format: date-time
              description: UTC ISO 8601 timestamp.
            - type: 'null'
        trialAmountCents:
          anyOf:
            - type: integer
              description: Amount in integer cents.
            - type: 'null'
        vehicles:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                anyOf:
                  - type: string
                  - type: 'null'
              plate:
                anyOf:
                  - type: string
                  - type: 'null'
            required:
              - id
              - plate
      required:
        - id
        - billingAmountCents
        - billingSiteCode
        - creationSiteCode
        - currentRecurringStatusName
        - customer
        - isOnTrial
        - isSuspended
        - lastBillDate
        - nextBillDate
        - planName
        - recurringBillings
        - recurringStatuses
        - suspendedUntil
        - trialAmountCents
        - vehicles
    Pagination:
      type: object
      additionalProperties: false
      properties:
        limit:
          type: integer
        hasMore:
          type: boolean
        nextCursor:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - limit
        - hasMore
        - nextCursor
    Error:
      type: object
      additionalProperties: false
      properties:
        error:
          type: string
      required:
        - error
  responses:
    BadRequest:
      description: >-
        Malformed parameters, unsupported provider, or unavailable resource for
        this organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing, invalid, legacy, or non-tenant Bearer credential.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: >-
        The resource does not exist, is unavailable, or belongs to another
        organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error. No internal exception data is exposed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    tenantApiKey:
      type: http
      scheme: bearer
      bearerFormat: Clerk tenant API key
      description: >-
        Clerk tenant API key. The organizationId encoded by the key is the exact
        and only tenant scope.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.