# DoiT Cloud Intelligence Documentation > DoiT Cloud Intelligence Public APIs Documentation ## Guides: Documentation - [Get Started](https://developer.doit.com/docs/start.md): Welcome to DoiT Cloud Intelligence™ Public API - [Rate limits](https://developer.doit.com/docs/rate-limits.md): Learn about the rate limits of DoiT API. - [Terraform Provider](https://developer.doit.com/docs/tf-provider.md): The DoiT Cloud Intelligence Terraform provider lets you manage DoiT Cloud Intelligence™ via code. - [Integrating with SOPS](https://developer.doit.com/docs/managing-the-api-token-with-sops.md): How to integrate DoiT Terraform provider using best practices for authentication, and SOPS secrets. - [MCP Server](https://developer.doit.com/docs/doit-mcp-server.md): Embed DoiT Cloud Intelligence in your FinOps, development, and architecture workflows - [Resource IDs](https://developer.doit.com/docs/resource-ids.md): Get the IDs for reports, budgets, and other resources. - [Filters](https://developer.doit.com/docs/filters.md): Filters are a powerful tool you can use to access the data you need - [API Availability Matrix](https://developer.doit.com/docs/availability-matrix.md): A list of our generally available APIs and the currently supported version ## Guides: AI Assistant - [Ava](https://developer.doit.com/docs/ava-our-ai-assitant.md): Ava is DoiT’s AI-powered, cloud expert virtual assistant. ## Guides: Reporting and analytics - [Reports API](https://developer.doit.com/docs/reports.md): Programmatically obtain cost, usage and savings information for your cloud infrastructure with easy-to-use RESTful API. - [Sharing API](https://developer.doit.com/docs/sharing-api.md): Take the unified approach to managing permissions of Cloud Analytics resources. - [Allocations API](https://developer.doit.com/docs/allocations.md): Programmatically manage Allocations that you use across DoiT Cloud Intelligence™ for reports, budgets, alerts, anomalies, and more. - [Annotations API](https://developer.doit.com/docs/annotations-api.md): Programmatically manage Cloud Analytics report annotations with a REST API. - [Labels API](https://developer.doit.com/docs/labels-api.md): The **Labels API** allows you to programmatically manage and apply custom metadata to your DoiT Cloud Intelligence™ resources. By defining and assigning labels, you can organize your cloud governance… ## Guides: Policy and governance - [Anomalies API](https://developer.doit.com/docs/anomalies-1.md) - [Alerts](https://developer.doit.com/docs/alerts.md): Alerts are notifications for user-defined events or conditions. You can create alerts to track different metrics and dimensions, including allocations. - [Cloud Incidents](https://developer.doit.com/docs/knownissues.md) ## Guides: AUTOMATION - [CloudFlow API](https://developer.doit.com/docs/cloudflow-api.md): DoiT CloudFlow is a GenAI-powered FinOps and CloudOps automation platform. It provides the automation and intelligence you need to manage your FinOps and CloudOps processes at scale. ## Guides: Data ingestion - [DataHub API](https://developer.doit.com/docs/datahub-api.md): Ingest data from various sources for contextualized analysis of your spend. ## Guides: Billing - [Invoices API](https://developer.doit.com/docs/invoice.md): Programatically access cloud infrastructure invoices ## Guides: Optimization - [Insights API](https://developer.doit.com/docs/insights-api.md) ## Guides: Users - [Users API Overview](https://developer.doit.com/docs/users-api-overview.md): Programmatically manage your users ## Guides: Asset Management - [Manage License-based Assets](https://developer.doit.com/docs/manage-license-based-assets.md): Programatically add or remove licenses for your Google Workspace or Office 365 subscriptions - [Manage AWS Assets](https://developer.doit.com/docs/manage-aws-assets.md) ## Guides: Support - [Support API](https://developer.doit.com/docs/support.md) - [Platforms and Products](https://developer.doit.com/docs/support-metadata.md): Possible values for `platform` and `product` fields - [Ticket Status and Severity](https://developer.doit.com/docs/ticket-statuses.md): How to parse API status and severity values ## Guides: Partners - [Partner Provisioning](https://developer.doit.com/docs/partner-endpoints.md): Reference-style documentation for partner tenant listing, provisioning, bulk provisioning, and job polling endpoints. ## API Reference: DoiT Cloud Intelligence - [Welcome](https://developer.doit.com/reference/welcome.md): Welcome to DoiT Cloud Intelligence™ API Reference - Policy and governance - Alerts - [List alerts](https://developer.doit.com/reference/listalerts.md): Returns a list of alerts that your account has access to. Alerts are listed in reverse chronological order by default. - [Create an alert](https://developer.doit.com/reference/createalert.md): Creates a new alert. - [Retrieve an alert](https://developer.doit.com/reference/getalert.md): Returns an alert by the specified Id. - [Delete an alert](https://developer.doit.com/reference/deletealert.md): Deletes the alert specified by the Id. - [Update an alert](https://developer.doit.com/reference/updatealert.md): Updates the alert specified by the Id. - [List eligible Slack destinations](https://developer.doit.com/reference/listalertslackchannels.md): Lists Slack destinations eligible for Alert notifications for the authenticated customer and caller. Returns canonical identifiers for recipientsSlackChannels and integration status. User credentials… - Anomalies - [List anomalies](https://developer.doit.com/reference/listanomalies.md): Returns a list of detected anomalies. Requires the `governance:costAnomalies` entitlement and the `AnomaliesViewer` permission. Anomalies can be sorted by `startTime`, `severityLevel`, or… - [Retrieve an anomaly](https://developer.doit.com/reference/getanomaly.md): Returns the specified anomaly. Requires the `governance:costAnomalies` entitlement and the `AnomaliesViewer` permission. - [Update an anomaly's review status](https://developer.doit.com/reference/patchanomaly.md): Updates the review status of the anomaly identified by `{id}`, the same identifier `getAnomaly` accepts. Mirrors the review workflow available in the console: set `reviewStatus`, and when resolving,… - [Explain an anomaly](https://developer.doit.com/reference/getanomalyexplanation.md): Returns a likely-cause explanation for the specified anomaly, alongside the deterministic facts and evidence references it was generated from. The explanation itself is AI-generated; it is always… - Budgets - AI Budget Suggestions - [List budget suggestions](https://developer.doit.com/reference/listbudgetsuggestions.md): Returns the pending AI-generated budget suggestions for your account. The set is small (a handful of pending suggestions) and is returned in full. Each suggestion can be accepted (after you create a… - [Accept a budget suggestion](https://developer.doit.com/reference/acceptbudgetsuggestion.md): Marks the suggestion as accepted and links it to an existing budget. Create the budget first via `POST /analytics/v1/budgets`, then pass its `id` as `budgetId`. The budget must belong to your account. - [Dismiss a budget suggestion](https://developer.doit.com/reference/dismissbudgetsuggestion.md): Marks the suggestion as dismissed so it no longer appears in the pending list. - [List budgets](https://developer.doit.com/reference/listbudgets.md): Returns a list of budgets that your account has access to. Budgets are listed in reverse chronological order by default. Each budget includes a server-computed `riskStatus` (`atRisk`, `onTrack`, or… - [Create a budget](https://developer.doit.com/reference/createbudget.md): Create a new budget - [Retrieve a budget](https://developer.doit.com/reference/getbudget.md): Returns the current utilization and configuration of the specified budget. - [Delete a budget](https://developer.doit.com/reference/deletebudget.md): Deletes the specified budget. - [Update a budget](https://developer.doit.com/reference/updatebudget.md): Updates the specified budget. - Cloud Incidents - [List cloud incidents](https://developer.doit.com/reference/listknownissues.md): Returns a list of all the active and historical cloud incidents for Google Cloud and Amazon Web Services. Incidents are returned in reverse chronological order by default. - [Retrieve a cloud incident](https://developer.doit.com/reference/getknownissue.md): Returns the specified cloud incident. - Cloud analytics - Allocations - [List allocations](https://developer.doit.com/reference/listallocations.md): Returns a list of allocations that your account has access to. Allocations are listed in reverse chronological order by default. - [Create an allocation](https://developer.doit.com/reference/createallocation.md): Creates a new allocation. - [Retrieve an allocation](https://developer.doit.com/reference/getallocation.md): Returns an allocation by the specified Id. - [Delete an allocation](https://developer.doit.com/reference/deleteallocation.md): Deletes the allocation specified by the Id. - [Update an allocation](https://developer.doit.com/reference/updateallocation.md): Updates the allocation specified by the Id. - Annotations - [List annotations](https://developer.doit.com/reference/listannotations.md): Returns a list of annotations that your account has access to. Annotations are listed in reverse chronological order by default. - [Create an annotation](https://developer.doit.com/reference/createannotation.md): Creates a new annotation. - [Retrieve an annotation](https://developer.doit.com/reference/getannotation.md): Returns an annotation by the specified Id. - [Delete an annotation](https://developer.doit.com/reference/deleteannotation.md): Deletes the annotation specified by the Id. - [Update an annotation](https://developer.doit.com/reference/updateannotation.md): Updates the annotation specified by the Id. - Dimensions - [Retrieve a dimension](https://developer.doit.com/reference/getdimensions.md): Returns a dimension by type and key. - [List dimensions](https://developer.doit.com/reference/listdimensions.md): Returns a list of the dimensions that your account has access to. - Labels - [List labels](https://developer.doit.com/reference/listlabels.md): Returns a list of labels that your account has access to. Labels are listed in reverse chronological order by default. - [Create a label](https://developer.doit.com/reference/createlabel.md): Creates a new label. - [Retrieve a label](https://developer.doit.com/reference/getlabel.md): Returns a label by the specified Id. - [Delete a label](https://developer.doit.com/reference/deletelabel.md): Deletes the label specified by the Id. - [Update a label](https://developer.doit.com/reference/updatelabel.md): Updates the label specified by the Id. - [Assign or unassign objects to a label](https://developer.doit.com/reference/assignobjectstolabel.md): Assigns or un-assigns objects to the label specified by the ID. - [Get label assignments](https://developer.doit.com/reference/getlabelassignments.md): Returns the list of objects currently assigned to the label specified by the ID. - Folders - [List folders](https://developer.doit.com/reference/listfolders.md): Returns Cloud Analytics folders the current customer has access to. Folders are returned in id-ascending order. - [Create a folder](https://developer.doit.com/reference/createfolder.md): Creates a new Cloud Analytics folder. - [Get a folder](https://developer.doit.com/reference/getfolder.md): Returns the specified Cloud Analytics folder. - [Update a folder](https://developer.doit.com/reference/updatefolder.md): Updates the specified folder. All fields are optional. To reparent the folder, set `parentFolderId` to the target folder ID (use "root" for the top level). If a sibling at the target has the same… - [Delete a folder](https://developer.doit.com/reference/deletefolder.md): Deletes the specified folder. All nested folders will be deleted. Any reports or allocations contained in the folder are moved to the root. - [Reports](https://developer.doit.com/reference/reports.md): Learn how to use the Reports API to manage and interact with Cloud Analytics reports, including listing, creating, updating, and querying reports. - [List reports](https://developer.doit.com/reference/listreports.md): Returns a list of all Cloud Analytics reports that your account has access to. Reports are returned in reverse chronological order by default. - [Create a report](https://developer.doit.com/reference/createreport.md): Creates a new report. - [Run a query](https://developer.doit.com/reference/query.md): Runs a report query with the specified configuration without persisting it. Fields that are not populated will use their default values if needed. When `config.dataSource` is omitted, see… - [Get report results](https://developer.doit.com/reference/getreport.md): Returns the results of the specified report. - [Delete a report](https://developer.doit.com/reference/deletereport.md): Deletes the specified Cloud Analytics report. - [Update a report](https://developer.doit.com/reference/updatereport.md): Updates a report with the specified configuration. Only specified fields will be updated. - [Get report config](https://developer.doit.com/reference/getreportconfig.md): Returns the configuration of the specified Cloud Analytics report. - [Run a report asynchronously](https://developer.doit.com/reference/asyncruninline.md): Submits an async report execution job using an inline configuration. Returns 202 immediately with a Location header pointing to the operation status endpoint. Requires the Idempotency-Key header to… - [Poll an async report run operation](https://developer.doit.com/reference/getasyncoperation.md): Returns the current status of an async report operation. Non-terminal operations (pending, running) include a Retry-After header suggesting when to poll again. This endpoint does not return result… - [Run a saved report asynchronously](https://developer.doit.com/reference/asyncrunreportbyid.md): Submits an async execution job for a saved report identified by ID. Returns 202 immediately with a Location header pointing to the operation status endpoint. Requires the Idempotency-Key header. Use… - [Cancel an async report run operation](https://developer.doit.com/reference/cancelasyncoperation.md): Cancels a pending or running async report operation. Already-terminal operations (succeeded, failed, canceled) are returned as-is without any state change (idempotent). Returns 404 if the operationId… - [Get results of an async report run operation](https://developer.doit.com/reference/getasyncoperationresults.md): Returns the result of a succeeded async report operation, including report metadata (id, reportName, owner, type, createTime, updateTime, urlUI) when the operation was started against a saved report… - Settings - [List custom themes](https://developer.doit.com/reference/listcustomthemes.md): Returns the list of custom color themes defined for your account. - [Create a custom theme](https://developer.doit.com/reference/createcustomtheme.md): Creates a new custom color theme. Requires Cloud Analytics Admin permission. - [Retrieve a custom theme](https://developer.doit.com/reference/getcustomtheme.md): Returns a custom theme by the specified Id. - [Update a custom theme](https://developer.doit.com/reference/updatecustomtheme.md): Updates the custom theme specified by the Id. Requires Cloud Analytics Admin permission. - [Delete a custom theme](https://developer.doit.com/reference/deletecustomtheme.md): Deletes the custom theme specified by the Id. Requires Cloud Analytics Admin permission. - [Set the active theme](https://developer.doit.com/reference/setactivetheme.md): Sets the theme active for the authenticated user. Send the reserved sentinel `themeId: "default"` to clear the active theme and fall back to the built-in default. Returns the updated active theme. - [Get the active theme](https://developer.doit.com/reference/getactivetheme.md): Returns the theme currently active for the authenticated user. `themeId` is the reserved sentinel `"default"` when no custom or preset theme is selected and the user is on the built-in default. - Sharing - [Get resource permissions](https://developer.doit.com/reference/getresourcepermission-2.md): Returns the permissions associated with the specified Cloud Analytics resource. Supports Allocations, Alerts, Budgets, and Reports. - [Update resource permissions](https://developer.doit.com/reference/updateresourcepermission.md): Updates the permissions associated with the specified Cloud Analytics resource. Supports Allocations, Alerts, Budgets, and Reports. - Widgets (Beta) - [List widgets](https://developer.doit.com/reference/listwidgets.md): Returns the complete catalogue of preset widgets supported by the Analytics Widgets API. Each entry contains a customer-specific `id` and a stable customer-facing `alias`; either value can be passed… - [Get a widget](https://developer.doit.com/reference/getwidget.md): Returns the latest precomputed cached result for one widget. This read does not refresh or recompute the widget synchronously. Use either the customer-specific `id` returned by the list-widgets… - Data ingestion and integrations - Assets - [Retrieve an asset](https://developer.doit.com/reference/getasset.md): Returns the full details of an asset specified by the asset id. - [Create an asset](https://developer.doit.com/reference/createasset.md): Creates a new asset. - [List assets](https://developer.doit.com/reference/idofassets.md): Returns a list of all available customer assets, such as Google Cloud billing accounts, G Suite/Workspace subscriptions, etc. Assets are returned in reverse chronological order by default. - [Update an asset](https://developer.doit.com/reference/idofasset.md): Updates an existing asset, such as G Suite/Workspace or Office 365 subscription, to add or remove licenses. - DataHub - [Ingest CSV file](https://developer.doit.com/reference/datahubeventscsvfile.md): Sends a batch of events to DataHub using a CSV file, either uncompressed or compressed in ZIP or GZ format. It may take up to 15 minutes for the data to become available in the DoiT console. - [Ingest JSON](https://developer.doit.com/reference/datahubevents.md): Sends a batch of events to DataHub. - [Delete specific events](https://developer.doit.com/reference/deletedatahubeventsbyfilter.md): Deletes specific events using filters. Note that the two filters, `eventIds` and `time ranges`, are mutually exclusive. - [List datasets](https://developer.doit.com/reference/listdatahubdatasets.md): Returns a list of all DataHub datasets for the customer. - [Create dataset](https://developer.doit.com/reference/createdatahubdataset.md): Creates a new DataHub dataset. A dataset is a logical grouping of events that share the same provider name. Creating a dataset allows you to define metadata such as name and description before… - [Delete datasets](https://developer.doit.com/reference/deletedatahubdatasets.md): Deletes one or more DataHub datasets and all their associated data. - [Retrieve a dataset](https://developer.doit.com/reference/getdatahubdataset.md): Returns a specific DataHub dataset by name. - [Delete a dataset](https://developer.doit.com/reference/deletedatahubdataset.md): Deletes a specific DataHub dataset. - [Update dataset](https://developer.doit.com/reference/updatedatahubdataset.md): Updates an existing DataHub dataset's metadata. The `description`, `displayName` and `logoName` fields can be updated. Only the fields present in the request body are changed; an omitted field keeps… - [Export dataset records](https://developer.doit.com/reference/exportdatahubdatasetrecords.md): Returns one page of the live records of a DataHub dataset, as CSV (default) or as newline-delimited JSON in the same shape as the `/datahub/v1/events` payload. A time window is required: `startTime`… - [Import provider-native records](https://developer.doit.com/reference/datahubimportproviderrecords.md): Sends provider-native records as JSON instead of a CSV file. The records use the same columns as the template's CSV (currently `anthropic-spend-report@1` only) and are validated, normalized and… - Billing - Invoices - [List invoices](https://developer.doit.com/reference/listinvoices.md): Returns a list of all the current and historical invoices for your organization. Invoices are returned in reverse chronological order by default. Cancelled invoices and credit memos are excluded… - [Retrieve an invoice](https://developer.doit.com/reference/getinvoice.md): Returns the full details of an invoice specified by the invoice number. A cancelled invoice or credit memo is returned with status `CANCELED`. - [Download an invoice PDF](https://developer.doit.com/reference/getinvoicepdf.md): Returns the PDF document for the invoice specified by the invoice number, including a cancelled invoice or credit memo. The response body is the PDF bytes. The PDF is returned decompressed by… - Billing Explainer - [Retrieve a per-payer billing explainer](https://developer.doit.com/reference/getbillingexplainerperpayer.md): Returns the invoiced cost changes for each payer in the authenticated tenant. - [Retrieve an entity invoice explainer](https://developer.doit.com/reference/getentityinvoiceexplainer.md): Returns invoiced cost changes for an invoice owned by the specified billing profile in the authenticated tenant. - Automation and operations - Cloud Diagrams - [Get diagram cost snapshot](https://developer.doit.com/reference/getclouddiagramcostsnapshot.md): Returns a bounded cost snapshot for the specified diagram layer over a date window. The response composes the diagram's total spend, period-over-period change, top resources by cost (capped at 5),… - [Get resource relationships](https://developer.doit.com/reference/getclouddiagramresourcerelationships.md): Walks the diagram graph from the anchor resource and returns related resources. Edge traversal walks the diagram's link set (same-scheme guard, BFS, cycle-safe); group traversal walks the group… - [Find diagrams](https://developer.doit.com/reference/findclouddiagrams.md): Returns diagram URLs matching the provided resource IDs. - [Get diagrams with stats](https://developer.doit.com/reference/getclouddiagramsstats.md): Returns a list of all diagrams with activity stats for the given time period. - [Get diagram components](https://developer.doit.com/reference/getclouddiagramcomponents.md): Returns diagram and layer data. When the request body is empty, returns all diagrams the caller has access to. When the body is populated, returns full diagram data including layer components… - [Search diagrams and components](https://developer.doit.com/reference/searchclouddiagrams.md): Full-text search across diagram layers, components by name, and components by property values. Returns three result categories: diagram (matching layers), component (matching components by name), and… - [Get layer components](https://developer.doit.com/reference/getstatussheetcomponents.md): Returns the specified components of a diagram layer. Provide at least one component type with one or more IDs in the request body (for example, `node` or `element`). - [Export diagram as JSON](https://developer.doit.com/reference/exportclouddiagramjson.md): Exports the full content of a diagram layer as a structured JSON document, including all components and export metadata. - [List layer snapshots](https://developer.doit.com/reference/listclouddiagramlayersnapshots.md): Returns the list of saved snapshots for the specified diagram layer. - [Get a layer snapshot](https://developer.doit.com/reference/getclouddiagramlayersnapshot.md): Returns a single snapshot of the specified diagram layer identified by its ID. - [List activity groups for a layer](https://developer.doit.com/reference/listclouddiagramactivitygroups.md): Returns snapshot activity groups for the specified diagram layer, ordered by timestamp descending. Each group contains a snapshot reference and the individual activity records that belong to it. - [List node activities](https://developer.doit.com/reference/listclouddiagramnodeactivities.md): Returns individual activity records for the specified component node, ordered by timestamp descending. - CloudFlow - [List CloudFlows](https://developer.doit.com/reference/listcloudflows.md): Returns a cursor-paginated list of CloudFlows. - [Trigger a webhook flow](https://developer.doit.com/reference/triggercloudflowwebhook.md): Triggers execution of a published CloudFlow whose first node is a webhook trigger. The request body must be valid JSON and is passed to the flow as webhook payload data. - Connections - [List connections](https://developer.doit.com/reference/listcloudflowconnections.md): Returns a cursor-paginated list of cloud provider connections for the authenticated tenant. - [Create a connection](https://developer.doit.com/reference/createcloudflowconnection.md): Creates a new cloud provider connection. Exactly one of `gcpConfig` or `awsConfig` must be supplied. Returns `400 invalid_connection_config` when both or neither are present. When `collaborators`… - [Retrieve a connection](https://developer.doit.com/reference/getcloudflowconnection.md): Returns a single connection by ID. - [Update a connection](https://developer.doit.com/reference/updatecloudflowconnection.md): Partially updates a connection. All fields are optional. At most one of `gcpConfig` or `awsConfig` may be set per request. - [Delete a connection](https://developer.doit.com/reference/deletecloudflowconnection.md): Deletes a connection. Returns 409 if the connection is referenced by one or more flows. - Templates - [List templates](https://developer.doit.com/reference/listcloudflowtemplates.md): Returns the catalogue of available CloudFlow templates (blueprints). Templates are read-only. To create a flow from a template, use `POST /flows` with a `templateId`. - [Retrieve a template](https://developer.doit.com/reference/getcloudflowtemplate.md): Returns a single CloudFlow template by ID. - [Refine a CloudFlow from natural language intent](https://developer.doit.com/reference/refinecloudflow.md): Refines the specified CloudFlow by generating and updating nodes and connections based on the provided natural language intent. The operation streams incremental build events as they are produced. - [Build a new CloudFlow from scratch](https://developer.doit.com/reference/buildcloudflow.md): Creates a new CloudFlow and generates its nodes and connections based on the provided natural language intent. The operation streams incremental build events, including the ID of the newly created… - [Export a flow as a portable bundle](https://developer.doit.com/reference/exportcloudflowflow.md): Serializes the flow — plus every flow it references through subflow nodes — into a tenant-neutral, credential-free JSON bundle that can be imported into any tenant with the import operation.… - [Import a flow bundle](https://developer.doit.com/reference/importcloudflowflow.md): Creates every flow of a previously exported bundle in the authenticated tenant. Imports are create-only: each call creates new draft flows with new IDs — nothing is published and no schedule is… - [Test-run a flow](https://developer.doit.com/reference/testruncloudflowflow.md): Runs a flow once as a test, and **accepts an unpublished (draft) flow** — unlike `actions/trigger`, which requires the flow to be published. Use this to verify a newly authored or edited flow before… - [List a flow's runs](https://developer.doit.com/reference/listcloudflowflowruns.md): Returns a flow's runs, newest first. Use `mode` to separate test runs from production ones — test runs are included by default. Per-node detail is not included here; fetch a single run to read what… - [Read a flow run, node by node](https://developer.doit.com/reference/getcloudflowflowrun.md): Returns a run's status and, for each node, the JSON it consumed and produced. This is how you find out *why* a run failed, or that it "succeeded" while producing the wrong data. **`input` is null… - [Trigger a flow run](https://developer.doit.com/reference/triggercloudflowflow.md): Starts a run of a **published** flow whose first node is a webhook, scheduled, or manual trigger. A draft flow is rejected with `422` — use `actions/test-run` to run one. No `Idempotency-Key` is… - [Stop a flow run](https://developer.doit.com/reference/stopcloudflowflow.md): Stops the run currently in progress for the given flow. The run is identified from the flow alone — no run ID is needed, since a flow can only have one run active at a time. No `Idempotency-Key` is… - Customers - [Get customer](https://developer.doit.com/reference/getcustomer.md): Returns the customer, including its general settings and contact info, scoped to `{customerId}`. `{customerId}` must match the customer resolved from the bearer token; a token scoped to a different… - [Update customer](https://developer.doit.com/reference/updatecustomer.md): Partially updates the general settings and contact info of the customer identified by `{customerId}`. `{customerId}` must match the customer resolved from the bearer token; a token scoped to a… - Identity and access management - Roles - [List roles](https://developer.doit.com/reference/listroles.md): Returns a list of roles. - [Create role](https://developer.doit.com/reference/createrole.md): Creates a custom role in the authenticated customer with the given permission IDs. Permission IDs are the `permissions` values returned by `GET /iam/v1/roles`. A service account of a parent tenant… - [Get role](https://developer.doit.com/reference/getrole.md): Returns a single role by ID. Preset roles are visible to every customer; a custom role is returned only to the customer that owns it. A service account of a parent tenant can read a descendant… - [Update role](https://developer.doit.com/reference/updaterole.md): Updates the `name`, `description` and/or `permissions` of a custom role. Only the fields present in the body change; `permissions` replaces the full list when present. Preset roles cannot be… - [Delete role](https://developer.doit.com/reference/deleterole.md): Deletes a custom role. Preset roles cannot be deleted, and a role still assigned to users or groups must be unassigned first. A service account of a parent tenant can delete a descendant tenant's… - Organizations - [List organizations](https://developer.doit.com/reference/listorganizations.md): Returns a list of organizations. - Users - [List users](https://developer.doit.com/reference/listusers.md): Returns a list of users in the organization, including both active users and invited users. When the `email` query parameter is provided, returns only the user matching that email address. If no user… - [Delete user](https://developer.doit.com/reference/deleteuser.md): Deletes a user. - [Update user](https://developer.doit.com/reference/updateuser.md): Updates user information, including name, job function, phone, language, and role. - [Invite user](https://developer.doit.com/reference/inviteuser.md): Invites a new user to the organization with specified role and organization. - [Resend invite](https://developer.doit.com/reference/resendinvite.md): Resets the invite expiry to 48 hours from now, invalidates the previous invite token (so old email links stop working), and triggers a fresh invitation email. Works on invites in any state including… - [Cancel invite](https://developer.doit.com/reference/cancelinvite.md): Marks the invite as `Cancelled` and invalidates the invite token so any outstanding email links stop working. The invite document is retained (soft cancel) — the user row remains visible in `GET… - Notifications - [List personal notifications for a user](https://developer.doit.com/reference/listusernotifications.md): Returns every personal notification config for the user as an unpaginated `{ "items": [...] }` array. One user has a handful of configs; there is no pagination. Items are ordered by `createTime`… - [Create a personal notification for a user](https://developer.doit.com/reference/createusernotification.md): Creates a personal cost-anomaly notification config for the user. The request body has no email address; the server copies the target user's email onto the config as the sole destination. Requires… - [Get a personal notification](https://developer.doit.com/reference/getusernotification.md): Returns one personal notification config. Requires `usersManager` permission. A notification id that does not belong to this user in the resolved tenant returns `404`, without saying whether it… - [Update a personal notification](https://developer.doit.com/reference/updateusernotification.md): Partially updates a personal notification with an `application/merge-patch+json` body (RFC 7396). Omitted fields stay unchanged; nested objects are deep-merged; nested arrays (for example… - [Delete a personal notification](https://developer.doit.com/reference/deleteusernotification.md): Permanently deletes a personal notification config. Requires `usersManager` permission, the `If-Match` header, and the `Idempotency-Key` header. With `dryRun=true` the request goes through the same… - [List organization cost anomaly notifications](https://developer.doit.com/reference/listcustomernotifications.md): Returns every organization-wide cost-anomaly notification config for the tenant as an unpaginated `{ "items": [...] }` array. Items are ordered by `createTime` ascending, then by `id` ascending.… - [Create an organization cost anomaly notification](https://developer.doit.com/reference/createcustomernotification.md): Creates an organization-wide cost-anomaly notification config. Destinations are `emails`, `slackChannels`, and `teamsChannels` arrays. The response returns those three arrays. Requires the `settings`… - [Get an organization cost anomaly notification](https://developer.doit.com/reference/getcustomernotification.md): Returns one organization-wide cost-anomaly notification config. Requires the `settings` (Manage settings) permission. The API does not offer the Console's read-only Organization list; a caller… - [Update an organization cost anomaly notification](https://developer.doit.com/reference/updatecustomernotification.md): Partially updates an organization notification with an `application/merge-patch+json` body (RFC 7396). Omitted fields stay unchanged; nested objects are deep-merged; nested arrays (for example… - [Delete an organization cost anomaly notification](https://developer.doit.com/reference/deletecustomernotification.md): Permanently deletes an organization-wide cost-anomaly notification config. Requires the `settings` (Manage settings) permission and the `If-Match` header. The `Idempotency-Key` header is required.… - Subscriptions - [List subscriptions](https://developer.doit.com/reference/listcustomersubscriptions.md): Lists dashboard, report, commitment, alert, and budget subscriptions visible to the caller. Items are ordered by `id` ascending. Nested `subscriptions` are ordered by `type` ascending. `maxResults`… - [Create a subscription](https://developer.doit.com/reference/createcustomersubscription.md): Creates one dashboard, report, or commitment subscription with one, two, or three scheduled subscriptions: `dashboard-subscription`, `report-subscription`, and `commitment-manager`. Create does not… - [Retrieve a subscription](https://developer.doit.com/reference/getcustomersubscription.md): Returns one dashboard, report, commitment, alert, or budget subscription. The body is the same object as a list item. `schedule` is omitted on an alert or a budget. Create does not accept `alert` or… - [Update a subscription](https://developer.doit.com/reference/updatecustomersubscription.md): Partially updates one dashboard, report, commitment, alert, or budget subscription with an `application/merge-patch+json` body (RFC 7396). The writable fields are `recipients.emails`,… - [Delete a subscription](https://developer.doit.com/reference/deletecustomersubscription.md): Deletes a dashboard, report, or commitment subscription and every scheduled entry on it. Returns `204`. Deleting an id that is already gone also returns `204`, so a retry does not fail. `If-Match` is… - Service Accounts - [List service accounts](https://developer.doit.com/reference/listserviceaccounts.md): Returns every service account owned by the authenticated customer in a single unpaginated `items` array, in no guaranteed order. Requires the `serviceAccountViewer` permission. - [Create a service account](https://developer.doit.com/reference/createserviceaccount.md): Creates a service account owned by the authenticated customer. It cannot authenticate anything until it has an API token; mint one with the `api-tokens` sub-resource. Returns `409` when another… - [Get a service account](https://developer.doit.com/reference/getserviceaccount.md): Returns a service account owned by the authenticated customer; an ID that belongs to another customer returns `404`. The `ETag` response header carries the value to send in `If-Match` on update and… - [Update a service account](https://developer.doit.com/reference/updateserviceaccount.md): Partially updates a service account with an `application/merge-patch+json` body (RFC 7396). Omitted or `null` fields stay unchanged; an explicit empty string clears `description`. `permissions`… - [Delete a service account](https://developer.doit.com/reference/deleteserviceaccount.md): Permanently deletes a service account and all of its API tokens, which stop authenticating immediately. Deleting an ID that no longer exists returns `404`. Requires the `serviceAccountManager`… - [List API tokens for a service account](https://developer.doit.com/reference/listserviceaccounttokens.md): Returns the service account's non-deleted API tokens in a single unpaginated `items` array, at most 10. Secret material is never returned here — `accessToken` is shown only once, by the create… - [Create an API token for a service account](https://developer.doit.com/reference/createserviceaccounttoken.md): Mints an API token for the service account and returns its `accessToken` once. The token inherits the service account's permissions as they stand at creation; there is no per-token scoping. Returns… - [Get an API token](https://developer.doit.com/reference/getserviceaccounttoken.md): Returns one API token of the service account; an ID that belongs to another customer returns `404`. `accessToken` is not included — it is shown only once, by the create operation. Requires the… - [Enable or disable an API token](https://developer.doit.com/reference/updateserviceaccounttoken.md): Moves the token between `active` and `disabled` by setting `state`. Disabling takes effect immediately: the token stops authenticating until it is re-enabled. Setting the state a token already has… - [Delete an API token](https://developer.doit.com/reference/deleteserviceaccounttoken.md): Permanently deletes an API token, which stops authenticating immediately. This cannot be undone. Deleting an ID that no longer exists returns `404`. Requires the `serviceAccountManager` permission. - Geographic Access - [List countries available for geographic access](https://developer.doit.com/reference/listgeographicaccesscountries.md): Returns the canonical ISO 3166-1 alpha-2 country catalogue used by geographic access policies. - [List custom regions](https://developer.doit.com/reference/listgeographicaccesscustomregions.md): Returns the ready custom regions owned by the authenticated tenant. Requires the UsersManager permission. - [Create a custom region](https://developer.doit.com/reference/creategeographicaccesscustomregion.md): Creates a custom region owned by the authenticated tenant. The tenant must be a customer-hierarchy root. Requires the UsersManager permission. - [Get a custom region](https://developer.doit.com/reference/getgeographicaccesscustomregion.md): Returns a custom region owned by the authenticated tenant. Requires the UsersManager permission. - [Update a custom region](https://developer.doit.com/reference/updategeographicaccesscustomregion.md): Updates the name, country membership, or both for a custom region owned by the authenticated tenant. Requires the UsersManager permission. - [Delete a custom region](https://developer.doit.com/reference/deletegeographicaccesscustomregion.md): Deletes a custom region owned by the authenticated tenant. Assigned regions cannot be deleted. Requires the UsersManager permission. - [Get a customer's geographic scope](https://developer.doit.com/reference/getcustomergeographicaccessscope.md): Returns the geographic scope for a target customer. The authenticated tenant must be the hierarchy root, and the target must be that root customer or one of its child customers. Targets outside that… - [Replace a customer's geographic scope](https://developer.doit.com/reference/updatecustomergeographicaccessscope.md): Atomically replaces the geographic scope for a target customer. The authenticated tenant must be the hierarchy root, and the target must be that root customer or one of its child customers. Repeating… - [Clear a customer's geographic scope](https://developer.doit.com/reference/deletecustomergeographicaccessscope.md): Clears the geographic scope for a target customer, leaving it unassigned. The authenticated tenant must be the hierarchy root, and the target must be that root customer or one of its child customers.… - [Get a user's geographic scope](https://developer.doit.com/reference/getusergeographicaccessscope.md): Returns the geographic scope assigned to a user who belongs to the target customer. The authenticated tenant must be the hierarchy root, and the target must be that root customer or one of its child… - [Replace a user's geographic scope](https://developer.doit.com/reference/updateusergeographicaccessscope.md): Atomically replaces the geographic scope assigned to a user who belongs to the target customer. The authenticated tenant must be the hierarchy root, and the target must be that root customer or one… - [Clear a user's geographic scope](https://developer.doit.com/reference/deleteusergeographicaccessscope.md): Clears the geographic scope assigned to a user who belongs to the target customer, leaving it unassigned. The authenticated tenant must be the hierarchy root, and the target must be that root… - Customer Groups - [List customer groups](https://developer.doit.com/reference/listcustomergroups.md): Returns the ready customer groups owned by the authenticated tenant. Requires the UsersManager permission. - [Create a customer group](https://developer.doit.com/reference/createcustomergroup.md): Creates a customer group owned by the authenticated tenant. Requires the UsersManager permission. - [Get a customer group](https://developer.doit.com/reference/getcustomergroup.md): Returns a customer group owned by the authenticated tenant. Requires the UsersManager permission. - [Update a customer group](https://developer.doit.com/reference/updatecustomergroup.md): Updates the name, customer membership, or both for a customer group owned by the authenticated tenant. Requires the UsersManager permission. - [Delete a customer group](https://developer.doit.com/reference/deletecustomergroup.md): Deletes a customer group owned by the authenticated tenant. Groups with assigned users or user groups cannot be deleted. Requires the UsersManager permission. - [Assign a user to a customer group](https://developer.doit.com/reference/assigncustomergroupuser.md): Assigns a user to a customer group owned by the authenticated tenant. Requires the UsersManager permission. - [Unassign a user from a customer group](https://developer.doit.com/reference/unassigncustomergroupuser.md): Unassigns a user from a customer group owned by the authenticated tenant. Requires the UsersManager permission. - [List users assigned to a customer group](https://developer.doit.com/reference/listcustomergroupusers.md): Returns the users assigned to a customer group owned by the authenticated tenant, sorted by user ID. Requires the UsersManager permission. - [List user groups assigned to a customer group](https://developer.doit.com/reference/listcustomergroupusergroups.md): Returns the user groups assigned to a customer group owned by the authenticated tenant, sorted by user-group ID. Requires the UsersManager permission. - [Assign a user group to a customer group](https://developer.doit.com/reference/assigncustomergroupusergroup.md): Assigns a user group owned by the authenticated tenant to a customer group owned by that tenant. Membership changes in the user group apply without reassigning it. Requires the UsersManager… - [Unassign a user group from a customer group](https://developer.doit.com/reference/unassigncustomergroupusergroup.md): Unassigns a user group from a customer group owned by the authenticated tenant. Requires the UsersManager permission. - Optimization - Commitment Manager - [List commitments](https://developer.doit.com/reference/listcommitments.md): Returns a list of commitments for the customer. Commitments are listed in reverse chronological order by default. - [Retrieve a commitment](https://developer.doit.com/reference/getcommitment.md): Returns a commitment by the specified Id. - Insights - [List insights](https://developer.doit.com/reference/getinsightresults.md): Returns a paginated list of insights with their aggregate summaries (savings, risk counts). Use query parameters to filter by status, category, provider, or priority. Does not include individual… - [Create insights (batch)](https://developer.doit.com/reference/postinsightresults.md): Creates or updates multiple insights in a single batch request. Each insight in the batch includes its metadata and resource results inline. For granular control over insight metadata and resource… - [Delete insights (batch)](https://developer.doit.com/reference/deleteinsightresults.md): Deletes all insights matching the specified key from the batch source. This removes the insight and all its associated resource results. For single-insight deletion, use `DELETE… - [Update Insight Status](https://developer.doit.com/reference/updateinsightstatus.md): Updates the display status (e.g. actionable, acknowledged, dismissed) of a single insight. Only insights created via the public API can have their status changed. Deprecated: use the status field on… - [List resource results for an insight](https://developer.doit.com/reference/getinsightresourceresults.md): Returns a paginated list of individual resource-level results for a specific insight. Each resource result represents a single cloud resource (e.g. an EC2 instance, a GCS bucket) affected by the… - [Retrieve an insight](https://developer.doit.com/reference/getinsightresult.md): Returns the metadata and aggregate summary for a single insight identified by source and key. Does not include individual resource-level results — use the resource-results endpoint for those. - [Create or update an insight](https://developer.doit.com/reference/postinsightresult.md): Creates or updates a single insight for the given source and key. If an insight with the same key already exists for the source, it will be updated. Resource results are managed separately via the… - [Delete an insight](https://developer.doit.com/reference/deleteinsightresult.md): Permanently deletes a single insight and all its associated resource results. Only insights created via the public API can be deleted. - [Replace resource results for an insight](https://developer.doit.com/reference/postinsightresourceresults.md): Replaces all resource results for the specified insight. Any existing unresolved resource results not present in the new set will be removed. The response includes server-computed fields (severity,… - Composer Insights (Beta) - [List Composer recipes](https://developer.doit.com/reference/listcomposerrecipes.md): Returns the Composer recipes that have results in your recently scanned cloud accounts, with counts of those results by status and their estimated savings. Recipes with no such results are not… - [List Composer recipe results](https://developer.doit.com/reference/listcomposerreciperesults.md): Returns the results of one Composer recipe: one finding per affected resource, with the resource's account, region, tags and cost metrics. An unknown recipe, one your customer isn't entitled to, and… - AI assistant - Ava - [Ask Ava (streaming)](https://developer.doit.com/reference/askavastreaming.md): Send a question to Ava and receive a streaming response via Server-Sent Events (SSE). The response streams back events containing the answer text, conversation ID, and message metadata. - [Ask Ava](https://developer.doit.com/reference/askavasync.md): Send a question to Ava and receive a synchronous response. Set `ephemeral` to `true` to skip conversation persistence (recommended for programmatic consumers). When `ephemeral` is `false` (default),… - [Submit feedback](https://developer.doit.com/reference/avafeedback.md): Submit feedback on an Ava answer to help improve response quality. - [Delete a conversation](https://developer.doit.com/reference/deleteavaconversation.md): Deletes an Ava conversation by its ID. - Integration - Cloud Connect - [Get supported features for a connected account](https://developer.doit.com/reference/getcloudconnectsupportedfeatures.md): Returns the list of supported features and their permission status for a cloud account connected via CloudConnect. The account must belong to the authenticated customer. Supports AWS and Azure… - [Create or update an AWS account role](https://developer.doit.com/reference/createaccountrole.md): Creates or updates a CloudConnect document for an AWS account. Unlike the CloudFormation variant, this endpoint does not update Firestore channel documents or require a CloudFormation stack ID. - [Get an AWS account](https://developer.doit.com/reference/getawsaccount.md): Returns the current state of an AWS account including role, supported features, and optional S3 bucket configuration. - [Delete an AWS account role](https://developer.doit.com/reference/deleteaccountrole.md): Deletes a CloudConnect document for an AWS account. - [Update an AWS feature](https://developer.doit.com/reference/updateawsfeature.md): Updates an AWS feature for an existing CloudConnect account. Unlike the CloudFormation variant, this endpoint does not update Firestore channel documents, require a CloudFormation stack ID, or handle… - Service Quotas - [List service quotas](https://developer.doit.com/reference/listservicequotas.md): Returns the latest service quota usage snapshots collected by DoiT for the authenticated customer. Results include only quotas retained by DoiT's monitoring collectors and are not a complete or live… - Signup - [Create a signup request](https://developer.doit.com/reference/createsignuprequest.md): Starts a Cloud Intelligence trial signup for the organization owning the email domain. Idempotent per Idempotency-Key: a retried create returns the same request. Nothing is provisioned until the… - [Get a signup request](https://developer.doit.com/reference/getsignuprequest.md): Returns the current state of a signup request. Poll at the returned pollAfterSeconds cadence; once status is completed the response carries customerId, consoleUrl and signInUrl. The response never… - [Verify a signup request with the emailed code](https://developer.doit.com/reference/verifysignuprequest.md): Confirms ownership of the admin email by entering the 6-digit code that was emailed when the request was created (or resent). Success records consent and starts provisioning; the request moves to… - [Resend the verification code](https://developer.doit.com/reference/resendsignupverification.md): Emails a fresh 6-digit code to the requester. At most three codes per request, at least 60 seconds apart. - [Sign the verified prospect in](https://developer.doit.com/reference/createsignupsession.md): Exchanges the one-time activationToken returned by verifySignupRequest for a Firebase custom token once the request is completed, so the browser that entered the code lands in the new tenant without… - Attribute Workloads (Beta) - [List Kubernetes workload costs by dimension](https://developer.doit.com/reference/queryattributeworkloadstable.md): Returns one page of rows of Kubernetes workload cost, grouped by `dimension`, for a date range. Each row has its cost, its change against the previous period of the same length, and the related… - [Get Kubernetes workload cost totals](https://developer.doit.com/reference/queryattributeworkloadsstats.md): Returns aggregated totals for a date range: the total cost, the number of workloads, the number of distinct `dimension` values (the row count of `queryAttributeWorkloadsTable` for the same request),… - [Get Kubernetes workload cost over time](https://developer.doit.com/reference/queryattributeworkloadsovertime.md): Returns a cost time series grouped by `dimension`: the top `limit` values by cost, each as its own series, plus one "Others" series that sums the rest. Use this for trends and charts ("daily cost of… - [Get one workload's identity](https://developer.doit.com/reference/getattributeworkloaddetails.md): Decodes a `workloadId` into the workload's name, type, namespace, cluster and account. It reads no cost data and takes no date range. Use it to show which workload a `workloadId` names. Get a… - [List one workload's cloud resources](https://developer.doit.com/reference/queryattributeworkloadresourcestable.md): Returns one page of the cloud resources one workload used in a date range, one row per resource, with the workload's cost on it, the change against the previous period, and `accountability`: the… - [Get one workload's cost totals](https://developer.doit.com/reference/queryattributeworkloadresourcesstats.md): Returns aggregated totals for one workload in a date range: its total cost, the number of cloud resources it used (`dimensionRowCount`, the row count of `queryAttributeWorkloadResourcesTable`), and… - [Get one workload's resource cost over time](https://developer.doit.com/reference/queryattributeworkloadresourcesovertime.md): Returns a cost time series of one workload, split by cloud resource: the top `limit` resources by cost, each as its own series, plus one "Others" series that sums the rest. Use this for the trend of… - [List one workload's non-network resource types](https://developer.doit.com/reference/listattributeworkloadnonnetworkresourcetypes.md): Returns the names of the resource types (billed services) that one workload used in a date range and that are not network cost, highest cost first, at most 50. It returns no cost amounts, for any… - [List the cloud providers that billed workload resources](https://developer.doit.com/reference/listattributeworkloadscloudproviders.md): Returns the distinct cloud providers that billed the resources matched by the filters in a date range (`resourceCloudProvider`, the cloud of the billed resource, not of the cluster). Send… - [Get workloads that need attention](https://developer.doit.com/reference/getattributeworkloadssignals.md): Returns three lists of workloads that need attention, grouped by workload name and type. Each list has every workload that meets its rules, ranked: - `spike`: cost grew a lot against the week… - [Check whether workload cost data exists](https://developer.doit.com/reference/getattributeworkloadscostdatastatus.md): Returns `hasWorkloadData`: whether the customer has any Kubernetes workload cost data yet. Call it first when other operations return empty results, to tell "no data in this date range or filter"… - [List the values of a workload filter field](https://developer.doit.com/reference/listattributeworkloadsfiltervalues.md): Returns the distinct values of one filter field in a date range, sorted case-insensitively, one page at a time. Use it to find the exact values to put in `filterConditions` (for example the real… - [List resource tag keys](https://developer.doit.com/reference/listattributeworkloadsresourcetagkeys.md): Returns the distinct tag (label) keys found on cloud resources in a date range, sorted case-insensitively, one page at a time. Use `listAttributeWorkloadsResourceTagValues` to get the values of one… - [List the values of one resource tag key](https://developer.doit.com/reference/listattributeworkloadsresourcetagvalues.md): Returns the distinct values of one resource tag (label) key in a date range, sorted case-insensitively, one page at a time. Get the keys from `listAttributeWorkloadsResourceTagKeys`. The list covers… - Attribute (Beta) - [List attribution sets](https://developer.doit.com/reference/listattributeattributionsets.md): Returns the customer's attributions (Attribution Center sets), sorted by name, one page at a time. Each set has its latest rule version in `rule`; `rule.state` is `etl-ready` for a published… - [Count attributions](https://developer.doit.com/reference/countattributeattributionsets.md): Returns how many attributions (Attribution Center sets) the customer has. Drafts count; deleted attributions do not. Authenticate with `Authorization: Bearer `. Omit `X-Tenant-Id` when the… - [Get one attribution](https://developer.doit.com/reference/getattributeattributionset.md): Returns one attribution (Attribution Center set) with its latest rule version. Get `attributionSetId` from `listAttributeAttributionSets`. An unknown or deleted set returns 404 `not_found`.… - [List the rule versions of one attribution](https://developer.doit.com/reference/listattributeattributionsetversions.md): Returns the saved rule versions of one attribution, newest first, one page at a time. Drafts are included; discarded versions are not. Use it to see how an attribution's rules changed over time.… ## API Reference: partnerops - Billing Transfer - [Create reseller handshakes (batch)](https://developer.doit.com/reference/createbillingtransferresellerhandshakes.md): 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… - [List program management accounts](https://developer.doit.com/reference/listbillingtransferprogrammanagementaccounts.md): Lists the caller's program management accounts (PMAs) and the reseller tenants mapped to each one, including AWS Organizations handshake status per account. Distributor-only. - [Create end-customer mappings (batch)](https://developer.doit.com/reference/createbillingtransferendcustomermappings.md): 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… - [Get program management account status](https://developer.doit.com/reference/getbillingtransferprogrammanagementaccountsstatus.md): Lightweight polling surface for the onboarding wizard: returns each of the caller's PMAs with only its IAM status/diff and timestamps — no tenant fan-out, no handshake aggregation, no pagination.… - [List end-customers under a reseller PMA](https://developer.doit.com/reference/listbillingtransferendcustomers.md): Lists the end-customer AWS account mappings under a reseller's program management account, identified by `dpmaId` and `resellerPmaAccountId`. Callable by the reseller who owns the PMA or the… - [List end-customers under a reseller PMA, by reseller PMA alone](https://developer.doit.com/reference/listbillingtransferendcustomersbyreseller.md): Same result as `GET /billingtransfer/v1/end-customers`, identified by `resellerPmaAccountId` alone (no `dpmaId` needed). Callable by the reseller who owns the PMA or the distributor who owns its DPMA. - [List the caller's reseller PMA nodes](https://developer.doit.com/reference/listbillingtransferreselleraccounts.md): Lists every reseller program management account (RPMA) node belonging to the calling reseller, with handshake state and status but without end-customer tenants — the reseller-tier analog of `GET… - [List the caller's reseller PMA nodes with their end-customer tenants](https://developer.doit.com/reference/listbillingtransferreselleraccountswithtenants.md): Lists every reseller PMA node belonging to the calling reseller, each with the end-customer tenants connected under it — the reseller-tier analog of `GET… - Contracts - [List contracts](https://developer.doit.com/reference/listcontracts.md): Lists the contracts held by the specified customer. Callable by a T1/T2 PartnerOps principal for its own tenant or any descendant tenant. Read access requires contractsReadOnly or contractsViewer,… - [Create contract](https://developer.doit.com/reference/createcontract.md): Creates a draft contract for the specified customer. Requires the caller to be the direct parent (T1 for a T2-level contract, T2 for a T3-level contract). Write access requires contractsViewer… - [Retrieve a contract](https://developer.doit.com/reference/getcontract.md): Returns the specified contract. - [Update contract](https://developer.doit.com/reference/updatecontract.md): Creates a new version of the contract. The contract type is immutable and cannot be changed by an update. - [Activate contract](https://developer.doit.com/reference/activatecontract.md): Transitions a draft contract to active or scheduled (when the start date is in the future). Produces the same system state as activating via the Console. - [Cancel contract](https://developer.doit.com/reference/cancelcontract.md): Cancels (deactivates) a contract. Active contracts cannot be deleted; cancel is the terminal operation. - Contract Templates - [List contract templates](https://developer.doit.com/reference/listcontracttemplates.md): Lists contract templates owned by the authenticated tenant (from the bearer token). Requires ContractTemplatesAdmin and the `channelops:contracts:templates` entitlement. - [Get contract template](https://developer.doit.com/reference/getcontracttemplate.md): Returns a single contract template owned by the authenticated tenant (from the bearer token). Requires ContractTemplatesAdmin and the `channelops:contracts:templates` entitlement. - [Create contract template](https://developer.doit.com/reference/createcontracttemplate.md): Creates a contract template for the authenticated tenant (from the bearer token). Requires ContractTemplatesAdmin and the `channelops:contracts:templates` entitlement. - [Assign contract template](https://developer.doit.com/reference/assigncontracttemplate.md): Applies a contract template owned by the authenticated tenant (from the bearer token) to child customers, creating a draft contract for each. Drafts have no billing effect until each one is completed… - [Update contract template](https://developer.doit.com/reference/updatecontracttemplate.md): Updates a contract template owned by the authenticated tenant (from the bearer token). Requires ContractTemplatesAdmin and the `channelops:contracts:templates` entitlement. - [Archive contract template](https://developer.doit.com/reference/archivecontracttemplate.md): Soft-deletes (archives) a contract template owned by the authenticated tenant (from the bearer token). Instantiated contracts are unaffected. Requires ContractTemplatesAdmin and the… - Shared Payers - [List shared-payer account mappings](https://developer.doit.com/reference/listsharedpayeraccountmappings.md): Lists the AWS accounts under the reseller's linked shared payers, together with the end customer each is currently mapped to. `{customerId}` (the reseller itself) means the account has not yet been… - [List shared-payer management accounts](https://developer.doit.com/reference/listsharedpayermanagementaccounts.md): Lists the reseller's linked shared-payer management (payer) accounts that have completed onboarding, for use in an account picker. Requires the `SharedPayersAdmin` permission and the AWS integration… - [List shared payers with mapping progress](https://developer.doit.com/reference/listsharedpayers.md): Lists every shared payer linked to the reseller, including ones still mid-onboarding, with per-payer counts of linked and mapped accounts. Requires the `SharedPayersAdmin` permission and the AWS… - [Reassign a shared-payer account](https://developer.doit.com/reference/reassignsharedpayeraccount.md): Reassigns one AWS account under a linked shared payer - a member account or the payer's own management account - to the reseller itself or to a T3 end customer within its hierarchy. Requires the… ## API Reference: PerfectScale for commitments - PerfectScale for Commitments General - [List commitment policies](https://developer.doit.com/reference/listcommitmentpolicies.md): Returns every commitment policy available to the tenant: the three built-in policies (`conservative`, `balanced`, `max_savings`) followed by the tenant's own custom policies. Commitment policies are… - [Get a commitment policy](https://developer.doit.com/reference/getcommitmentpolicy.md): Returns one commitment policy by id, with its creation and last-update times and the list of account × product-line scopes it is explicitly assigned to across AWS and GCP. `assignments` lists… - PerfectScale for Commitments GCP - [List GCP billing accounts](https://developer.doit.com/reference/listgcpbillingaccounts.md): Returns all GCP Billing Accounts accessible to the authenticated tenant. Use as the entry point to discover GCP billing account IDs, and billing-account-level onboarding status of the available… - [Get a GCP billing account](https://developer.doit.com/reference/getgcpbillingaccount.md): Returns a single GCP Billing Account with the same list-item fields as List GCP Billing Accounts, plus the Overview time series. Use this when you need a single billing account's Console Overview in… - [List GCP spend-based Committed Use Discounts](https://developer.doit.com/reference/listgcpspendcuds.md): Returns a paginated list of spend-based CUDs for the billing account. Optionally filter by CUD state (`status`); omit to return CUDs in all states. **`gcp_service` and `region` filters**:… - [List GCP resource-based Committed Use Discounts](https://developer.doit.com/reference/listgcpresourcecuds.md): Returns a paginated list of resource-based (vCPU / memory) CUDs for the billing account. Optionally filter by CUD state (`status`). Omit to return CUDs in all states. - [List GCP recommendations](https://developer.doit.com/reference/listgcprecommendations.md): Returns commitment purchase recommendations for the billing account, filtered to the term preferred in each product line's settings (`preferredCommitmentPeriod`). **`gcp_service` and `region`… - [Get a GCP recommendation](https://developer.doit.com/reference/getgcprecommendation.md): Returns the recommendation for one product line (`gcp_service`) and region scope on the GCP billing account, including analysis metrics and time-bucketed eligible spend. Use `granularity` to choose… - [List GCP planned purchases](https://developer.doit.com/reference/listgcpplannedpurchases.md): Returns the laddering projections for the billing account, grouped by PS4C product line (`service`) and region. Each service group lists one entry per available `gcp-purchases-projection` document… - [List billing account engine settings](https://developer.doit.com/reference/listgcpbillingaccountssettings.md): Returns one item per onboarded GCP Billing Account. Each item includes that billing account's recommendation and automation engine settings for each product line activated on it, per region scope:… - PerfectScale for Commitments AWS - [List AWS organizations](https://developer.doit.com/reference/listawsorganizations.md): Returns all AWS organizations (accounts) accessible to the authenticated tenant. Use as the entry point to discover AWS organization account IDs, and organization-level onboarding status of the… - [Get an AWS organization](https://developer.doit.com/reference/getawsorganization.md): Returns a single AWS organization with the same list-item fields as List AWS Organizations, plus the Overview time series. Use this when you need a single organization's Console Overview in one call… - [List member accounts under an AWS organization](https://developer.doit.com/reference/listawsmemberaccounts.md): Returns all member AWS accounts under the specified AWS organization that have active or historical commitment coverage. Includes 30-day statistics and estimated monthly potential savings… - [Get a member account](https://developer.doit.com/reference/getawsmemberaccount.md): Returns a single member AWS account with the same list-item fields as List member accounts, plus the Overview time series. Use this when you need a single members Console Overview in one call… - [List AWS Savings Plans](https://developer.doit.com/reference/listawssavingsplans.md): Returns a paginated list of Savings Plans for the specified AWS organization. Optionally filter by plan type (`type`) and state (`status`). Omit both filters to return all plans for the AWS… - [List AWS Reserved Instances](https://developer.doit.com/reference/listawsreservedinstances.md): Returns a paginated list of Reserved Instances (RIs) for the specified AWS organization. Optionally filter by state, instance type, instance family, region, and offering class. Omit filters to return… - [List account and commitment settings per AWS organization](https://developer.doit.com/reference/listawsorganizationssettings.md): Returns one item per onboarded AWS organization. Each item includes that AWS organization's commitments purchasing account (`purchaseAccountId`) and commitment settings for each commitment type… - [List AWS recommendations](https://developer.doit.com/reference/listawsrecommendations.md): Returns commitment purchase recommendations for the AWS organization, keyed by commitment type (`compute`, `database`). A commitment type is present only when it is onboarded and a recommendation is… - [Get an AWS recommendation](https://developer.doit.com/reference/getawsrecommendation.md): Returns the recommendation for one commitment type (`serviceId`) on the AWS organization, including analysis metrics and time-bucketed eligible spend. Use `granularity` to choose the eligible-spend… - [List AWS planned purchases](https://developer.doit.com/reference/listawsplannedpurchases.md): Returns planned purchases (laddering projections) for the AWS organization. One item per commitment type that has a projection available (typically `compute` and/or `database`; up to four commitment… ## API Reference: Support - Platforms - [List available platforms](https://developer.doit.com/reference/listplatforms.md): Returns a list of all the available platforms. - Products - [List available products](https://developer.doit.com/reference/listproducts.md): Returns a list of all the available products of specific platforms. - Support Requests - [List tags on a support request](https://developer.doit.com/reference/listtickettags.md): Returns the tags currently set on a support request. DoiT employee (doer) callers receive the full tag set verbatim, including internal namespaces (e.g. `tier/*`, `synapse_*`). Customer callers… - [List requests](https://developer.doit.com/reference/listtickets.md): Returns a list of all historical requests that your account has access to. Tickets are returned in reverse chronological order by default. - [Create a request](https://developer.doit.com/reference/createticket.md): Creates a new support request - [Get a request](https://developer.doit.com/reference/getticket.md): Returns the details of a single support request by its ID. - [Update a request](https://developer.doit.com/reference/updateticket.md): Partially updates a support request. Supports setting the request `status` and/or `assignee`. DoiT employees may set any of `open`, `pending`, `hold`, or `solved` and may set the `assignee`;… - [List request comments](https://developer.doit.com/reference/listticketcomments.md): Returns all permitted comments on a support request. Customers and service-account callers receive only public comments; private comment bodies and attachments are excluded. Callers authenticated… - [Add a comment](https://developer.doit.com/reference/createticketcomment.md): Adds a comment to an existing support request. For customers and service-account callers, comments are always public, even when `private` is `true`. Callers authenticated with DoiT employee… - [Add tags to a support request](https://developer.doit.com/reference/addtickettags.md): Adds one or more tags to an existing support request. The operation is surgical — only the tags listed in the request are added; existing tags on the ticket are preserved. Re-adding a tag that is… - [Remove tags from a support request](https://developer.doit.com/reference/removetickettags.md): Removes one or more tags from an existing support request. The operation is surgical — only the tags listed in the request are removed; tags not listed are preserved. Removing a tag that is not… ## API Reference: Internal - Auth - [Validate a user](https://developer.doit.com/reference/validate.md): Returns the domain, email, and effective permissions of the current API user. Callable by any authenticated token, regardless of its own permissions. - AccountTeam - [List account team](https://developer.doit.com/reference/listaccountteam.md): Returns a list of all DoiT account managers assigned to your organization. Requires the `Settings` permission.