DoiT · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for DoiT Billing Transfer API

9 actions 9 updates phrasing extends openapi/doit-billing-transfer-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for DoiT's API. It is a proposal applied on top of the contract, not a document DoiT publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/billingtransfer/v1/resellerhandshakes'].post
$.paths['/billingtransfer/v1/programmanagementaccounts'].get
$.paths['/billingtransfer/v1/end-customer-mappings'].post
$.paths['/billingtransfer/v1/programmanagementaccounts/status'].get
$.paths['/billingtransfer/v1/end-customers'].get
$.paths['/billingtransfer/v1/resellers/{resellerPmaAccountId}/end-customers'].get
$.paths['/billingtransfer/v1/reseller-accounts'].get
$.paths['/billingtransfer/v1/reseller-accounts/end-customers'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for DoiT Billing Transfer API
  version: 1.0.0
extends: openapi/doit-billing-transfer-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 8
- target: $.paths['/billingtransfer/v1/resellerhandshakes'].post
  update:
    x-apievangelist-phrasing:
      intent: Map resellers to a distributor PMA
      effect: write
      questions:
      - As a distributor, how do I map resellers for AWS billing transfer?
      - Can I dry-run reseller handshakes before sending them?
      instructions:
      - text: Map resellers {items} under distributor PMA {dpmaId}.
        slots:
          items: requestBody.items
          dpmaId: requestBody.dpmaId
      - text: Map resellers {items} to PMA {dpmaId} and send handshakes ({sendHandshakes}).
        slots:
          items: requestBody.items
          dpmaId: requestBody.dpmaId
          sendHandshakes: requestBody.sendHandshakes
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/programmanagementaccounts'].get
  update:
    x-apievangelist-phrasing:
      intent: List program management accounts
      effect: read
      questions:
      - Which program management accounts do I have, and which resellers are under each?
      - What is the AWS Organizations handshake status per account?
      instructions:
      - text: List my program management accounts with their reseller tenants.
      - text: Show my PMAs and handshake status, {n} at a time.
        slots:
          n: query.maxResults
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/end-customer-mappings'].post
  update:
    x-apievangelist-phrasing:
      intent: Map end-customer accounts to tenants
      effect: write
      questions:
      - As a reseller, how do I map end-customer AWS accounts to their DoiT tenant?
      - What do I need to onboard end customers under my reseller PMA?
      instructions:
      - text: Map end customers {items} under reseller PMA {resellerPmaAccountId} of {dpmaId}.
        slots:
          items: requestBody.items
          resellerPmaAccountId: requestBody.resellerPmaAccountId
          dpmaId: requestBody.dpmaId
      - text: Onboard end-customer accounts {items} to reseller {resellerPmaAccountId} under {dpmaId}.
        slots:
          items: requestBody.items
          resellerPmaAccountId: requestBody.resellerPmaAccountId
          dpmaId: requestBody.dpmaId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/programmanagementaccounts/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Poll PMA IAM status
      effect: read
      questions:
      - Is the IAM setup on my program management accounts complete yet?
      - Is there a lightweight way to poll onboarding status?
      instructions:
      - text: Check the IAM status of my program management accounts.
      - text: Poll onboarding status for each PMA.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/end-customers'].get
  update:
    x-apievangelist-phrasing:
      intent: List end-customers by distributor and reseller PMA
      effect: read
      questions:
      - Which end-customer accounts are mapped under a reseller and distributor PMA pair?
      - Can I include revoked end-customer mappings?
      instructions:
      - text: List end customers for distributor PMA {dpmaId} and reseller {resellerPmaAccountId}.
        slots:
          dpmaId: query.dpmaId
          resellerPmaAccountId: query.resellerPmaAccountId
      - text: List end customers under {dpmaId} and {resellerPmaAccountId}, include revoked {includeRevoked}.
        slots:
          dpmaId: query.dpmaId
          resellerPmaAccountId: query.resellerPmaAccountId
          includeRevoked: query.includeRevoked
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/resellers/{resellerPmaAccountId}/end-customers'].get
  update:
    x-apievangelist-phrasing:
      intent: List end-customers by reseller PMA only
      effect: read
      questions:
      - Can I list a reseller's end customers without knowing the distributor PMA?
      - Which end customers sit under one reseller account ID?
      instructions:
      - text: List end customers of reseller PMA {resellerPmaAccountId}.
        slots:
          resellerPmaAccountId: path.resellerPmaAccountId
      - text: Show end-customer mappings for reseller account {resellerPmaAccountId} with revoked set to {includeRevoked}.
        slots:
          resellerPmaAccountId: path.resellerPmaAccountId
          includeRevoked: query.includeRevoked
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/reseller-accounts'].get
  update:
    x-apievangelist-phrasing:
      intent: List my reseller PMA nodes
      effect: read
      questions:
      - Which reseller program management accounts do I own?
      - What handshake state are my reseller nodes in?
      instructions:
      - text: List my reseller PMA nodes.
      - text: Show handshake state for each of my reseller accounts.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/billingtransfer/v1/reseller-accounts/end-customers'].get
  update:
    x-apievangelist-phrasing:
      intent: List reseller PMA nodes with tenants
      effect: read
      questions:
      - Can I see each reseller node together with its connected end-customer tenants?
      - Which tenants are connected under each of my reseller accounts?
      instructions:
      - text: List my reseller nodes with their end-customer tenants.
      - text: Show reseller nodes and tenants with revoked included set to {includeRevoked}.
        slots:
          includeRevoked: query.includeRevoked
      method: generated
      generated: '2026-10-01'