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

# List blocked dates

> Returns manually blocked date ranges for items, variants, products, and the entire store.
Rental scheduling blocks are excluded; only merchant-created blocked dates are returned.

Use the `activeFrom` and `activeTo` filters to find blocked dates that overlap a calendar window.
For incremental sync, use the `updated` filter together with `updatedAt` on each record.




## OpenAPI

````yaml https://app.supercycle.com/docs/openapi-v1.yml get /blocked_dates
openapi: 3.1.0
info:
  title: Supercycle API
  version: 1.0.0
  contact:
    name: Supercycle Support
    email: support@supercycle.com
  description: >+
    The Supercycle API provides comprehensive endpoints designed to streamline
    inventory, rental, and return management for merchants using the Supercycle
    platform. This API facilitates the integration with external systems such as
    Shopify, enabling seamless synchronization of product data, rental
    operations, and returns processing.

    Key features include: - **Inventory Management:** Endpoints to create,
    update, and retrieve detailed information about items and products. -
    **Rental Operations:** Manage rentals from creation to dispatch, with
    automated serial allocation and synchronization with Shopify orders. -
    **Returns Processing:** Efficiently manage and track returns with the
    ability to update statuses and item conditions. - **Timeline Comments:** Add
    comments to timeline events associated with resources in a shop. -
    **Availability Timelines:** Per-variant day-by-day availability counts for
    back-office and OMS integrations (mirrors the storefront availability
    timeline). - **Blocked Dates:** List, retrieve, and create manually blocked
    date ranges on items, variants, and products that reduce availability.

    **Rate limits:** Requests are throttled per API key (Bearer token). Across
    all endpoints, a key may make at most **120 requests per minute**. The
    availability timeline endpoint (`GET /availability_timelines`) is limited to
    **10 requests per minute** per key because it is computationally
    expensive—cache responses client-side where possible. Requests without a
    Bearer token are limited to **30 requests per minute** per client IP. When
    exceeded, the API returns **429 Too Many Requests** with `Retry-After`,
    `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset`
    headers.

    This API is essential for merchants looking to enhance their operational
    efficiency, providing the tools needed to manage their inventory, rentals,
    returns, timeline events, availability planning, and blocked dates all in
    one place.

    For support or enquiries, please contact [Supercycle
    Support](mailto:support@supercycle.com).

servers:
  - url: https://app.supercycle.com/api/v1
security:
  - bearerAuth: []
tags:
  - name: AvailabilityTimelines
  - name: BlockedDates
  - name: Conditions
  - name: CustomFieldDefinitions
  - name: CustomFields
  - name: Items
  - name: Products
  - name: Variants
  - name: Rentals
  - name: ReturnOrders
  - name: TimelineComments
  - name: Locations
