> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a partner guide

> Saved guide and opaque edit revision

### Path parameters

**id** `string` *required*

Tenant-owned partner

### Response

`GuideResponse_GuideDraft`

**data** `object` *required*

**data**

**overlay** `PartnerOverlay,null`

A per-partner outbound overlay: the configurable slice of a companion guide. Applied to a built X12 transaction set before enveloping, so the same codec serves every partner and their idiosyncrasies live on the partner record.

**PartnerOverlay**

**element\_overrides** `ElementOverride[]`

Force an element's value on the first matching segment of an outbound transaction (optionally scoped to a set) — e.g. a fixed qualifier.

**extra\_segments** `OverlaySegment[]`

Extra segments appended to outbound transactions (optionally scoped to a transaction set) — e.g. a partner-required `REF`/`N9`/`DTM`.

**publishing\_available** `boolean` *required*

Atomic guide publication is available on PostgreSQL deployments.

**revision** `string` *required*

Opaque revision of the partner settings, including its environment.

**validation** `PartnerValidation` *required*

Per-partner inbound validation. Empty rules accept everything (the default), so existing partners are unaffected.

**PartnerValidation**

**accepted\_inbound** `string[]`

If non-empty, inbound transaction sets not in this list are rejected (e.g. `['850', '860']` for a partner that only sends orders).

**accepted\_versions** `string[]`

If non-empty, an inbound functional group whose GS08 version is not in this list is rejected (SNIP level 2). Empty accepts any supported version — e.g. `['005010']` pins a partner certified only on 5010.

**conditional\_rules** `ConditionalRule[]`

If-then rules, e.g. 'when BEG02 is SA, a DTM segment is required'.

**count\_checks** `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). Additional keys map to values of type `CountRule[]`.

**element\_constraints** `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.

**enforce\_x12\_envelope\_identity** `boolean`

Require inbound X12 ISA sender/receiver qualifiers and IDs, plus ISA15, to match this partner even when the caller supplies an explicit partner ID.

**enforce\_x12\_group\_identity** `boolean`

Require every inbound X12 GS02/GS03 to match the configured application sender/receiver IDs (falling back to ISA IDs when GS IDs are unset).

**outbound\_rules** `OutboundRule[]`

Sourced checks for generated 855/856/810 wire, evaluated after overlays. Stored with guide snapshots and included in readiness fingerprints.

**required\_qualified** `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. Additional keys map to values of type `QualifiedSegmentRule[]`.

**required\_references** `object`

REF qualifiers that must be present per inbound transaction set, e.g. `&#123;'850': ['DP']&#125;` to require a department-number reference on every PO. Additional keys map to values of type `string[]`.

**required\_segments** `object`

Segment tags that must be present per inbound transaction set, e.g. `&#123;'850': ['DTM', 'REF']&#125;` to require a date and reference on every PO. The `'*'` key applies to every inbound set. Additional keys map to values of type `string[]`.

**segment\_cardinality** `object`

Occurrence bounds per inbound transaction set, e.g. `&#123;'850': [&#123;'segment': 'BEG', 'min': 1, 'max': 1&#125;]&#125;` 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. Additional keys map to values of type `CardinalityRule[]`.

**warning\_codes** `string[]`

Validation issue codes (e.g. `too_long`, `value_not_allowed`) that are advisory for this partner: matching issues are reported on the accepted document and acknowledged `E` (accepted with errors) in the 997/999 instead of rejecting the transaction. For EDIFACT, a parsed, mapped message is accepted with findings in the report and ledger; CONTRL reports acceptance without inventing a syntax-error code. Unlisted guide codes and parser failures still reject.

**success** `boolean` *required*

### Status codes

| Code | Meaning |
| - | - |
| `200` | Saved guide and opaque edit revision |
| `404` | Unknown partner |

### Using this contract

Read the [source OpenAPI document](/spec/edi.json) for declared schemas and alternatives.
This page also includes documented corrections from the [spec overlays](https://github.com/stateset/docs/tree/main/spec/overlays).
Example IDs and values are illustrative; replace them with records from your workspace.

```bash cURL theme={null}
curl --silent --show-error --fail-with-body --request GET \
  --url 'https://api.edi.stateset.com/v1/partners/{id}/guide' \
  --header "Authorization: Bearer $EDI_API_TOKEN"
```

```json 200 theme={null}
{
  "data": {
    "overlay": {
      "element_overrides": [
        {
          "element": 1,
          "segment": "string",
          "transaction_set": "string",
          "value": "49.00"
        }
      ],
      "extra_segments": [
        {
          "elements": [
            "string"
          ],
          "tag": "priority",
          "transaction_set": "string"
        }
      ]
    },
    "publishing_available": true,
    "revision": "string",
    "validation": {
      "accepted_inbound": [
        "string"
      ],
      "accepted_versions": [
        "string"
      ],
      "conditional_rules": [
        {
          "equals": [
            "string"
          ],
          "require_element": {
            "element": 1,
            "segment": "string"
          },
          "require_segment": "string",
          "when_element": 1,
          "when_segment": "string"
        }
      ],
      "count_checks": {},
      "element_constraints": [
        {
          "allowed": [
            "string"
          ],
          "component": 1,
          "element": 1,
          "format": "numeric",
          "max_len": 1,
          "min_len": 1,
          "qualifier_element": 1,
          "qualifier_value": "49.00",
          "required": true,
          "segment": "string",
          "sets": [
            "string"
          ]
        }
      ],
      "enforce_x12_envelope_identity": true,
      "enforce_x12_group_identity": true,
      "outbound_rules": [
        {
          "kind": "required_segment",
          "qualifier": "string",
          "segment": "string",
          "set": "string",
          "source": "string"
        }
      ],
      "required_qualified": {},
      "required_references": {},
      "required_segments": {},
      "segment_cardinality": {},
      "warning_codes": [
        "string"
      ]
    }
  },
  "success": true
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.