Create end-customer mappings (batch)

Maps end-customer AWS accounts under a reseller's PMA to their DoiT tenant, as part of AWS
billing transfer onboarding. Reseller-only; distributors are explicitly denied (403).

Unlike POST /billingtransfer/v1/resellerhandshakes, this endpoint has no
Idempotency-Key requirement and no dryRun support.

This path is a deliberate exception to the de-hyphenation convention used by the sibling
resellerhandshakes and programmanagementaccounts paths — it stays hyphenated to match
the existing Go route and its console-facing equivalent.

Each item in the batch is processed independently; per-item outcomes are returned in
results[] with HTTP 200. Malformed items are rejected up front and reported in
invalidItems without processing any of the batch.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
string
required

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

items
array of objects
required
length between 1 and 100

Batch items. Duplicate ecAccountId or ecCustomerId values within the batch are rejected.

items*
string
required

12-digit AWS account ID of the end-customer account being mapped.

string
required

DoiT customer ID to map the end-customer account to.

string

Optional CUR export base path for the end-customer account.

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.

Responses

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