Skip to content
Menu

DEVELOPER DOCS / CONTRACT 0.101.0

Check held data and request a missing type

Check product links and record demand without starting paid research.

Get started with your AI agent.

Contract snapshot 0.101.0 · Deployment and client release availability follow the integration note for your environment.

Check before requesting

Intake accepts an items array of product links or SKUs. not_checked does not mean not held. Catalogue search may include intake and askFinder information.

Record demand

Send text, optional query and surface to createDataRequest. Do not include contact details. The acknowledgement records a request; it is not a research result or an approved paid run. Respect rate limits.

POST

/v1/catalogue/intake

Do we already hold these products?

For up to 25 product links or retailer product ids (SKUs): whether Rewalto already collects the listing each names, how the input was linked to it (`linkMethod`), the retailer product id it declares (`declaredSku`), and, per held listing, the canonical product it is linked to (`productId`), kept apart from the declared SKU. Coverage facts only (first and last seen, readings kept), never titles or prices: read the data with /v1/data. Free text that is neither a link nor a product id is refused. Public and free.

Request body schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/IntakeRequest"
      }
    }
  }
}
Response status codes
StatusMeaning
200Success
400Error. The `error.code` is one of: - `invalid_json`: retry advice `fix_request` - `invalid_request`: retry advice `fix_request`
413Error. The `error.code` is one of: - `payload_too_large`: retry advice `fix_request`
415Error. The `error.code` is one of: - `unsupported_media_type`: retry advice `fix_request`
429Error. The `error.code` is one of: - `rate_limited`: retry advice `after_reset`
500Error. The `error.code` is one of: - `internal`: retry advice `bounded`
503Error. The `error.code` is one of: - `unavailable`: retry advice `bounded`

Full response fields and reusable schemas are in the downloadable OpenAPI contract.

POST

/v1/catalogue/requests

Missing a data type? Ask the Finder

Records a request for data Rewalto does not offer yet: a catalogue search that found nothing, or a pasted product that is not held (send what found nothing as `query`). Staff read the requests and count them as demand for new datasets. No sign-in needed; a session or API key, if sent, records your organisation so the Finder can follow up there. Never charged. Leave out contact details: text with an email address or phone number is refused. At most 5 requests a minute per caller.

Request body schema
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DataRequestCreate"
      }
    }
  }
}
Response status codes
StatusMeaning
201Success
400Error. The `error.code` is one of: - `invalid_json`: retry advice `fix_request` - `invalid_request`: retry advice `fix_request`
401Error. The `error.code` is one of: - `key_expired`: retry advice `refresh_credentials` - `key_revoked`: retry advice `refresh_credentials` - `session_expired`: retry advice `refresh_credentials` - `unauthenticated`: retry advice `refresh_credentials`
403Error. The `error.code` is one of: - `org_missing`: retry advice `never`
413Error. The `error.code` is one of: - `payload_too_large`: retry advice `fix_request`
415Error. The `error.code` is one of: - `unsupported_media_type`: retry advice `fix_request`
429Error. The `error.code` is one of: - `rate_limited`: retry advice `after_reset`
500Error. The `error.code` is one of: - `internal`: retry advice `bounded`
503Error. The `error.code` is one of: - `unavailable`: retry advice `bounded`

Full response fields and reusable schemas are in the downloadable OpenAPI contract.