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_poolpermission
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.