EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
GS1 General Specifications & AI Syntax <1ms Edge Edge Compute

GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027)

Deconstruct and build GS1 Digital Link web URIs for modern QR code consumer engagement and point-of-sale scanning. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches GS1 General Specifications & AI Syntax without reading the source standard.

Latency: <1ms Edge Availability: 99.99% Standard: GS1 Digital Link Standard 1.2 In-Memory Execution
Interactive Edge Workbench

⚡ Live GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) Interactive Workbench

Test real-time validation and schema parsing for GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) directly in your browser. Runs in sub-5ms with zero setup.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.txt 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →
LLM / MCP
Prompt-Ready Specification for AI Agents llms.txt
Structured format rules and schemas optimized for LLM coding agents and Model Context Protocol tooling.
Raw .md
Official Standard & Validation Protocol Authority: GS1 Global Standards Architecture ↗

Quick Summary: Deconstruct and build GS1 Digital Link web URIs for modern QR code consumer engagement and point-of-sale scanning. Validates strictly against GS1 General Specifications & AI Syntax with sub-5ms in-memory response times.

Latency
<1ms Edge
Standard
GS1 Digital Link Standard 1.2
Version
Max Payload
512 KB
Privacy
In-Memory (0 bytes stored)

Specification & Structural Breakdown

Technical Summary: Validates strictly against GS1 General Specifications & AI Syntax. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.

GS1 Digital Link provides a standard web URI structure to encode GS1 identifiers into 2D QR codes and DataMatrix symbols readable by smartphones and POS scanners alike.

SegmentExampleDescription
Domain / Hosthttps://id.brand.comBrand resolver web address
Primary AI Path/01/00012345678905GTIN-14 product key
Key Qualifier/21/SN9988Serial number qualifier
Query Attributes?10=LOT123&17=260831Secondary attributes (Lot, Exp)

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:

HTTP 200 JSON Response Envelope
{
  "uri": "https://id.brand.com/01/00012345678905/21/SN9988?10=LOT123&17=260831",
  "primaryKey": {
    "ai": "01",
    "value": "00012345678905"
  },
  "qualifiers": {
    "21": "SN9988"
  },
  "attributes": {
    "10": "LOT123",
    "17": "260831"
  }
}

Sample file

Copy or download this validated GS1 sample. It is parsed by the production engine in the test suite, so it works as a fixture as-is.

gs1-digital-link-uri.txt
https://id.gs1.org/01/00300012345671/10/BATCH123/21/SER987

Download gs1-digital-link-uri.txt All sample files →

Copy-Paste Integration Code (6 Languages)

Integrate GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):

curl --request POST \
  --url "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}'
const response = await fetch("https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
})
});

const data = await response.json();
console.log(data);
import requests
import json

url = "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	url := "https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode"
	payload := []byte(`{"barcode":"010001234567890510LOT123\u001d1726083121SN9988"}`)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("x-api-key", os.Getenv("API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");

        var json = @"{""barcode"":""010001234567890510LOT123\u001d1726083121SN9988""}";
        var payload = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await client.PostAsync("https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode", payload);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}
Integrate the StanzaAPI gs1-decoder micro-API.

Endpoint: POST https://api.stanzaapi.com/gs1-decoder/api/v1/gs1/decode
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
  "barcode": "010001234567890510LOT123\u001d1726083121SN9988"
}

Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.

Frequently Asked Questions & Technical Notes

Can GS1 Digital Link replace traditional UPC barcodes at grocery checkout?

Yes! Sunrise 2027 establishes the global retail adoption of 2D Digital Link QR codes at retail point of sale.

Related GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats

Explore sibling specifications and standards in the same developer cluster:

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:

All GS1 Barcode & Digital Link Decoder (Sunrise 2027) API Formats & Specifications (11) Directory Index ↓
GS1 AI (01) Global Trade Item Number (GTIN) & Mod-10 Checksum GS1 AI (10) Batch / Lot Number Specification & FNC1 Rules GS1 AI (17) Expiration Date Specification (YYMMDD & YYMM00) GS1 AI (21) Individual Serial Number Specification GS1 AI (00) Serial Shipping Container Code (SSCC-18) Spec GS1 Digital Link URI Standard & QR Web Transition (Sunrise 2027) GS1 AI (02) CONTENT Global Trade Item Number Specification GS1 AI (37) COUNT of Trade Items Specification GS1 AI (30) VAR COUNT Specification for Variable-Measure Items GS1-128 vs GS1 DataMatrix vs GS1 Digital Link QR Comparison GS1 FNC1 / ASCII 29 (GS) Separator Rules for Variable-Length AIs