---
title: AirOps API Integration on Truto
slug: airops
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/airops/"
---

# AirOps API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 43 tools for AirOps that AI agents can call directly.

- **list_all_air_ops_apps** — List all apps in the airops workspace. Returns each app with id, uuid, name, description, created_at, and updated_at.
- **get_single_air_ops_app_by_id** — Get a single airops app by its uuid. Returns the app object including id, name, description, created_at, and updated_at. Required: id.
- **list_all_air_ops_executions** — List executions for an Airops app. Returns execution records including id, status, uuid, inputs, output, runtime, credits_used, createdAt, and updatedAt. Required: airops_app_id.
- **air_ops_executions_execute** — Execute a published Airops app synchronously and return the result. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs. Fails if the app exceeds capacity or runs longer than 10 minutes.
- **air_ops_executions_execute_async** — Execute a published Airops app asynchronously and return the queued execution. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs.
- **air_ops_executions_execute_definition** — Execute a published Airops workflow definition synchronously. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs, inputs_schema, definition. Fails if the app exceeds capacity or runs longer than 10 minutes.
- **air_ops_executions_execute_definition_async** — Execute a published Airops workflow definition asynchronously and return the queued execution. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs, inputs_schema, definition.
- **air_ops_executions_webhook_async_execute** — Execute a published airops app asynchronously via incoming webhook. Returns the airops_app_execution object with execution details including id, status, inputs, output, and runtime. Required: app_uuid, inputs.
- **air_ops_executions_cancel** — Cancel a pending or running airops execution. Returns an empty 204 response on success. Required: execution_uuid.
- **air_ops_executions_rate** — Rate a successful airops execution as positive, neutral, or negative. Returns an empty 204 response on success. Required: execution_uuid, feedback.
- **air_ops_executions_retry** — Retry an airops execution that is in error status from the last failed step. Returns an empty 204 response on success. Required: execution_uuid.
- **air_ops_agent_apps_chat** — Send a synchronous chat message to an AirOps Agent app. Returns the agent result object and the airops_app_execution record. Required: app_uuid, message.
- **air_ops_agent_apps_chat_async** — Send a chat message to an AirOps Agent app asynchronously, without waiting for the response. Returns the session_id and the airops_app_execution record. Required: app_uuid, message.
- **air_ops_files_upload** — Upload a file to an airops workspace. Returns: id, created_at, updated_at, openapi, info, paths, components, servers. Required: file.
- **air_ops_grids_generate_csv** — Start an async CSV generation job for a sheet in airops. Returns: job_id, id, openapi, info, paths, components, servers. Required: grid_id, sheet_id.
- **air_ops_grids_download_csv** — Check the status of a CSV generation job and get the download URL in airops. Returns: status, download_url, download_link, openapi, info, paths, components, servers. Required: grid_id, sheet_id, job_id.
- **air_ops_grids_download_latest_csv** — Download the latest generated CSV for a sheet in airops. Returns an empty 302 redirect response on success. Required: grid_id, sheet_id.
- **air_ops_memory_stores_add_document** — Add a document to an airops memory store. Returns the created document with id, name, document_type, status, and sync_progress_percentage. Required: memory_store_id, name, text.
- **air_ops_memory_stores_delete_document** — Delete a document from an airops memory store. Returns an empty 204 response on success. Required: memory_store_id, document_id.
- **list_all_air_ops_search_memory_stores** — Search an airops memory store by query string. Returns a matches array of search results, each with id, score, content, document_name, and metadata. Required: memory_store_id, query.
- **list_all_air_ops_brand_kits** — List airops brand kits. Returns: data, meta. The request body supports workspace_id, filters, includes, fields, and sort.
- **get_single_air_ops_brand_kit_by_id** — Get a single airops brand kit by id. Returns: id, countries, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: id.
- **list_all_air_ops_brand_kits_analytics** — Query analytics data for a Brand Kit in airops. Returns data and meta. Required: brand_kit_id, metrics. Max 3 dimensions; limit 1-1000.
- **list_all_air_ops_brand_kits_prompts** — List prompts for an airops Brand Kit. Returns prompt records with id, text, keyword, brand_mentioned, prompt_volume, topic_id, created_at, updated_at, mention_rate, citation_rate, mention_rate_trend, citation_rate_trend, query_fanouts, countries, persona_ids, platforms, est_answers_mo, topic, and tags. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_prompt_by_id** — Get a single prompt for an airops Brand Kit by id. Returns the prompt record including id, text, keyword, brand_mentioned, prompt_volume, topic_id, created_at, updated_at, mention_rate, citation_rate, mention_rate_trend, citation_rate_trend, query_fanouts, countries, persona_ids, platforms, est_answers_mo, topic, and tags. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_topics** — List topics for a Brand Kit in airops. Returns a `data` array of topics with id, name, and color, plus pagination `meta`. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_topic_by_id** — Get a single topic for a Brand Kit in airops by id. Returns the topic under `data` with id, name, and color. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_tags** — List tags in an AirOps Brand Kit. Returns: id, name, color, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id. Max 100 per page.
- **get_single_air_ops_brand_kits_tag_by_id** — Get a single AirOps Brand Kit tag by id. Returns: id, name, color, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_personas** — List personas in an airops Brand Kit. Returns: id, title, description, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_persona_by_id** — Get a single airops Brand Kit persona by id. Returns: id, title, description, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_citations** — List citations for an Airops brand kit. Returns: url, domain, domain_name, domain_category, logo_url, citation_count, citation_count_trend, citation_share, citation_share_trend, citation_rate, citation_rate_trend, influence_score, influence_score_breakdown, page_type, brand_mentioned, brand_sentiment, mentioned_competitor_domains, domain_authority. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_citation_by_id** — Get a single citation for an Airops brand kit. Returns the citation record including url, domain, citation_count, citation_rate, influence_score, brand_mentioned, and brand_sentiment. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_answers** — List AI answers for a brand kit in airops. Returns answer records including id, date, text, prompt, provider, country, citations, mentions, and brand_mentioned. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_answer_by_id** — Get a single AI answer for a brand kit in airops. Returns the answer record including id, date, text, prompt, provider, country, citations, mentions, and brand_mentioned. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_competitors** — List competitors for an Airops brand kit. Returns: id, aeo_domain_id, name, domain_url, created_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id.
- **get_single_air_ops_brand_kits_competitor_by_id** — Get a single competitor for an Airops brand kit by id. Returns: id, aeo_domain_id, name, domain_url, created_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_content_updates** — List content updates for a Brand Kit in airops. Returns a collection of content updates with id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries. Required: brand_kit_id.
- **create_a_air_ops_brand_kits_content_update** — Create a content update for a Brand Kit in airops. Returns: id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, url, type.
- **get_single_air_ops_brand_kits_content_update_by_id** — Get a single content update for a Brand Kit in airops by id. Returns: id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.
- **delete_a_air_ops_brand_kits_content_update_by_id** — Delete a content update for a Brand Kit in airops. Returns an empty 204 response on success. Required: brand_kit_id, id.
- **list_all_air_ops_brand_kits_web_pages** — List web page metrics for an Airops brand kit. Returns id, url, citations_count, clicks, impressions, traffic, and configured GA4/Amplitude events. Required: brand_kit_id.
- **list_all_air_ops_brand_kits_sentiment_theme_answers** — Get individual AI answers with sentiment details for a specific theme in an AirOps brand kit. Returns: answers, pagination, error, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, sentiment_theme_id.

