curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/guide/snapshot' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"author": "string",
"created_at": "2026-07-24T12:00:00Z",
"note": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"partner_id": "string",
"tenant_id": "string",
"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": 1
}
Captures the partner's current implementation guide (validation + overlay) as
the next immutable version.
POST
/
v1
/
partners
/
{id}
/
guide
/
snapshot
curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/guide/snapshot' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"author": "string",
"created_at": "2026-07-24T12:00:00Z",
"note": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"partner_id": "string",
"tenant_id": "string",
"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": 1
}
the next immutable version.
Path parameters
string
required
Partner ID
Response
GuideSnapshot
string
required
Who captured it (
admin, partner:{id}).string (date-time)
required
string
object
Show overlay
Show overlay
ElementOverride[]
string
required
string
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.integer (int32)
required
Monotonic version, starting at 1.
Status codes
| Code | Meaning |
|---|---|
200 | The captured guide version |
404 | Unknown partner |
curl --request POST \
--url 'https://edi.stateset.com/v1/partners/{id}/guide/snapshot' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"author": "string",
"created_at": "2026-07-24T12:00:00Z",
"note": "string",
"overlay": {
"element_overrides": [
{
"element": null,
"segment": null,
"transaction_set": null,
"value": null
}
],
"extra_segments": [
{
"elements": null,
"tag": null,
"transaction_set": null
}
]
},
"partner_id": "string",
"tenant_id": "string",
"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": 1
}