curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/publish-template' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"certification_pack": "string",
"certified": true,
"created_at": "2026-07-24T12:00:00Z",
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"packing_slip": {
"footer_note": "string",
"logo_text": "string",
"seller_name": "string",
"show_sscc": true
},
"partner_isa_qualifier": "string",
"reuse_count": 1,
"updated_at": "2026-07-24T12:00:00Z",
"validation": {
"accepted_inbound": [
"string"
],
"conditional_rules": [
{
"equals": null,
"require_element": null,
"require_segment": null,
"when_element": null,
"when_segment": null
}
],
"count_checks": {},
"element_constraints": [
{
"allowed": null,
"element": null,
"format": null,
"max_len": null,
"min_len": null,
"required": null,
"segment": null
}
],
"required_qualified": {},
"required_references": {},
"required_segments": {},
"segment_cardinality": {}
},
"version": "string"
}
Publishes a partner's guide+map to the shared library as a reusable template
(relationship IDs and credentials stripped). Usually triggered automatically on a certification pass; this is the explicit path.
POST
/
v1
/
partners
/
{id}
/
publish-template
curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/publish-template' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"certification_pack": "string",
"certified": true,
"created_at": "2026-07-24T12:00:00Z",
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"packing_slip": {
"footer_note": "string",
"logo_text": "string",
"seller_name": "string",
"show_sscc": true
},
"partner_isa_qualifier": "string",
"reuse_count": 1,
"updated_at": "2026-07-24T12:00:00Z",
"validation": {
"accepted_inbound": [
"string"
],
"conditional_rules": [
{
"equals": null,
"require_element": null,
"require_segment": null,
"when_element": null,
"when_segment": null
}
],
"count_checks": {},
"element_constraints": [
{
"allowed": null,
"element": null,
"format": null,
"max_len": null,
"min_len": null,
"required": null,
"segment": null
}
],
"required_qualified": {},
"required_references": {},
"required_segments": {},
"segment_cardinality": {}
},
"version": "string"
}
(relationship IDs and credentials stripped). Usually triggered automatically
on a certification pass; this is the explicit path.
Path parameters
string
required
Partner ID
Response
PartnerTemplate
string
The certification pack the source partner passed, when known.
boolean
required
Whether this template was published from a partner that passed
certification (vs. an ad-hoc publish).
string (date-time)
required
string
required
Stable id, derived from the partner name + version so re-certifying the
same retailer updates rather than duplicates.
object
Show label
Show label
integer (int32)
Print darkness (ZPL
^MD, 0–30); None leaves the printer default.integer (int32)
Label length in dots (ZPL
^LL). 1218 = 6’ at 203 dpi.string
A partner-required mark printed at the label’s top edge (e.g. a routing or
department code the retailer mandates).
integer (int32)
Print width in dots (ZPL
^PW). 812 = 4’ at 203 dpi.string
required
object
Show overlay
Show overlay
ElementOverride[]
object
Show packing_slip
Show packing_slip
string
Optional footer note (return policy, compliance marks, partner-required
statements).
string
Optional logo / brand line printed above the seller name.
string
required
Seller / shipper name printed in the header (the ‘from’ identity).
boolean
When true, render each carton’s SSCC alongside its contents — required
by retailers that scan the slip against the carton label.
string
required
The retailer’s ISA interchange ID qualifier (theirs, not the tenant’s).
integer (int32)
required
How many times another tenant has inherited this template — the flywheel
metric. A high reuse count means the Nth tenant onboards instantly.
string (date-time)
required
PartnerValidation
required
Show PartnerValidation
Show PartnerValidation
string[]
If non-empty, inbound transaction sets not in this list are rejected
(e.g.
['850', '860'] for a partner that only sends orders).ConditionalRule[]
If-then rules, e.g. ‘when BEG02 is SA, a DTM segment is required’.
object
Count-balancing rules per inbound transaction set —
CTT01 must equal
the number of PO1 segments and friends. Checked only when the counter
segment is present (pair with required_segments to mandate it).ElementConstraint[]
Element-level constraints applied to matching segments anywhere in an
inbound document — e.g. pin PO1-03 (unit of measure) to an allowed set.
Show ElementConstraint
Show ElementConstraint
string[]
If non-empty, the element must be one of these values.
integer
required
1-based element position, e.g.
3 for the PO1 unit of measure.object
integer
Maximum length (in characters) when the element is present.
integer
Minimum length (in characters) when the element is present.
boolean
If true, the element must be present (non-empty).
string
required
Segment tag, e.g.
PO1.object
Qualified-segment requirements per inbound transaction set — the guide
staple
required_references can’t reach beyond REF: ‘a DTM*002
(delivery date) must be present’, ‘an N1 loop with N101=ST’. The '*'
key applies to every set.object
REF qualifiers that must be present per inbound transaction set, e.g.
{'850': ['DP']} to require a department-number reference on every PO.object
Segment tags that must be present per inbound transaction set, e.g.
{'850': ['DTM', 'REF']} to require a date and reference on every PO.
The '*' key applies to every inbound set.object
Occurrence bounds per inbound transaction set, e.g.
{'850': [{'segment': 'BEG', 'min': 1, 'max': 1}]} for ‘exactly one
BEG’ or a guide’s ‘max 200 PO1 lines’. The '*' key applies to every
set; a set-specific rule for the same segment takes precedence.string
required
Status codes
| Code | Meaning |
|---|---|
200 | Published template |
404 | Unknown partner |
curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/publish-template' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"certification_pack": "string",
"certified": true,
"created_at": "2026-07-24T12:00:00Z",
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"packing_slip": {
"footer_note": "string",
"logo_text": "string",
"seller_name": "string",
"show_sscc": true
},
"partner_isa_qualifier": "string",
"reuse_count": 1,
"updated_at": "2026-07-24T12:00:00Z",
"validation": {
"accepted_inbound": [
"string"
],
"conditional_rules": [
{
"equals": null,
"require_element": null,
"require_segment": null,
"when_element": null,
"when_segment": null
}
],
"count_checks": {},
"element_constraints": [
{
"allowed": null,
"element": null,
"format": null,
"max_len": null,
"min_len": null,
"required": null,
"segment": null
}
],
"required_qualified": {},
"required_references": {},
"required_segments": {},
"segment_cardinality": {}
},
"version": "string"
}