## How it works

1. **Link your customer's AirOps account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach AirOps.** The Proxy API is a 1-to-1 mapping of the AirOps API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed AI Search Visibility Analytics** — Marketing analytics platforms can pull AirOps citation, answer, sentiment, and competitor data to give their users a native view of how their brand performs inside LLM-generated answers alongside traditional SEO metrics.
- **Trigger Content Refresh Workflows from a CMS** — CMS and DXP platforms can offer an 'Auto-Refresh for AI Search' feature by triggering AirOps executions when pages hit a staleness threshold, then delivering the regenerated draft back to the editor.
- **Keep AirOps Memory Stores in Sync with Source-of-Truth Content** — Documentation hubs, help desks, and knowledge platforms can auto-sync articles into AirOps memory stores so AI-generated marketing content always reflects the latest product reality.
- **Run Bulk AI Content Operations from Your Product** — SaaS platforms managing large content inventories can use AirOps Grids to run bulk generation jobs (e.g., refreshing hundreds of product descriptions) and pull results back in as CSVs without building the orchestration layer themselves.
- **Ship an Embedded AI Agent Powered by Quill** — Product teams can expose AirOps agent chat inside their own UI so users get brand-aware AI responses grounded in their own Brand Kit, without hosting or fine-tuning models.

## What you can build

- **AI Search Share-of-Voice Dashboard** — Render citation counts, sentiment, competitor mentions, and theme-level answer data from AirOps Brand Kits inside your analytics product.
- **Webhook-Triggered Content Refresh** — Fire AirOps async executions when CMS events occur and return the generated draft to the editor for review.
- **Two-Way Memory Store Sync** — Add and delete documents in AirOps memory stores as content is published, updated, or archived in your platform.
- **Bulk Content Generation via Grids** — Kick off Grid CSV generation jobs, poll for completion, and download the resulting CSV to power large-scale content operations.
- **Embedded Brand-Aware AI Chat** — Expose AirOps agent chat (sync or async) inside your app so end users can converse with an assistant grounded in their Brand Kit.
- **Execution Feedback Loop** — Let users rate, retry, or cancel AirOps executions directly from your UI to close the loop on quality control.

## FAQs

### How do end users connect their AirOps account through our product?

Truto handles the AirOps authentication flow, credential storage, and token lifecycle for you. Your users authenticate once via Truto's connect flow, and your app calls AirOps tools through Truto without ever touching raw API keys.

### Can we run AirOps workflows asynchronously for long-running jobs?

Yes. AirOps exposes async execution tools including air_ops_executions_execute_async, air_ops_executions_execute_definition_async, and air_ops_executions_webhook_async_execute, so you can trigger workflows and receive results via webhook or polling instead of blocking on long generations.

### What AEO analytics data can we pull from AirOps?

Through Brand Kits you can list and retrieve citations, answers, competitors, personas, topics, tags, prompts, web pages, sentiment theme answers, content updates, and top-level analytics — enough to build a full AI search visibility dashboard.

### How do we handle bulk content operations?

Use the Grids tools: air_ops_grids_generate_csv to kick off a bulk run, and air_ops_grids_download_csv or air_ops_grids_download_latest_csv to retrieve results. This is the recommended path for high-volume operations rather than looping single executions.

### Can we keep AirOps memory stores in sync with content in our platform?

Yes. air_ops_memory_stores_add_document and air_ops_memory_stores_delete_document let you programmatically manage documents in a user's memory store, and list_all_air_ops_search_memory_stores lets you discover which stores exist for a connected account.

### Can users manage execution quality from within our product?

Yes. AirOps supports air_ops_executions_rate, air_ops_executions_retry, and air_ops_executions_cancel, so you can surface feedback, retry, and cancellation controls natively in your UI and pass them through to AirOps.