paths:
  /blocked_dates:
    get:
      tags:
        - BlockedDates
      summary: List blocked dates
      description: >
        Returns manually blocked date ranges for items, variants, products, and
        the entire store.

        Rental scheduling blocks are excluded; only merchant-created blocked
        dates are returned.


        Use the `activeFrom` and `activeTo` filters to find blocked dates that
        overlap a calendar window.

        For incremental sync, use the `updated` filter together with `updatedAt`
        on each record.
      operationId: getBlockedDates
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Page'
        - name: resourceType
          in: query
          description: >-
            Filter by resource type. Comma-separated list of `Item`,
            `Shopify::Variant`, `Shopify::Product`, or `Shop`.
          required: false
          schema:
            type: string
            example: Item,Shopify::Variant
        - name: itemId
          in: query
          description: Filter blocked dates for a specific item ID.
          required: false
          schema:
            type: integer
            format: int64
        - name: shopifyVariantId
          in: query
          description: Filter blocked dates for a specific Shopify variant ID.
          required: false
          schema:
            type: integer
            format: int64
        - name: shopifyProductId
          in: query
          description: Filter blocked dates for a specific Shopify product ID.
          required: false
          schema:
            type: integer
            format: int64
        - name: activeFrom
          in: query
          description: >-
            Return blocked dates that end on or after this calendar date
            (YYYY-MM-DD), including open-ended blocks.
          required: false
          schema:
            type: string
            format: date
        - name: activeTo
          in: query
          description: >-
            Return blocked dates that start on or before this calendar date
            (YYYY-MM-DD), including open-ended blocks.
          required: false
          schema:
            type: string
            format: date
        - name: search
          in: query
          description: Filter blocked dates by description text.
          required: false
          schema:
            type: string
        - name: created
          in: query
          description: >-
            Filter blocked dates by created at datetime (ISO 8601), using gt,
            lt, gte, lte operators which may be combined.
          required: false
          schema:
            $ref: '#/components/schemas/DateRangeFilter'
            type: object
        - name: updated
          in: query
          description: >-
            Filter blocked dates by when they were last updated (ISO 8601),
            using gt, lt, gte, lte; operators may be combined.
          required: false
          schema:
            $ref: '#/components/schemas/DateRangeFilter'
            type: object
      responses:
        '200':
          description: A paged array of blocked dates
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/BlockedDate'
                  nextPage:
                    type:
                      - 'null'
                      - string
        '404':
          description: Filtered resource not found for this shop
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    example: Blocked date not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: >-
        A limit on the number of objects to be returned. Limit can range between
        1 and 100, and the default is 50.
      required: false
      schema:
        type: integer
        maximum: 100
        format: int32
    Page:
      name: page
      in: query
      description: Cursor token to fetch next page of results.
      required: false
      schema:
        type: string
  schemas:
    DateRangeFilter:
      type: object
      properties:
        gt:
          type: string
          format: date
          description: After this date/time (ISO 8601)
        lt:
          type: string
          format: date
          description: Before this date/time (ISO 8601)
        gte:
          type: string
          format: date
          description: On or after this date/time (ISO 8601)
        lte:
          type: string
          format: date
          description: On or before this date/time (ISO 8601)
    BlockedDate:
      type: object
      unevaluatedProperties: false
      required:
        - id
        - createdAt
        - updatedAt
        - from
        - resourceType
        - resourceId
        - resource
      properties:
        id:
          type: integer
          format: int64
          description: Numeric ID of the blocked date.
        description:
          type:
            - 'null'
            - string
          description: Optional note describing why the dates are blocked.
        from:
          type:
            - 'null'
            - string
          format: date
          description: >-
            First blocked calendar day (inclusive). Null when the block is
            open-start.
        to:
          type:
            - 'null'
            - string
          format: date
          description: >-
            Last blocked calendar day (inclusive). Null when the block is
            open-ended.
        resourceType:
          type: string
          enum:
            - Item
            - Shopify::Variant
            - Shopify::Product
            - Shop
          description: >-
            Type of resource the blocked dates apply to. Use `Shop` to block
            every product in the store.
        resourceId:
          type: integer
          format: int64
          description: Numeric ID of the blocked resource in Supercycle.
        createdAt:
          type: string
          format: date-time
          description: When the blocked date was created.
        updatedAt:
          type: string
          format: date-time
          description: When the blocked date was last updated.
        resource:
          $ref: '#/components/schemas/BlockedDateResource'
    BlockedDateResource:
      type: object
      unevaluatedProperties: false
      required:
        - type
        - id
        - title
      properties:
        type:
          type: string
          enum:
            - Item
            - Shopify::Variant
            - Shopify::Product
            - Shop
          description: Type of the blocked resource.
        id:
          type: integer
          format: int64
          description: Numeric ID of the blocked resource in Supercycle.
        formattedId:
          type: string
          description: Human-readable item number. Present when type is Item.
        title:
          type: string
          description: Display title for the blocked resource.
        imageUrl:
          type:
            - 'null'
            - string
          description: Image URL for the blocked resource, when available.
        shopifyVariantId:
          type:
            - 'null'
            - integer
          format: int64
          description: Shopify variant ID when the resource is an item or variant.
        shopifyProductId:
          type:
            - 'null'
            - integer
          format: int64
          description: Shopify product ID when available for the blocked resource.
        shopifyDomain:
          type:
            - 'null'
            - string
          description: Shopify domain when the resource is the entire store.
  responses:
    TooManyRequests:
      description: Rate limit exceeded
      headers:
        Retry-After:
          description: Seconds until the current throttle window resets.
          schema:
            type: integer
            example: 42
        X-RateLimit-Limit:
          description: Maximum requests allowed in the window that triggered this response.
          schema:
            type: integer
            example: 120
        X-RateLimit-Remaining:
          description: >-
            Remaining requests in the window (always 0 when this response is
            returned).
          schema:
            type: integer
            example: 0
        X-RateLimit-Reset:
          description: ISO 8601 timestamp when the throttle window resets.
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            type: object
            required:
              - error
            properties:
              error:
                type: string
                example: Rate limit exceeded. Retry after 42 seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````