# Receiving, tool changeouts, palette and DNS encoding

## Purchase Order Overreceipt Routing Plan

See which delivered units fit purchase order authorization and which need separate routing. Supply sourceRevision, a common unit, up to 64 orderLines and up to 64 receipts in priority order. Each line declares orderedUnits, postedUnits and an absolute overageAllowanceUnits. Each receipt declares its orderLineId, deliveredUnits and inspectionHeldUnits. Order and delivery quantities are positive. Quantities are whole numbers at most 1,000,000,000, and inspection cannot exceed delivery. IDs are opaque case-sensitive ASCII labels with 1 to 48 letters, digits, underscores, periods, colons, pipes or hyphens. Line and receipt IDs are unique within their own collections. Remaining authorization starts at ordered plus allowance minus posted, floored at zero. Each receipt first routes its inspection-held units separately. A matching line reserves as many of the other units as its remaining authorization allows and routes the rest to overage. An unknown line routes those eligible units to unmatched. The four quantities account for every delivered unit. Both result lists retain their input order. This plan proposes routing from supplied records. It does not post a receipt, release inspection, change purchase orders or verify inventory. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](purchase-order-overreceipt-routing-plan.request.example.json) · [Input schema](purchase-order-overreceipt-routing-plan.input.schema.json) · [Result schema](purchase-order-overreceipt-routing-plan.result.schema.json)

## Tool Life Changeout Plan

Plan tool changeouts before jobs that need more life than the current tool has left. Supply sourceRevision, a common lifeUnit, up to 64 tools and up to 64 jobs in priority order. Each tool declares usedLifeUnits, a positive lifeLimitUnits and its available identical spares. Each job names a toolId and positive requiredLifeUnits. Quantities are whole numbers at most 1,000,000,000. Used life cannot exceed the limit. IDs are opaque case-sensitive ASCII labels with 1 to 48 letters, digits, underscores, periods, colons, pipes or hyphens. Tool and job IDs are unique within their own collections. An exact fit uses the current tool. If a job fits a fresh tool but not the current one, one available spare replaces it before the job. Jobs are indivisible. A missing tool, demand above a fresh tool limit, or unavailable spare holds that job without changing any tool or spare balance. Later jobs still run through the policy. Job plans and final tool balances retain input order. This plan uses supplied life estimates and does not operate machinery, validate equipment condition or authorize production. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](tool-life-changeout-plan.request.example.json) · [Input schema](tool-life-changeout-plan.input.schema.json) · [Result schema](tool-life-changeout-plan.result.schema.json)

## JASC PAL RGB Palette Encoder

Create a complete JASC-PAL 0100 palette from 1–128 RGB8 colors in supplied order. Each color contains exactly three integers from 0 through 255. The ASCII text uses decimal channels separated by one space and LF after every line, including the last. The result includes the palette text, color count and byte length. Alpha channels, color conversion and file operations are outside this profile. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](jasc-pal-rgb-palette-encoder.request.example.json) · [Input schema](jasc-pal-rgb-palette-encoder.input.schema.json) · [Result schema](jasc-pal-rgb-palette-encoder.result.schema.json)

## DNS SOA RDATA Encoder

Encode SOA RDATA from two absolute DNS names and five unsigned 32-bit fields. The root is a single dot. Other names end with a dot and use 1–63 ASCII letters, digits, underscores or hyphens per label. Each uncompressed wire name occupies at most 255 bytes, including its terminating zero. The original letter case is preserved. The result contains lowercase hexadecimal and the RDATA byte length. The responsible name stays in DNS notation. DNS messages, compression, zone updates and queries are outside this profile. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](dns-soa-rdata-encoder.request.example.json) · [Input schema](dns-soa-rdata-encoder.input.schema.json) · [Result schema](dns-soa-rdata-encoder.result.schema.json)

One-time job. See the exact service price before checkout. Save your private JSON result within its 30-day access period.
Requests accept at most 36,000 UTF-8 input bytes. Send only authorized, non-sensitive records.

For a known hosted offer, read current checkout and wallet availability with `GET https://gatewayinformationgroup.com/api/catalog/v1/search?id=PRODUCT_ID`. Then use the input schema and request example above.

Use the existing [agent checkout guide](https://gatewayinformationgroup.com/developers) to prepare a quote, pay and retrieve the private result.
