curl --request POST \
--url 'https://edi.stateset.com/v1/connectors/{name}/partners/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"our_isa_id": "string",
"our_isa_qualifier": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"usage": "string"
}'
{
"ack_sla_hours": 1,
"ack_type": "string",
"api_key_hash": "string",
"as1": {
"partner_email": "string"
},
"as2": {
"compress_outbound": true,
"encrypt_outbound": true,
"mdn_mode": "none",
"mic_algorithm": "sha256",
"our_as2_id": "string",
"partner_as2_id": "string",
"partner_cert_pem": "string",
"partner_url": "string",
"request_signed_mdn": true,
"require_encrypted_inbound": true,
"require_signed_inbound": true,
"sign_outbound": true
},
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"our_gs_id": "string",
"our_isa_id": "string",
"our_isa_qualifier": "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_gs_id": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"tenant_id": "string",
"usage": "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": {}
},
"van": {
"mailbox": "string",
"provider": "string"
},
"version": "string"
}
Creates (or updates) a trading partner from a retailer connector, filling
in the retailer’s qualifiers, version, delimiters, and starter guide; the body supplies the relationship-specific identifiers.
POST
/
v1
/
connectors
/
{name}
/
partners
/
{id}
curl --request POST \
--url 'https://edi.stateset.com/v1/connectors/{name}/partners/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"our_isa_id": "string",
"our_isa_qualifier": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"usage": "string"
}'
{
"ack_sla_hours": 1,
"ack_type": "string",
"api_key_hash": "string",
"as1": {
"partner_email": "string"
},
"as2": {
"compress_outbound": true,
"encrypt_outbound": true,
"mdn_mode": "none",
"mic_algorithm": "sha256",
"our_as2_id": "string",
"partner_as2_id": "string",
"partner_cert_pem": "string",
"partner_url": "string",
"request_signed_mdn": true,
"require_encrypted_inbound": true,
"require_signed_inbound": true,
"sign_outbound": true
},
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"our_gs_id": "string",
"our_isa_id": "string",
"our_isa_qualifier": "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_gs_id": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"tenant_id": "string",
"usage": "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": {}
},
"van": {
"mailbox": "string",
"provider": "string"
},
"version": "string"
}
in the retailer’s qualifiers, version, delimiters, and starter guide; the
body supplies the relationship-specific identifiers.
Path parameters
string
required
Connector name, e.g. walmart
string
required
Internal partner ID to create
Request body
ConnectorPartnerParams
string
Override the display name.
string
required
Our ISA interchange ID (our DUNS or the ID the retailer assigned us).
string
required
Our ISA qualifier for this relationship (often
01 DUNS or ZZ).string
required
The retailer’s ISA interchange ID (their assigned identifier).
string
Override the connector’s default partner ISA qualifier.
string
P production (default) or T test.Response
TradingPartner
integer (int32)
Per-partner acknowledgment SLA in hours. Strict retailers chargeback on
late 997s, so this overrides the global
EDI_ACK_SLA_HOURS for monitoring
and alerting. None falls back to the global SLA.string
Which functional acknowledgment this partner receives:
997 (default)
or 999 (Implementation Acknowledgment with IK3/IK4 error detail).string
SHA-256 hex of this partner’s API key, set via
POST /v1/partners/:id/api-key. The plaintext key is never stored.object
Show as2
Show as2
boolean
Compress outbound payloads (CMS CompressedData, RFC 5402). Applied
innermost: compress → sign → encrypt.
boolean
Encrypt outbound payloads (S/MIME). Requires a [
Security] signer.MdnMode
MicAlgorithm
string
required
Our AS2 identifier (the value partners address messages to).
string
required
The partner’s AS2 identifier.
string
The partner’s X.509 certificate (PEM) — used to verify their inbound
signatures and (later) to encrypt outbound payloads for them.
string
required
The partner’s AS2 endpoint URL we POST outbound documents to.
boolean
Request a signed MDN (transport-level non-repudiation of receipt).
Requires a configured [
Security] signer to verify; until then we
accept unsigned MDNs.boolean
Require inbound messages from this partner to be encrypted. When set, a
cleartext inbound message is rejected with a failure MDN. Defaults to
false.boolean
Require inbound messages from this partner to be signed. When set, an
unsigned inbound message is rejected with a failure MDN instead of
processed. Defaults to
false (accept unsigned) to preserve existing
behavior; enable it — together with partner_cert_pem — to mandate
message authentication for a partner. Verification of the signature
itself still depends on a configured certificate.boolean
Sign outbound payloads (S/MIME). Requires a [
Security] signer.string
required
Stable internal identifier, used in URLs and event payloads.
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
string
string
required
string
required
Our ISA qualifier/ID for this relationship.
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
GS application codes; default to the ISA IDs when omitted.
string
required
string
required
The partner’s ISA qualifier/ID (they are the receiver on our outbound).
string
Owning tenant. Every partner belongs to exactly one tenant; an API key
issued for the partner therefore implies its tenant. Defaults to
default so single-tenant deployments and pre-tenancy records work
unchanged.string
ISA15 usage indicator:
P production, T test.PartnerValidation
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.object
string
GS08 version, e.g.
004010.Status codes
| Code | Meaning |
|---|---|
200 | The created partner (key hash redacted) |
403 | Admin credential required |
404 | Unknown connector |
curl --request POST \
--url 'https://edi.stateset.com/v1/connectors/{name}/partners/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"our_isa_id": "string",
"our_isa_qualifier": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"usage": "string"
}'
{
"ack_sla_hours": 1,
"ack_type": "string",
"api_key_hash": "string",
"as1": {
"partner_email": "string"
},
"as2": {
"compress_outbound": true,
"encrypt_outbound": true,
"mdn_mode": "none",
"mic_algorithm": "sha256",
"our_as2_id": "string",
"partner_as2_id": "string",
"partner_cert_pem": "string",
"partner_url": "string",
"request_signed_mdn": true,
"require_encrypted_inbound": true,
"require_signed_inbound": true,
"sign_outbound": true
},
"delimiters": {
"component": ">",
"element": "*",
"repetition": "string",
"segment": "~"
},
"id": "string",
"label": {
"darkness": 1,
"height_dots": 1,
"partner_mark": "string",
"width_dots": 1
},
"name": "string",
"our_gs_id": "string",
"our_isa_id": "string",
"our_isa_qualifier": "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_gs_id": "string",
"partner_isa_id": "string",
"partner_isa_qualifier": "string",
"tenant_id": "string",
"usage": "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": {}
},
"van": {
"mailbox": "string",
"provider": "string"
},
"version": "string"
}