Create reseller handshakes (batch)

Maps reseller to distributor; also sends the handshake if required, as part of AWS
billing transfer onboarding. Distributor-only; callers without the ChannelOps distributor
tier entitlement receive 403.

Each item in the batch is processed independently; per-item outcomes are returned in
results[] with HTTP 200 even when some items fail. Malformed items (missing fields,
duplicate resellerPmaAccountId within the batch) are rejected up front with 422 and
reported in invalidItems, and none of the batch is processed in that case.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
boolean
Defaults to false

If true, validates the batch and simulates the outcome without issuing any AWS
Organizations handshakes. The response shape is identical to a real execution.

Body Params
string
required

The distributor's program management account (DPMA) ID issuing the handshakes.

boolean
Defaults to false

If true, issues a new AWS Organizations handshake for each item without an existing one. If omitted or false, maps the batch in place without issuing any AWS Organizations handshakes.

items
array of objects
required
length between 1 and 100

Batch items. Duplicate resellerPmaAccountId values within the batch are rejected.

items*
string
required

DoiT customer ID of the reseller's end customer to issue a handshake for.

string
required

12-digit AWS account ID of the reseller's program management account (PMA).

Headers
string

Tenant (customer) identifier that conveys the tenant scope for the request
(DoiT API Design Standards §15).

Resolution when the header is absent:

  • A key scoped to exactly one tenant resolves to that tenant automatically; the header is
    optional.
  • A principal that can access more than one tenant (e.g. DoiT-employee keys) must supply the
    header. Without it the request is rejected with 400 and code tenant_id_required — the
    server does not guess across tenant scopes.

When the header is present but conflicts with the tenant the key is scoped to, the request is
rejected with 400 and code tenant_id_mismatch.

string
required
length ≤ 255

Client-generated idempotency key (UUID v4 or ULID recommended, max 255 characters).
Re-submitting the same key with the same request returns the cached response without
re-executing side effects.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json