LegitGrailsLegitGrails
Status unavailable
  • Developers
  • API Reference
LegitGrails API
    OverviewQuickstartIntegration setupAuthenticationCatalogOrdersPhotosWebhooksRate limitsErrorsChangelog
API Reference
LegitGrails API

Catalog

Use the catalog to turn a user's selection into the codes, answer time, and initial photo requirements accepted by POST /orders. Resolve it at runtime because availability, prices, labels, and photo requirements can change.

Recommended lookup order

For a category-first picker:

  1. Get a category_code from GET /catalog/categories.
  2. Get a compatible brand_code from GET /catalog/brands?category_code={category_code}.
  3. Optionally get a model_code from GET /catalog/models using the selected brand and category.
  4. Get an available answer_time for the brand and category, then load the photo requirements for the selected category, brand, and optional model.
  5. Send the returned codes unchanged in POST /orders.

Once brand and category are known, answer times and photo indexes can be loaded in parallel. When a model is selected, pass its code to the photo-index request as well. Providing category, brand, and model context produces the most precise photo indexes and example photos for the item.

For a brand-first picker, start with unfiltered GET /catalog/brands, use its nested categories, then make the same context-specific calls.

Endpoint summary

Every endpoint accepts optional locale; supported values are en and ja.

EndpointRequired inputsOther inputsReturns
GET /catalog/categoriesNonebrand_code, localeCategory codes, labels, and optional icons.
GET /catalog/brandsNonecategory_code, locale, page, limitBrand codes, labels, and nested categories.
GET /catalog/modelsbrand_code, category_codelocale, page, limitModel codes, labels, and optional images.
GET /catalog/answer_timesbrand_code, category_codelocaleService-time codes, prices, suggested selections, and availability.
GET /catalog/photo_indexescategory_codebrand_code, model_code, localePhoto index codes, requirements, limits, and example images.

The API Reference contains the complete schemas and error responses.

Shared response rules

  • Treat every returned code as an opaque request value. Send it exactly as returned; do not derive it from name or name_locale.
  • Use name for English display and name_locale for localized display.
  • Collections are returned in data. Brand and model responses also include pagination fields.

Categories and brands

Use brand_code to load categories for a selected brand, or use category_code to limit the brands offered for a selected category.

Models

Models are always optional for order creation. Selecting one can make the photo indexes and example images more precise for the item, helping users supply the most relevant photos. Pass the selected model_code to both GET /catalog/photo_indexes and POST /orders. If no model is selected, omit it from both requests.

Answer times

Load answer times after selecting a valid brand/category pair.

FieldUse
codeService time in minutes. Send this integer as answer_time in POST /orders.
pricePrice in credits.
defaultSuggested catalog selection.
availableSubmit options whose current value is true.
next_available_atEarliest known availability as an ISO 8601 timestamp, or null.

Send a currently available code. An unavailable selection returns answer-time-unavailable; see Errors for its details.

Photo indexes

GET /catalog/photo_indexes requires category_code and accepts optional brand_code and model_code. Supplying model_code also requires brand_code, and the model must belong to that brand/category. Providing more supported classification context makes the returned indexes and example images more precise for the item.

FieldUse for initial order creation
codeSend as photos[].index_code.
requiredInclude at least one photo for this code when true.
photo_limitMaximum number of initial photos for this code.
icon_urlOptional display asset; can be null.
example_urlsExamples that can help a user capture the requested view.

Build photos from the current catalog response and follow its required and photo_limit values.

Freshness

Cache display-oriented catalog data only for a bounded period. Refresh answer times close to order submission, and reload photo indexes when the selected brand, category, or model changes. See the Quickstart for a complete order flow.

Last modified on September 4, 2026
AuthenticationOrders
On this page
  • Recommended lookup order
  • Endpoint summary
  • Shared response rules
  • Categories and brands
  • Models
  • Answer times
  • Photo indexes
  • Freshness