Analytics · Beta
DoiT
API integration
Ship Analytics features without building the integration. Full DoiT API access via Proxy and 120+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with DoiT
Common scenarios for SaaS companies building DoiT integrations for their customers.
Add FinOps context to observability and APM products
Let your users correlate application telemetry with cloud spend by pushing product usage events into DoiT's DataHub and pulling analytics reports back into your dashboards. This turns latency and throughput metrics into unit economics like cost-per-request or cost-per-tenant.
Route cloud cost anomalies through your incident management workflows
Pipe DoiT anomalies, budget alerts, and cloud incidents into your ITSM or alerting product so on-call engineers can triage overspend the same way they triage downtime. Two-way sync with DoiT support tickets keeps escalations in one place.
Overlay security posture onto live cloud architecture diagrams
CSPM and cloud security tools can ingest DoiT's scheme data and resource relationships to render vulnerabilities on top of real infrastructure maps. Push findings back as DoiT insights so shared customers see cost-weighted security risk in one view.
Embed team-level cost visibility inside internal developer portals
Give engineering teams a financial footprint for the services they own by pulling DoiT budgets, reports, and label-scoped analytics into your IDP. Add a natural-language FinOps assistant powered by DoiT Ava without building your own LLM stack.
Automate chargebacks and allocations for billing and revenue platforms
Sync DoiT allocations, labels, and analytics reports into billing engines and revenue tools so shared customers can accurately attribute cloud cost to internal cost centers, products, or customers. Create and update allocations programmatically as your product's tagging model evolves.
What You Can Build
Ship these features with Truto + DoiT
Concrete product features your team can ship faster by leveraging Truto’s DoiT integration instead of building from scratch.
DataHub event streaming
Push batched product usage events or external metrics into DoiT DataHub datasets via JSON or CSV upload so customers can build unit economics on top of your data.
Cost anomaly and budget alert sync
Poll DoiT anomalies, alerts, and budgets and forward breaches into your notification, incident, or ChatOps surface with severity and affected platform metadata.
Embedded Ava FinOps assistant
Ship a natural-language cost assistant inside your product using DoiT's Ava ask endpoints, letting users query cloud spend without leaving your UI.
Two-way DoiT support ticket integration
Create tickets, attach comments, tag issues, and list ticket history so your product can act as a front door for DoiT engineering support escalations.
Architecture-aware security overlays
Fetch cloud scheme exports, resource relationships, and scoped cost snapshots to render infrastructure diagrams enriched with your own security or compliance findings.
Label-scoped cost reporting for team dashboards
Query DoiT reports, budgets, allocations, and label assignments filtered by team or service tags to power per-team cost widgets inside developer portals and internal tools.
SuperAI
DoiT AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_doi_t_analytics_alerts
List alerts in DoiT that your account can access. Returns each alert's id, name, createTime, updateTime, lastAlerted, config, and owner. Results are ordered by most recently created by default.
create_a_doi_t_analytics_alert
Create a new alert in DoiT. Returns the created alert object including its id, name, and config. Required: name, config.
get_single_doi_t_analytics_alert_by_id
Get a single analytics alert in DoiT by id. Returns: id, name, createTime, updateTime, lastAlerted, recipients, config. Required: id.
update_a_doi_t_analytics_alert_by_id
Update a DoiT alert by id. Returns the updated alert object including its id, name, and config. Required: id, config.
delete_a_doi_t_analytics_alert_by_id
Delete a DoiT alert by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_analytics_allocations
List allocations in your doit account. Returns a list of allocations including id, name, owner, type, folderId, createTime, and updateTime. Optional: filter, sortBy.
create_a_doi_t_analytics_allocation
Create a new allocation in doit. Returns the created allocation including id, name, owner, type, folderId, createTime, and updateTime. Requires a request body. Required: name, description.
get_single_doi_t_analytics_allocation_by_id
Get a single allocation by id in doit. Returns the allocation including id, name, owner, type, folderId, createTime, and updateTime. Required: id.
update_a_doi_t_analytics_allocation_by_id
Update an allocation by id in doit. Returns the updated allocation including id, name, owner, type, folderId, createTime, and updateTime. Required: id.
delete_a_doi_t_analytics_allocation_by_id
Delete an allocation by id in doit. Returns an empty 204 response on success. Required: id.
list_all_doi_t_analytics_annotations
List annotations in DoiT. Returns: pageToken, rowCount, annotations. Optional: filter, sort_by.
create_a_doi_t_analytics_annotation
Create a new annotation in DoiT. Returns the created annotation including id and content-type-specific attributes. Required: content, timestamp.
get_single_doi_t_analytics_annotation_by_id
Get a single DoiT annotation by id. Returns the annotation object including id, content, timestamp, labels, timeCreated, and timeModified. Required: id.
update_a_doi_t_analytics_annotation_by_id
Update an annotation in doit by id. Returns the updated annotation object. Required: id.
delete_a_doi_t_analytics_annotation_by_id
Delete an annotation in doit by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_analytics_labels
List labels accessible to your doit account. Returns label records with id, name, type, createTime, and updateTime. Supports filtering by name or type and sorting by id, name, type, createTime, or updateTime.
create_a_doi_t_analytics_label
Create a new label in doit. Returns the created label object including its id. Required: name, color.
get_single_doi_t_analytics_label_by_id
Get a single label in DoiT by id. Returns the label object with its id and content-type-specific attributes. Required: id.
update_a_doi_t_analytics_label_by_id
Update a label in DoiT. Returns the updated label object including its id, name, and other label properties. Required: id.
delete_a_doi_t_analytics_label_by_id
Delete a doit analytics label by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_label_assignments
List objects currently assigned to a DoiT label. Required: label_id.
create_a_doi_t_label_assignment
Assign or unassign objects to a DoiT label. Returns an empty 200 response on success. Required: label_id.
list_all_doi_t_settings_themes
List custom color themes defined for your DoiT account. Returns: rowCount, themes, error. Each theme contains its id plus upstream-defined fields.
create_a_doi_t_settings_theme
Create a custom color theme in DoiT. Returns the created theme with its id. Requires a request body. Required: name, primaryColor, colors.
get_single_doi_t_settings_theme_by_id
Get a custom color theme in DoiT by id. Returns the theme including its id. Required: id.
update_a_doi_t_settings_theme_by_id
Update a custom color theme in DoiT by id. Returns the updated theme including its id. Required: id.
delete_a_doi_t_settings_theme_by_id
Delete a custom DoiT Cloud Analytics theme by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_settings_active_themes
Get the active color theme for the authenticated DoiT user. Returns the active theme object, including `themeId` (the reserved sentinel `"default"` means the built-in default is in use). No parameters required.
doi_t_settings_active_themes_bulk_update
Set the active color theme for the authenticated DoiT user. Returns the updated active theme object, including `themeId`. Send `themeId: "default"` to reset to the built-in default. Required: themeId.
list_all_doi_t_analytics_budgets
List budgets in DoiT. Returns a paginated list of budget objects with a next page token and row count. Supports filtering by owner, last modified time, and creation time range.
create_a_doi_t_analytics_budget
Create a new budget in DoiT. Returns the created budget object including id, name, amount, currency, type, and scopes.
get_single_doi_t_analytics_budget_by_id
Get a single DoiT budget by id. Returns the budget object including id, name, amount, currency, type, and scopes. Required: id.
update_a_doi_t_analytics_budget_by_id
Update a budget in DoiT. Returns the updated budget object including id, name, amount, currency, type, and scopes. Required: id.
delete_a_doi_t_analytics_budget_by_id
Delete a budget in doit by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_analytics_dimensions
List DoiT analytics dimensions your account can access. Returns a list of dimension records, each with id and content-type-specific attributes.
get_single_doi_t_analytics_dimension_by_id
Get a DoiT analytics dimension by type and id. Returns the dimension with id and content-type-specific attributes. Required: type, id.
list_all_doi_t_analytics_folders
List Cloud Analytics folders in DoiT that the current customer can access. Returns folders with id, name, and description, ordered by id ascending.
create_a_doi_t_analytics_folder
Create a new Cloud Analytics folder in DoiT. Returns the created folder with id, name, and description. Required: name.
get_single_doi_t_analytics_folder_by_id
Get a Cloud Analytics folder in DoiT by id. Returns the folder with id, name, and description. Required: id.
update_a_doi_t_analytics_folder_by_id
Update a Cloud Analytics folder in DoiT. All fields are optional. Returns the updated folder with id, name, and description. Required: id.
delete_a_doi_t_analytics_folder_by_id
Delete a Cloud Analytics folder in DoiT by id. Nested folders are deleted and any reports or allocations inside the folder are moved to the root. Returns an empty 204 response on success. Required: id.
list_all_doi_t_analytics_reports
List Cloud Analytics reports in doit. Returns each report's id and content-type-specific attributes.
create_a_doi_t_analytics_report
Create a Cloud Analytics report in doit. Returns the created report with id, name, description, and config.
get_single_doi_t_analytics_report_by_id
Get the results of a specific Cloud Analytics report in doit. Returns id and a content-type-specific result object. Required: id.
update_a_doi_t_analytics_report_by_id
Update a Cloud Analytics report in doit with the specified configuration. Only supplied fields are changed. Returns the updated report with id, name, description, and config. Required: id.
delete_a_doi_t_analytics_report_by_id
Delete a Cloud Analytics report in doit. Returns an empty 204 response on success. Required: id.
create_a_doi_t_reports_query
Run a non-persisted report query in DoiT Cloud Analytics. Returns the report result object with query-specific data.
list_all_doi_t_report_configs
Get the configuration of a specific Cloud Analytics report in doit. Returns the report configuration object. Required: report_id.
list_all_doi_t_sharings
Get permissions for a Cloud Analytics resource in DoiT. Returns the resource permissions object with content-type-specific fields. Required: resource_type, resource_id.
update_a_doi_t_sharing_by_id
Update permissions for a Cloud Analytics resource in DoiT. Returns the updated resource permissions object. Required: id, resource_type.
list_all_doi_t_anomalies
List detected anomalies in doit. Returns anomaly records including attribution, billingAccount, costOfAnomaly, platform, severityLevel, startTime, and notifications. Set include_notifications to true to populate the notifications array.
get_single_doi_t_anomaly_by_id
Get a specific anomaly by id in doit. Returns the anomaly including attribution, billingAccount, costOfAnomaly, platform, severityLevel, startTime, and notifications. Required: id.
list_all_doi_t_auth_validates
Validate the current API user in DoiT. Returns: domain, email.
create_a_doi_t_billing_create_asset
Create a new asset in doit. Returns the created asset object including its account_id. Optional: type, mode, account_name, and root_email. Defaults to type amazon-web-services, mode New, and account_name 'Account name'.
create_a_doi_t_csv_upload
Upload a CSV batch of events to DoiT DataHub. Returns: batch, ingestedRows. The file may be uncompressed or compressed as ZIP/GZ, up to 30 MB; data may take up to 15 minutes to appear in the console.
create_a_doi_t_datahub_event
Ingest a batch of events into doit DataHub. Returns: message. Max 50,000 events per request.
create_a_doi_t_events_delete
Delete specific events in Doit by dataset using either a list of event ids or a time range. Returns: message. Required: dataset.
list_all_doi_t_datahub_datasets
List all DataHub datasets in doit. Returns: datasets.
create_a_doi_t_datahub_dataset
Create a new DataHub dataset in doit. Returns the created dataset including name, description, records, updatedBy, and lastUpdated. Required: name.
delete_a_doi_t_datahub_dataset_by_id
Delete a DataHub dataset by id in doit. Returns: message. Required: id.
update_a_doi_t_datahub_dataset_by_id
Update a DataHub dataset's metadata in doit. Only the description can be changed; the dataset name is immutable. Returns the updated dataset with name, description, records, updatedBy, and lastUpdated. Required: id.
doi_t_datahub_datasets_bulk_delete
Delete one or more DataHub datasets and all their associated data. Returns: message. Required: datasets.
get_single_doi_t_datahub_dataset_by_id
Get a specific DataHub dataset by its name. Returns: name, description, records, updatedBy, lastUpdated, error. Required: id.
list_all_doi_t_billing_invoices
List current and historical DoiT invoices for your organization. Returns: invoices, pageToken, rowCount. Invoices are ordered newest first.
get_single_doi_t_billing_invoice_by_id
Get full details for a single DoiT invoice by its invoice number. Returns: id, invoiceDate, platform, dueDate, status, totalAmount, balanceAmount, currency, url, lineItems. Required: id.
list_all_doi_t_core_cloudincidents
List cloud incidents in doit. Returns an array of incidents with id, title, platform, status, and createTime, plus pageToken and rowCount. Optional: filter, minCreationTime, maxCreationTime, maxResults.
get_single_doi_t_core_cloudincident_by_id
Get a single cloud incident in doit by id. Returns: createTime, description, id, platform, product, status, summary, symptoms, title, workaround. Required: id.
list_all_doi_t_customers_account_teams
List DoiT account managers assigned to your organization. Returns: id, attributes.
create_a_doi_t_cloudflow_trigger
Trigger a published doit CloudFlow whose first node is a webhook trigger. Returns: executionLink. The request body must be valid JSON. Required: trigger_id.
doi_t_cloudflow_flows_refine
Refine a CloudFlow in doit from natural language intent. Streams incremental build events as a server-sent event stream while generating and updating nodes and connections. Required: flow_id, question.
list_all_doi_t_cloudflow_flows
List CloudFlows in doit. Returns a cursor-paginated list of flows. Use maxResults to control page size (1–500, default 50). Pass pageToken from the previous response to fetch the next page.
list_all_doi_t_iam_users
List DoiT users in the organization, including active and invited users. Filter by exact email to return a single match. Returns user records including id and upstream-defined attributes. Optional: email.
update_a_doi_t_iam_user_by_id
Update a DoiT user's information such as name, job function, phone, language, and role. Returns the updated user record including id and upstream-defined attributes. Required: id.
delete_a_doi_t_iam_user_by_id
Delete a DoiT user by id. Returns the deleted user record including id and upstream-defined attributes. Required: id.
doi_t_iam_users_resend
Resend a DoiT user invite by user_id. Invalidates the previous token, resets expiry to 48 hours, and reactivates cancelled invites. Returns the updated invite record including id and upstream-defined attributes. Required: user_id.
doi_t_iam_users_cancel
Cancel a pending DoiT user invite by user_id. Marks the invite as cancelled and invalidates the invite token. Returns the updated invite record including id and upstream-defined attributes. Returns 404 if not found or 409 if already cancelled. Required: user_id.
create_a_doi_t_users_invite
Invite a new user to a doit organization with a specified role and organization. Returns the created invitation response. Requires the invitation details including email, role, and organization. Required: email.
list_all_doi_t_iam_roles
List roles in DoiT. Returns: roles. Each role exposes its primary identifier and any additional fields defined upstream.
list_all_doi_t_iam_organizations
List DoiT organizations accessible to the caller. Returns an organizations array and a rowCount integer.
list_all_doi_t_metadata_platforms
List available platforms in DoiT. Returns the platforms array, where each entry contains upstream platform metadata.
list_all_doi_t_metadata_products
List available products in DoiT. Returns the products array; each item contains an id and product-specific attributes. Optional: platform.
list_all_doi_t_billing_assets
List DoiT assets such as Google Cloud billing accounts and G Suite/Workspace subscriptions. Returns a list of asset records, each containing id, properties, and type. Supports filtering by type.
get_single_doi_t_billing_asset_by_id
Get a DoiT asset by id. Returns the full asset record including id and asset-type-specific attributes. Required: id.
update_a_doi_t_billing_asset_by_id
Update an existing DoiT asset such as a G Suite/Workspace or Office 365 subscription to add or remove licenses. Returns the updated asset with id, properties, and type. Required: id.
list_all_doi_t_support_tickets
List support tickets in DoiT. Returns: tickets. Optional: maxResults, filter, minCreationTime, maxCreationTime.
create_a_doi_t_support_ticket
Create a support ticket in DoiT. Returns: created, id, platform, product, requester, severity, status, subject, urlUI, attributes. The request body is an upstream-defined ticket creation form. Required: ticket.
get_single_doi_t_support_ticket_by_id
Get a DoiT support ticket by id. Returns: id, subject, description, requester, severity, platform, product, platform_info, status, createTime, updateTime, urlUI, is_public, tags, attributes. Required: id.
doi_t_support_tickets_list_comments
List comments on a DoiT support ticket. For customers, only public comments are returned. Returns: comments. All comments are returned in a single response. Required: ticket_id.
doi_t_support_tickets_attach_comment
Add a comment to a DoiT support ticket. For DoiT employees, the request body can mark comments as private internal notes by setting `private` to true. Returns: id, body, author, created, attachments, attributes. Required: ticket_id, body.
doi_t_support_tickets_add_tags
Add tags to a support ticket in DoiT. Returns the stored tags array (including any normalization). Required: ticket_id, tags.
doi_t_support_tickets_bulk_delete
Remove tags from a support ticket in DoiT. Required: ticket_id, tags.
create_a_doi_t_scheme_find
Find cloud diagrams in DoiT that match the provided resource IDs. Returns diagram URLs and matching metadata. Required: resources.
list_all_doi_t_scheme_stats
List doit cloud diagrams with activity stats for a given time period. Returns the diagram stats records including id and content-type-specific activity attributes. Required: start, end.
create_a_doi_t_scheme_get
Get DoiT cloud diagram components and layer data. With an empty body, returns all accessible diagrams; with a populated body, returns full diagram data including projected components. Returns the diagram object with content-type-specific fields.
create_a_doi_t_scheme_search
Search diagrams and components in DoiT. Returns: scheme, component, prop, diagram. The request body must be supplied as JSON. Required: query.
create_a_doi_t_get
Get specified components from a Cloud Diagram status sheet layer in DoiT. Returns the requested layer components. Optional: p for space-separated projection fields. Required: statussheet_id.
list_all_doi_t_export_jsons
Export a DoiT Cloud Diagram layer as a structured JSON document. Returns: statussheet, metadata, nodes, elements, groups, attachments, links, combiners, notes. Required: statussheet_id.
list_all_doi_t_costs
Get a bounded cost snapshot for a doit cloud diagram layer. Returns: currency, total, trend. Required: statussheet_id, start_date, end_date.
list_all_doi_t_snapshots
List saved snapshots for a DoiT Cloud Diagrams layer. Returns the snapshot object with id and content-type-specific attributes. Required: statussheet_id.
get_single_doi_t_snapshot_by_id
Get a single DoiT Cloud Diagrams layer snapshot by id and snapshot_id. Returns the snapshot object with id and content-type-specific attributes. Required: id, snapshot_id.
list_all_doi_t_resource_relationships
List related resources for a doit Cloud Diagrams anchor resource by walking the diagram graph. Returns: anchor, direction, depth, kind, relations, truncated. Required: statussheet_id, rid.
list_all_doi_t_clouddiagrams_activities
List Cloud Diagram activity groups for a DoiT diagram layer. Returns the activity group records with content-type-specific fields. Required: ss_id.
list_all_doi_t_activity_node_activities
List node activities for a component node in a doit Cloud Diagram layer. Returns activity records ordered by timestamp descending, each including id and activity-specific attributes. Required: ss_id, node_id.
list_all_doi_t_analytics_commitment_managers
List commitments in DoiT. Returns: commitments. Optional: sortBy, filter.
get_single_doi_t_analytics_commitment_manager_by_id
Get a commitment in DoiT by id. Returns: id, name, currency, periods. Required: id.
create_a_doi_t_ava_ask
Ask Ava a question in DoiT and receive a streaming response via Server-Sent Events (SSE). Returns an opaque Server-Sent Events stream. Requires a JSON request body. Required: question.
create_a_doi_t_ava_ask_sync
Ask Ava in DoiT and receive a synchronous response. Returns: answer, error. Optional: ephemeral. Required: question.
create_a_doi_t_ava_feedback
Submit feedback on an Ava answer in DoiT. Returns an empty response on success. Required: conversationId, answerId, feedback.
doi_t_ava_delete_conversations_bulk_delete
Delete an Ava conversation in DoiT by its ID. Returns an empty 204 response on success. Required: conversation_id.
list_all_doi_t_insights_results
List insights in DoiT Cloud Intelligence. Returns paginated insight results with content-type-specific attributes.
create_a_doi_t_insights_result
Create or update multiple insights in a batch in DoiT Cloud Intelligence. Returns an array of batch result objects with content-type-specific attributes.
doi_t_insights_results_bulk_delete
Delete all doit insights matching a specified key from the batch source. Returns an empty 204 response on success. Required: insight_key.
create_a_doi_t_insight
Create or update a DoiT insight for the given source and key. If the key already exists, it is updated. Resource results are managed separately. Returns the insight metadata and aggregate summary as defined by the upstream DoiT API. Required: source_id, insight_key, key, title, shortDescription, cloudProvider, categories.
doi_t_insights_bulk_delete
Delete an insight in doit. Returns an empty 204 response on success. Only insights created via the public API (source_id "public-api") can be deleted. Required: source_id, insight_key.
doi_t_status_bulk_update
Update the display status of a single DoiT insight. Returns an empty 204 response on success. Only public-api insights are supported. Deprecated: prefer the status field on the create/update insight endpoint. Required: source_id, insight_key, status.
list_all_doi_t_resource_results
List resource-level results for a Doit insight. Returns a paginated list of affected cloud resources such as EC2 instances or GCS buckets, including their risk scores or potential savings. Required: source_id, insight_key.
create_a_doi_t_resource_result
Replace all resource results for a DoiT insight. Returns the updated resource results, each including server-computed fields severity, resolved, and enhancement. Send an empty array to delete all results. Required: source_id, insight_key, resourceResults.
get_single_doi_t_cloudconnect_supported_feature_by_id
Get supported features and their permission status for a cloud account connected via CloudConnect in DoiT. Returns the content-type-specific feature object. Required: id.
create_a_doi_t_aws_account
Create or update an AWS CloudConnect account role in DoiT. Returns the AWS account response object with upstream-defined fields. s3Bucket and s3BucketRegion are required when enabledFeatures includes "real-time-data". Required: accountID, roleArn, enabledFeatures.
get_single_doi_t_aws_account_by_id
Get an AWS CloudConnect account by id. Returns the AWS account response object with upstream-defined fields. Required: id.
update_a_doi_t_aws_account_by_id
Update an AWS CloudConnect account feature by id. Returns the updated account record with id and upstream-defined attributes. s3Bucket and s3BucketRegion are required when real-time-data is included. Required: id, enabledFeatures.
delete_a_doi_t_aws_account_by_id
Delete an AWS CloudConnect account role by id. Returns an empty 204 response on success. Required: id.
list_all_doi_t_cloudflow_connections
List cloud provider connections in DoiT Cloudflow. Returns connection objects including id, name, description, and enabled. Max 100 per page.
create_a_doi_t_cloudflow_connection
Create a cloud provider connection in DoiT Cloudflow. Returns the created connection including id, name, description, and enabled. Exactly one of gcpConfig or awsConfig must be supplied. Required: name.
get_single_doi_t_cloudflow_connection_by_id
Get a single DoiT Cloudflow connection by id. Returns the connection including id, name, description, and enabled. Required: id.
update_a_doi_t_cloudflow_connection_by_id
Update a DoiT Cloudflow connection by id. Returns the updated connection including id, name, description, and enabled. At most one of gcpConfig or awsConfig may be set. Required: id.
delete_a_doi_t_cloudflow_connection_by_id
Delete a DoiT Cloudflow connection by id. Returns an empty 204 response on success. Returns 409 if the connection is referenced by flows. Required: id.
list_all_doi_t_cloudflow_templates
List the available CloudFlow templates in DoiT. Returns the catalogue as a list of template objects, each including id and attributes. No required parameters.
get_single_doi_t_cloudflow_template_by_id
Get a single DoiT CloudFlow template by id. Returns the template object including its id and attributes. Required: id.
Why Truto
Why use Truto’s MCP server for DoiT
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with DoiT in under an hour. No boilerplate, no maintenance burden.
Link your customer’s DoiT account
Use Truto’s frontend SDK to connect your customer’s DoiT account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call DoiT
Truto’s Proxy API is a 1-to-1 mapping of the DoiT API. You call us, we call DoiT, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate DoiT’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about DoiT on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does end-user authentication to DoiT work through Truto?
Your users connect their DoiT account through Truto's managed auth flow. Truto handles credential storage, refresh, and per-tenant isolation so you never touch DoiT API keys directly in your application.
Which DoiT resources can I read and write via this integration?
The available tools cover analytics (reports, budgets, allocations, alerts, annotations, labels, folders, dimensions), anomalies, DataHub events and datasets, billing assets and invoices, cloud incidents, support tickets, insights and resource results, scheme and cloud diagram data, IAM users and roles, AWS account connections, Cloudflow connections and templates, and the Ava AI assistant.
Can I stream responses from DoiT's Ava AI assistant?
Yes. Truto exposes both the synchronous Ava ask endpoint and the streaming variant, so you can render token-by-token responses inside embedded chat UIs or run one-shot programmatic queries.
How fresh is the cost and anomaly data?
Truto calls DoiT's API on demand, so data freshness matches whatever DoiT itself exposes — reports, budgets, and anomalies reflect the latest state DoiT has processed at the time of the request. You control polling cadence for anomaly and alert sync patterns.
Does Truto handle pagination and rate limits for DoiT?
Yes. Truto normalizes pagination across list endpoints (anomalies, reports, budgets, tickets, datasets, etc.) and manages retries and backoff against DoiT's rate limits so you don't have to build that plumbing per endpoint.
Can I upload usage events in bulk to DoiT DataHub?
Yes. Truto supports both the DataHub event creation endpoint and the CSV upload endpoint, so you can send single events, JSON batches, or large CSV files depending on the volume and shape of the metrics you're forwarding.
From the Blog
DoiT integration guides
Deep dives, architecture guides, and practical tutorials for building DoiT integrations.
DoiT
Get DoiT integrated into your app
Our team understands what it takes to make a DoiT integration successful. A short, crisp 30 minute call with folks who understand the problem.