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.
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
# 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/doit-billing-transfer-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.