Read API
Batch fetch
Hydrate many products at once. Pass up to 50 ids and get the full detail record for each in a single round trip, counted as one request against your rate limit.
When to use it
One request instead of fifty
Reach for this when you already have a set of product identifiers, for example to render a comparison view or to refresh a server-side cache from your nightly sync, and you want their full records without a request per product.
Mixed identifiers
Each id can be a UUID or a slug, just like the detail endpoint. Comma-separate them or repeat the `ids` parameter.
Partial matches are normal
Unknown or unpublished identifiers come back in `missing` rather than failing the whole request, so you always get every product that did resolve.
Endpoint reference
GET /api/v1/materials?ids=
Up to 50 UUIDs or slugs per call. The response carries the full detail record for each published match plus a list of identifiers that did not resolve.
Fetch several materials at once
Batch-load full detail for up to 50 products in a single request. Ideal for hydrating a comparison view or a server-side cache without one request per product.
Request contract
Authorization
Bearer <api_key>
Your API key, sent in the `Authorization` header on every request.
ids
string
Up to 50 product UUIDs or slugs. Comma-separate (`?ids=a,b,c`) or repeat the parameter (`?ids=a&ids=b`).
Response contract
items
array
One full material detail record per published match, in the order requested. Same shape as `GET /materials/{id}`.
missing
string[]
The requested identifiers that had no published match. Empty when everything resolved.
Request example
curl "https://acousticindex.com/api/v1/materials?ids=fural-systeme-amp-p,20000000-0000-4000-8000-000000000006" \ -H "Authorization: Bearer YOUR_API_KEY"
Response example
{
"items": [
{
"id": "11111111-2222-3333-4444-555555555555",
"slug": "fural-systeme-amp-p",
"label": "Acoustic panel",
"manufacturer": "Acme Acoustic",
"alpha_w": 0.85,
"nrc": 0.85,
"saa": 0.82,
"measurements": { "absorption_iso_354": [], "scatter_iso_17497_1": [], "diffusion_iso_17497_2": [] }
}
],
"missing": ["20000000-0000-4000-8000-000000000006"]
}