---
title: "Et Al Australia AI Storefront"
description: "If you want to see a fashion label that's as unique as the city from where we were born, you need to visit one of our stores in Sydney or Melbourne. Boring fashion lives elsewhere. "
canonical: https://ai.etal-australia.com/index.md
last-updated: 2026-09-11
---

# Et Al Australia AI Storefront

> If you want to see a fashion label that's as unique as the city from where we were born, you need to visit one of our stores in Sydney or Melbourne. Boring fashion lives elsewhere. 

Use this AI storefront to browse Et Al Australia products, retrieve structured product details, and find the merchant page where a purchase can be completed.

## About this storefront

- Merchant: Et Al Australia — https://etal-australia.com
- Storefront: https://ai.etal-australia.com/
- Products listed: 55
- Updated: September 11, 2026
- Access: Public and read-only · no account or API key
- Orders and payments: Completed on the merchant website

## When to use it

- Find Et Al Australia products by keyword, category, brand, or availability.
- Read structured details for one product, including price and availability.
- Browse the merchant's available collections.
- Find the merchant page where a purchase can be completed.

This storefront does not take orders or payments. Open a product on the Et Al Australia merchant website to complete a purchase.

## Access

- No account, API key, or payment is required to browse this storefront or use its public read-only endpoints.
- The storefront supports retrieval only. It does not accept writes, orders, or payments.
- Requests may be rate-limited. A 429 response includes Retry-After with the number of seconds to wait before trying again.
- Responses that may be served from a shared cache carry a RateLimit-Policy header naming the anonymous allowance. Responses that are never cached carry the RateLimit-Policy for your tier, and counted callers also receive RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset.

## Registering for a higher rate limit

Everything stays available anonymously at up to 100 requests per minute per address; a registered agent is metered by its own client at up to 600 requests per minute on the agent endpoints. Registration is optional and changes nothing else: the same read-only operations, the same data. One address may hold several registered clients under a ceiling of 1200 requests per minute.

The registered allowance applies to the agent endpoints: the agent search API (`/api/agent/search-products`), the MCP endpoint (`/mcp`), the A2A endpoint (`/a2a`), and the discovery documents. The catalog JSON routes (`/products.json`, the product detail JSON, and the merchant facts JSON) are anonymous only and keep the anonymous limit.

1. **Request a registration token:** `POST https://ai.etal-australia.com/api/agent/registration-token` with no body. The response carries `registration_token` (single use, valid for 600 seconds, from the network that requested it; at most 5 per minute and 20 per day per network) and spells out the next two requests.
2. **Register a client:** `POST https://ai.etal-australia.com/api/auth/oauth2/register` with `Authorization: Bearer <registration_token>` and a JSON body declaring `client_name`, `grant_types: ["client_credentials"]`, `response_types: []`, and `token_endpoint_auth_method: "client_secret_basic"` (RFC 7591). The answer includes `client_id` and a `client_secret` that is shown once. To authenticate with a key instead of a secret, send `token_endpoint_auth_method: "private_key_jwt"` and a `jwks` value. Contact details in the request are discarded.
   Alternatively, skip this step with a Client ID Metadata Document: if your `client_id` is an HTTPS URL to a JSON document that declares `grant_types: ["client_credentials"]`, `token_endpoint_auth_method: "private_key_jwt"`, and your `jwks`, the first token request registers it.
   Or do steps 1 and 2 in one call (auth.md): `POST https://ai.etal-australia.com/api/agent/auth` with `{"type": "anonymous"}` answers with the same `client_id` and once-shown `client_secret`; `https://ai.etal-australia.com/auth.md` describes it.
3. **Mint an access token:** `POST https://ai.etal-australia.com/api/auth/oauth2/token` (form-encoded) with `grant_type=client_credentials`, `scope=storefront.read`, and `resource=https://ai.etal-australia.com`, authenticated with HTTP Basic (`client_id:client_secret`) or a `private_key_jwt` client assertion. `resource` is required and must be this storefront's origin. Tokens last 600 seconds; there are no refresh tokens, so request a new one when one expires.
4. **Call the agent endpoints** with `Authorization: Bearer <access_token>`. A token that is invalid, expired, or issued for another storefront is refused with 401 and a `WWW-Authenticate` challenge; a request without a token is never challenged.

- Scope: `storefront.read` (read-only; the only scope offered).
- Authorization server metadata (RFC 8414): `https://ai.etal-australia.com/.well-known/oauth-authorization-server`
- Protected resource metadata (RFC 9728): `https://ai.etal-australia.com/.well-known/oauth-protected-resource`
- Signing keys: `https://ai.etal-australia.com/api/auth/jwks`
- A client that mints no token for 30 days is treated as abandoned and may be disabled; if a token request is refused with `invalid_client`, register again.

## Start here

- [Search products](https://ai.etal-australia.com/products?q=QUERY) — HTML search; replace QUERY with your search terms
- [Product list JSON](https://ai.etal-australia.com/products.json) — paginated product list with `q`, `category`, `brand`, `availability`, `sort`, `limit`, and `offset`
- [Example product](https://ai.etal-australia.com/products/em26-1711rg) — ROPEGRAIN DRAPE PANT RG; JSON at https://ai.etal-australia.com/products/em26-1711rg.json
- [Collections](https://ai.etal-australia.com/collections) — available merchant collections; JSON at https://ai.etal-australia.com/collections.json
- [Brand facts](https://ai.etal-australia.com/brand-facts.json) — merchant facts and policy links
- [OpenAPI](https://ai.etal-australia.com/.well-known/openapi.json) — OpenAPI 3.1 contract for the public endpoints
- [LLM index](https://ai.etal-australia.com/llms.txt) — compact index of storefront resources
- [Agent guide](https://ai.etal-australia.com/agents.md) — product discovery and merchant handoff guidance
- [Sitemap](https://ai.etal-australia.com/sitemap.xml) — every product page URL

## Representations

- HTML: https://ai.etal-australia.com/
- Markdown: https://ai.etal-australia.com/index.md, or request https://ai.etal-australia.com/ with `Accept: text/markdown`.

## If a page is missing

- A path that does not exist returns HTTP 404; a missing `.md` path answers with a Markdown note carrying these links.
- Start again from https://ai.etal-australia.com/products or the sitemap, and re-check price and availability before quoting a product.
