Also Collections API
Collection listings and the products within a collection.
Collection listings and the products within a collection.
openapi: 3.2.0
info:
title: ALSO Storefront JSON Collections API
version: '2026-08-02'
summary: Read-only JSON storefront endpoints ALSO publishes for agents at ridealso.com.
description: 'ALSO does not publish an OpenAPI document. This description was **generated by API Evangelist**
from the read-only endpoints ALSO itself enumerates for agents in its published
`/agents.md` (mirrored at `/llms.txt`), and every path below was probed live against
`https://ridealso.com` on 2026-08-02 with the observed HTTP status recorded in
`x-evidence`. Schemas were derived from the actual response bodies returned by those
probes - no field is asserted that was not observed.
This is an AE-generated contract for a real, callable surface. It is **not** a document
published or endorsed by ALSO. The provider''s own machine-readable contracts are the
Storefront GraphQL schema (`graphql/also-storefront-2026-07.graphql`, captured by open
introspection) and the UCP profile at `/.well-known/ucp`.
'
contact:
name: ALSO Media
email: media@ridealso.com
url: https://ridealso.com/pages/contact
x-generated-by: API Evangelist enrichment pipeline (local-v1)
x-provider-published: false
x-source: https://ridealso.com/agents.md
servers:
- url: https://ridealso.com
description: ALSO storefront (Shopify-hosted, primary domain)
tags:
- name: Collections
description: Collection listings and the products within a collection.
paths:
/collections.json:
get:
operationId: listCollections
summary: List all published collections
tags:
- Collections
responses:
'200':
description: A list of published collections.
content:
application/json:
schema:
type: object
properties:
collections:
type: array
items:
$ref: '#/components/schemas/Collection'
x-evidence:
fetched: '2026-08-02'
url: https://ridealso.com/collections.json
http_status: 200
/collections/{handle}/products.json:
get:
operationId: listCollectionProducts
summary: List the products in a collection
description: Returns the published products in a collection. Note - an unknown collection handle was observed returning HTTP 200 with an empty product list rather than 404.
tags:
- Collections
parameters:
- name: handle
in: path
required: true
description: The collection handle, e.g. `gear`.
schema:
type: string
example: gear
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 250
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
responses:
'200':
description: The products in the collection.
content:
application/json:
schema:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
x-evidence:
fetched: '2026-08-02'
url: https://ridealso.com/collections/does-not-exist/products.json
http_status: 200
components:
schemas:
Image:
type: object
properties:
id:
type: integer
product_id:
type: integer
variant_ids:
type: array
items:
type: integer
src:
type: string
format: uri
width:
type: integer
height:
type: integer
position:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Variant:
type: object
description: A purchasable variant of a product.
properties:
id:
type: integer
product_id:
type: integer
description: The parent product id.
title:
type: string
option1:
type:
- string
- 'null'
option2:
type:
- string
- 'null'
option3:
type:
- string
- 'null'
sku:
type:
- string
- 'null'
requires_shipping:
type: boolean
taxable:
type: boolean
featured_image:
oneOf:
- $ref: '#/components/schemas/Image'
- type: 'null'
available:
type: boolean
price:
type: string
description: Price as a decimal string.
compare_at_price:
type:
- string
- 'null'
grams:
type: integer
position:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Option:
type: object
properties:
name:
type: string
position:
type: integer
values:
type: array
items:
type: string
Product:
type: object
description: A published storefront product.
properties:
id:
type: integer
description: Numeric product identifier.
title:
type: string
handle:
type: string
description: URL slug for the product.
body_html:
type: string
description: HTML product description.
published_at:
type: string
format: date-time
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
vendor:
type: string
product_type:
type: string
description: 'Observed values include Vehicle, Module: Top Frame, Clothing, Hats.'
tags:
type: array
items:
type: string
variants:
type: array
items:
$ref: '#/components/schemas/Variant'
images:
type: array
items:
$ref: '#/components/schemas/Image'
options:
type: array
items:
$ref: '#/components/schemas/Option'
Collection:
type: object
properties:
id:
type: integer
title:
type: string
handle:
type: string
description:
type: string
image:
oneOf:
- $ref: '#/components/schemas/Image'
- type: 'null'
products_count:
type: integer
published_at:
type: string
format: date-time
updated_at:
type: string
format: date-time