Skip to main content

returnCompanyUpcToPool

Returns an owned UPC to its GS1 block so auto-assignment can hand it out again.

A code is retired the moment it carries a product, because GS1 forbids reissuing a GTIN that has entered trade. Only the operator knows whether a given code actually did — a code changed minutes after it was typed never left the building — so this mutation is how they say so. Leaving a code retired needs no call: that is already the state a release produces.

Returning destroys the code's allocation record, which is what makes the code available again. The history is not lost; the product events that attached and detached it remain in the event stream.

Business Rules

  • The code must belong to one of the current company's unarchived GS1 blocks.
  • The code must not currently be assigned to a product.
  • Returning a code that is already available succeeds and changes nothing.

Error Scenarios

  • **NOT_FOUND**: when the code is not from one of this company's blocks.
  • **BAD_REQUEST**: when the code is still assigned to a product.

Permissions Required

  • company:return_upc_to_pool permission
returnCompanyUpcToPool(
input: ReturnCompanyUpcToPoolInput!
): CompanyGs1Prefix

Arguments

returnCompanyUpcToPool.input ● ReturnCompanyUpcToPoolInput! non-null input common

Parameters for ReturnCompanyUpcToPool

Type

CompanyGs1Prefix object companies

Company GS1 Prefix

A GS1 prefix licensed to the company. Integrations assigned to it mint SSCC-18 codes from one shared serial counter, and its GTIN capacity defines the owned UPC block.