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

# List schedule adjustments

> Returns a list of schedule adjustments.



## OpenAPI

````yaml openapi-admin.json GET /schedules/adjustments
openapi: 3.1.0
info:
  title: Juo Admin API
  version: 1.0.0
  description: >-
    Programmatic access to subscription management for merchants.


    ## Core Resources


    - **Subscriptions** — the central entity. Belongs to a Customer, contains
    Items (product variants) and Discounts. Lifecycle: `active` → `paused` or
    `cancelled`; `paused` → `active` or `cancelled`; `cancelled` → `active` (via
    reactivate).

    - **Items** — subscription items (product variants) (quantity, price,
    billing/delivery policies).

    - **Discounts** — applied to subscriptions by discount code or manually
    (percentage or fixed amount, targeting subscription items or shipping).

    - **Customers** — customers who own subscriptions and payment methods.

    - **Products / Variants** — catalog products and variants that can be
    assigned to subscription plans.

    - **Schedules** — a read-only projection of upcoming billing orders, derived
    from subscription state, active schedule adjustments, and triggered
    workflows. **Schedule adjustments never modify the subscription** — they
    apply changes to upcoming orders matching the specified criteria (by cycle,
    date, or both), which may cover one or more orders. For permanent changes
    (billing frequency, items, payment method, delivery address), update the
    subscription directly.

    - **Workflows** — interactive customer-facing flows (retention, dunning,
    onboarding). Contain Steps connected by Transitions and produce Runs on each
    execution. Supports A/B experiment steps.


    ## Authentication


    Every request requires:

    - `X-Juo-Admin-Api-Key` header — the merchant's Admin API key.

    - `X-Tenant-ID` header — the store identifier (myshopify domain, e.g.
    `my-store.myshopify.com`).
servers:
  - url: https://api.juo.io/admin/v1
security:
  - AdminApiKey: []
  - BearerToken: []
tags:
  - name: subscriptions
    description: >-
      Recurring billing agreements with customers. Manage lifecycle (pause,
      resume, cancel, reactivate), items, and discounts.
  - name: customers
    description: Customers who own subscriptions. Create and update customer records.
  - name: products
    description: >-
      Products and variants linked to subscription plans. Manage catalog and
      plan assignments.
  - name: schedules
    description: >-
      Read-only view of upcoming billing orders generated from subscription
      state, schedule adjustments, and workflows. Use schedule adjustments for
      targeted changes to upcoming orders (scoped by cycle number, date, or
      both) — they never alter the subscription itself. For permanent changes
      (billing frequency, items, payment method), update the subscription
      directly.
  - name: workflows
    description: >-
      Interactive customer-facing flows for retention, dunning, and onboarding.
      Define steps, publish, and track execution runs and experiments.
paths:
  /schedules/adjustments:
    get:
      tags:
        - schedules
      summary: List schedule adjustments
      description: >-
        Returns a paginated list of schedule adjustments. A schedule adjustment
        applies a targeted modification to upcoming orders matching the
        specified criteria (by cycle number, date, or both) — it never modifies
        the subscription itself. For permanent changes (billing frequency,
        items, payment method), update the subscription directly. Results are
        cursor-paginated.
      parameters:
        - schema:
            minLength: 1
            type: string
          in: query
          name: customerId
          required: true
          description: The customer identifier
        - schema:
            minimum: 1
            maximum: 100
            default: 20
            type: integer
          in: query
          name: limit
          required: false
          description: >-
            See [pagination](/docs/api-reference/admin/introduction#pagination)
            for more details on how to paginate the results.
        - schema:
            minLength: 1
            type: string
          in: query
          name: after
          required: false
          description: >-
            See [pagination](/docs/api-reference/admin/introduction#pagination)
            for more details on how to paginate the results.
        - schema:
            minLength: 1
            type: string
          in: query
          name: before
          required: false
          description: >-
            See [pagination](/docs/api-reference/admin/introduction#pagination)
            for more details on how to paginate the results.
        - schema:
            default: createdAt:asc
            type: string
          in: query
          name: sort
          required: false
          description: >-
            See [sorting](/docs/api-reference/admin/introduction#sorting) for
            more details on how to sort the results.
        - $ref: '#/components/parameters/TenantHeader'
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  resource:
                    type: string
                    enum:
                      - list
                  hasNextPage:
                    type: boolean
                  hasPrevPage:
                    type: boolean
                  endCursor:
                    type:
                      - 'null'
                      - string
                  startCursor:
                    type:
                      - 'null'
                      - string
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ScheduleAdjustment'
                required:
                  - resource
                  - hasNextPage
                  - hasPrevPage
                  - endCursor
                  - startCursor
                  - data
        '400':
          description: >-
            Bad request — invalid input or violated business rule (e.g., wrong
            subscription status for the requested operation).
        '401':
          description: Unauthorized — missing, expired, or invalid API key.
        '403':
          description: Forbidden — authenticated but not permitted to access this resource.
        '404':
          description: >-
            Not found — the resource does not exist or belongs to a different
            tenant.
        '422':
          description: >-
            Unprocessable entity — well-formed request that fails semantic
            validation.
components:
  parameters:
    TenantHeader:
      name: X-Tenant-ID
      x-speakeasy-name-override: tenant
      x-speakeasy-globals-hidden: true
      in: header
      schema:
        type: string
      required: true
      description: >-
        Unique identifier of the tenant in the system (usually a store
        identifier)
  schemas:
    ScheduleAdjustment:
      type: object
      properties:
        id:
          format: uuid
          description: The adjustment identifier
          type: string
        resource:
          type: string
          enum:
            - schedule_adjustment
        customer:
          minLength: 1
          description: The customer identifier
          type: string
        matcher:
          type: object
          properties:
            type:
              minLength: 1
              type: string
            input: {}
          required:
            - type
            - input
        action:
          type: object
          properties:
            type:
              minLength: 1
              type: string
            input: {}
          required:
            - type
            - input
        actor:
          type: object
          properties:
            type:
              type: string
              enum:
                - staff
                - customer
                - system
                - bulk-action
                - api
            id:
              description: The actor identifier, if applicable
              type:
                - 'null'
                - string
          required:
            - type
            - id
        createdAt:
          format: date-time
          description: Creation date of the adjustment
          type: string
        updatedAt:
          format: date-time
          description: Last update date of the adjustment
          type: string
      required:
        - id
        - resource
        - customer
        - matcher
        - action
        - actor
        - createdAt
        - updatedAt
      title: ScheduleAdjustment
  securitySchemes:
    AdminApiKey:
      type: apiKey
      name: X-Juo-Admin-Api-Key
      in: header
      description: >-
        Long-lived Admin API key issued from the Juo merchant portal. Pass as
        the `X-Juo-Admin-Api-Key` header.
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Short-lived JWT minted via the merchant browser-session flow. Carries
        the authenticated staff identity so that API calls are attributed to the
        specific staff user in the activity log.

````