Factuarea APIDevelopers

Preview the impact of restricting a catalog

Compute what would be lost if the commercial combinations of a product were replaced by the proposed ones, and mint the impact_token that confirms THAT exact change.

  • It is a READ and persists nothing — asking twice over the same catalog returns the same token — but it requires products:write, because the only thing its answer does is authorise a destructive write.
  • Send configurations as the COMPLETE list of combinations that would remain ACTIVE (an empty list means "retire the allow-list", which returns the product to the cartesian cross), plus variant_ids/presentation_ids enumerating what SURVIVES on each axis — omitting a key means "that axis is untouched", which is not the same as an empty list.
  • The answer says whether the change needs confirmation at all (requires_confirmation), which crosses stop being sellable, and which negotiated prices would be retired and from which price lists.
  • The token is a fingerprint of the current catalog AND of the set of prices at stake, not a credential: if either changes before you confirm, the confirmation is rejected and you ask for a fresh preview.
  • Send it back as impact_token when emptying configurations on PATCH /v1/products/{id}, or when deleting the variant or presentation whose removal would leave the product with no declared combination.
POST
/products/{product}/configurations/impact-preview
AuthorizationBearer <token>

In: header

Path Parameters

product*string

Headers

Factuarea-Version?string

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Formatdate
X-Active-Profile?string

Operate on behalf of a child company (gestoría master key): pass its public id (UUID v7) and the request runs against that child's data without changing the key's scope, tier or environment (omit to use the key's own company). Invalid UUID → 400 parameter_invalid_uuid; unknown or non-owned id → 404 profile_not_found. See the Acting on behalf guide.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json