# AI Economic Control from Revenium Documentation > Revenium helps you bring visibility, accountability, and control to your AI and digital product costs. Our APIs power a full-stack monetization and FinOps platform that tracks every transaction, API call, and AI inference with cost, performance, and usage context—so you can shift from reactive cost management to proactive optimization and monetization. Whether you’re running a large-scale AI deployment or exposing internal services to external partners, our platform makes it easy to track usage, create usage alerts, enforce policies, and define billing models that match your go-to-market. You can convert any usage data you send to Revenium—including token counts and automatically calculated costs—into subscription plans, usage-based pricing, or hybrid monetization models, all backed by API-driven automation. Lastly, you can define usage and spending thresholds to trigger alerts or automated actions, so you’re never surprised by unexpected AI costs again. Looking to get started with AI cost tracking? Visit the AI Metering section in the left-hand menu under Revenium Metering API. There, you’ll find the endpoints to meter AI usage by tokens, cost, or latency, and link that usage to customers, tiers, or subscription plans. It’s your foundation for understanding spend, optimizing workloads, and enabling usage-based billing models for AI-powered products. LLM Agents looking for agent-friendly API docs? Start here: - https://revenium.readme.io/v2.0.1/llms.txt (beta docs: AI metering use cases ) - https://revenium.readme.io/v2.0.0/llms.txt (API monetization docs) ## API Reference - [Revenium API Overview](https://revenium.readme.io/reference/getting-started-with-your-api.md): Bringing visibility and control to all elements of AI spending - [JSON / Text / Markdown / OAS API Spec](https://revenium.readme.io/reference/llm-agent-friendly-api-specs-for-revenium.md): These structured endpoints provide API docs optimized for LLM & AI agents or automated ingestion - [Get a Credential by ID](https://revenium.readme.io/reference/get_credential.md): Get a credential by its unique identifier. - [Update a Credential](https://revenium.readme.io/reference/update_credential.md): Update a credential - [Delete a Credential](https://revenium.readme.io/reference/delete_credential.md): Delete a credential - [Create a Credential](https://revenium.readme.io/reference/create_credential.md): Creates a new credential. - [List Credentials](https://revenium.readme.io/reference/list_credentials.md): List credentials - [Get an Organization by ID](https://revenium.readme.io/reference/get_organization.md): Get an organization by its unique identifier. - [Update an Organization](https://revenium.readme.io/reference/update_organization.md): Update an organization. - [Delete an organization](https://revenium.readme.io/reference/delete_organization.md): Deletes an organization - [List Organizations](https://revenium.readme.io/reference/list_organizations.md): Retrieve a paginated list of organizations within a tenant. Note on scope: Organizations are tenant-scoped (a tenant contains one or more teams; each team can reference organizations defined at the tenant level). For this reason, this endpoint requires tenantId, not the teamId used by team-scoped endpoints (jobs, subscriptions, products, etc.). Tenant and team identifiers are distinct and not interchangeable. - [Create a new Organization](https://revenium.readme.io/reference/create_organization.md): Creates a new organization. tenantId is required in the request body to properly associate the organization with a tenant. parentId is optional: omit for top-level organizations; to create a nested organization, set parentId to an existing organization ID (retrieve with GET /v2/api/organizations?tenantId={tenantId}). - [Retrieve all Tags Associated with an Organization](https://revenium.readme.io/reference/get_organization_tags.md): Retrieve all tags associated with an organization - [List Child Organizations](https://revenium.readme.io/reference/list_organizations_by_parent.md): Retrieve a paginated list of child organizations for a parent organization. - [Create a New AI Model](https://revenium.readme.io/reference/create_ai_model.md): Creates a new AI model. - [Update an AI Model (Not Supported)](https://revenium.readme.io/reference/update_ai_model.md): **This endpoint is not supported.** Use PATCH /v2/api/sources/ai/models/{id}?teamId={teamId} for pricing updates on tenant-specific models. - [Delete an AI Model](https://revenium.readme.io/reference/delete_ai_model.md): Delete an AI model by its unique identifier. - [List AI Models](https://revenium.readme.io/reference/list_ai_models.md): Retrieve a paginated list of AI models. - [Get an AI Model by Name](https://revenium.readme.io/reference/get_ai_model_by_name.md): Get an AI model by its name. - [Update AI Model Pricing](https://revenium.readme.io/reference/patch_ai_model_pricing.md): Updates pricing fields on a tenant-specific AI model. Only non-null fields in the request will be updated. Global models cannot be modified - clone them first to create a tenant-specific version. - [Clone a Global AI Model](https://revenium.readme.io/reference/clone_ai_model.md): Creates a tenant-specific copy of a global AI model with optional custom pricing. The cloned model will have all capability flags copied from the global model, and can have custom pricing overrides applied. - [Get AI Model Audit History](https://revenium.readme.io/reference/get_ai_model_audit_history.md): Retrieves the audit history (revision log) for a tenant-specific AI model. Returns a paginated list of all pricing and configuration changes made to the model, including who made the change, when, and what values changed. Global models (those without an organization) return an empty history. - [Get AI Model Rates](https://revenium.readme.io/reference/get_ai_model_rates.md): Returns live input/output pricing rates per million tokens for all AI models available to the team. Use these rates together with the modelBreakdown from GET /sources/metrics/ai/traces/metrics to calculate API-equivalent value. - [Deny a join request](https://revenium.readme.io/reference/deny_tenant_join_request.md): Denies a PENDING join request with neutral copy to the requester - never discloses who denied it. An optional internal resolutionNote may be recorded for admin context. - [Approve a join request](https://revenium.readme.io/reference/approve_tenant_join_request.md): Approves a PENDING join request: creates the requester's User in this tenant's default team, granting the role chosen in the request body (defaults to the least-privilege ROLE_READ_ONLY when omitted). - [List join requests for a tenant](https://revenium.readme.io/reference/list_tenant_join_requests.md): Lists join requests for the caller's tenant, filtered by status (defaults to PENDING). - [List AI Audio Metrics by team](https://revenium.readme.io/reference/list_ai_audio_metrics.md): Retrieve a paginated list of AI audio metrics for a specified team. Includes audio-specific fields like duration, character count, token counts, language, and voice. - [Get an AI Audio Metric by ID](https://revenium.readme.io/reference/get_ai_audio_metric.md): Returns a single AI audio metric with all audio-specific fields. - [Attribute session to ticket](https://revenium.readme.io/reference/attribute_session.md): Record a point-in-time attribution between a coding-assistant session and a ticket. A different ticket opens a new time interval; re-posting the same ticket as the current interval (without effectiveFrom) is a no-op. An explicit effectiveFrom is idempotent on (org, sessionId, effectiveFrom): it updates that interval in place (last-write-wins). - [Get a Tool](https://revenium.readme.io/reference/get_tool.md): Retrieves a tool by its unique identifier - [Update a Tool](https://revenium.readme.io/reference/update_tool.md): Updates an existing tool configuration - [Delete a Tool](https://revenium.readme.io/reference/delete_tool.md): Deletes a tool by its unique identifier - [List Tools](https://revenium.readme.io/reference/list_tools.md): Retrieves a paginated list of tools for a team - [Create a Tool](https://revenium.readme.io/reference/create_tool.md): Creates a new tool for non-token AI cost metering - [Get Tool by toolId](https://revenium.readme.io/reference/get_tool_by_tool_id.md): Retrieves a tool by its toolId within a team - [Set Workspace Revenium Name](https://revenium.readme.io/reference/set_workspace_revenium_name.md): Updates the user-defined display name override for a workspace. - [List Workspaces](https://revenium.readme.io/reference/list_workspaces.md): Retrieves workspace metadata for the authenticated user's organization with grouping by display name. - [Get a Source by ID](https://revenium.readme.io/reference/get_source.md): Get a source by its unique identifier - [Update a Source](https://revenium.readme.io/reference/update_source.md): Update a source. - [Delete a Source](https://revenium.readme.io/reference/delete_source.md): Deletes a source - [Update the Logo of a Source](https://revenium.readme.io/reference/update_source_logo.md): Associates a PNG logo with an existing source. - [List Sources](https://revenium.readme.io/reference/list_sources.md): Retrieve a paginated list of sources. - [Create a new Source](https://revenium.readme.io/reference/create_source.md): Creates a new source. - [Delete a Source's Logo](https://revenium.readme.io/reference/delete_source_logo.md): Deletes the logo for the specified source. - [Get Source Audit History](https://revenium.readme.io/reference/get_source_audit_history.md): Retrieves the audit history for a specific source with pagination. - [Get a tenant by ID](https://revenium.readme.io/reference/get_tenant.md): Get a tenant by its unique identifier - [Get total AI cost tracked for a tenant](https://revenium.readme.io/reference/get_total_ai_cost_tracked.md): Retrieve the total AI cost tracked for a tenant within a specified date range - [List Invoices by Team](https://revenium.readme.io/reference/list_invoices.md): Retrieve a paginated list of invoices for a specified team using InvoiceSearchParams filters. - [Get an Invoice by ID](https://revenium.readme.io/reference/get_invoice.md): Get an invoice by its unique identifier. - [Record a manual payment correction for an invoice](https://revenium.readme.io/reference/invoice_payment_correction.md): Records a manual payment received against the specified invoice and updates the invoice's pay state. Replaces the V1 `POST /v1/api/invoices/payment` endpoint. - [Download an Invoice as PDF or CSV](https://revenium.readme.io/reference/download_invoice.md): Downloads the invoice with the specified ID as either a PDF or CSV. Use `format=pdf` (default) or `format=csv`. - [Get unpaid invoice totals for a team](https://revenium.readme.io/reference/get_unpaid_totals.md): Returns the count and total outstanding amount of unpaid (UNPAID + PARTIALLY_PAID) invoices owned by the specified team. Replaces the V1 paged response so the frontend does not need to client-side aggregate and pagination cannot distort the displayed total. - [Get a Team by ID](https://revenium.readme.io/reference/get_team.md): Get an team by its unique identifier. - [Update a Team](https://revenium.readme.io/reference/update_team.md): Update a team. - [Delete a Team](https://revenium.readme.io/reference/delete_team.md): Deletes an team - [List Teams](https://revenium.readme.io/reference/list_teams.md): Retrieve a paginated list of teams. - [Create a new Team](https://revenium.readme.io/reference/create_team.md): Creates a new team. - [Retrieve all Tags Associated with a team](https://revenium.readme.io/reference/get_team_tags.md): Retrieve all tags associated with a team - [List Child Teams](https://revenium.readme.io/reference/list_teams_by_parent.md): Retrieve a paginated list of child teams for a parent team. - [Get Team Prompt Settings](https://revenium.readme.io/reference/get_team_prompt_settings.md): Retrieve prompt capture settings for a team. The systemMaxPromptLength is a read-only system-wide constant that applies to all teams. - [Update Team Prompt Settings](https://revenium.readme.io/reference/update_team_prompt_settings.md): Update prompt capture settings for a team. Admin-only access. Note: systemMaxPromptLength is read-only and cannot be changed. - [Delete Team Logo](https://revenium.readme.io/reference/delete_team_logo.md): Deletes the logo for a team. - [Update Team Logo](https://revenium.readme.io/reference/update_team_logo.md): Updates the logo for a team. Accepts multipart/form-data with a file field named 'file'. - [Get team coding assistant billing model settings](https://revenium.readme.io/reference/get_team_coding_assistant_filter_settings.md): Retrieve which coding assistant providers are billed at real API rates for a team. - [Update team coding assistant billing model settings](https://revenium.readme.io/reference/update_team_coding_assistant_filter_settings.md): Update which coding assistant providers are billed at real API rates for a team. Requires team-management permissions. - [List Workspace Metrics](https://revenium.readme.io/reference/list_workspace_metrics.md): Retrieves workspace metrics grouped by Revenium name for the authenticated user's organization. Returns paginated workspace-level costs with aggregated usage metrics. All costs are in USD. Token counts include all token types (input, output, cache). - [Trigger Billing Data Refresh](https://revenium.readme.io/reference/trigger_billing_refresh.md): Triggers a billing data refresh for the specified organization. **Refresh Types:** - `intraday` (default): Synchronous — fetches today's data and returns 200 when complete - `historical`: Asynchronous — validates synchronously, dispatches background processing, and returns 202 Accepted immediately. Check system logs (`GET /v2/api/logs/system/internal`) to monitor progress. - [List Model Efficiency Metrics](https://revenium.readme.io/reference/list_models.md): Retrieves AI model efficiency and cost metrics for the authenticated user's organization. Returns paginated model-level metrics All costs are in USD. Token counts include all token types (input, output, cache). - [Get Provider Coverage Ratio](https://revenium.readme.io/reference/get_coverage_ratio.md): Returns aggregate coverage ratio (metered OTLP cost ÷ provider billing cost) and per-provider breakdown. Requires coding-assistant-separation-active feature flag. - [Get Daily Cost and Credits Breakdown](https://revenium.readme.io/reference/get_daily_breakdown.md): Retrieves a per-day breakdown of cost and credits applied for the authenticated user's organization, grouped by (date, provider, model). Returns a flat list of rows (one per date × provider × model) plus organization-wide envelope totals. Suitable for timeseries charts and burn-down analyses. All costs and credits are in USD. `creditsApplied` is null on rows where no credits data is available. The envelope `totalCreditsApplied` is null only when no row in the page has a non-null value. - [Get a user by ID](https://revenium.readme.io/reference/get_user.md): Get a user by its unique identifier - [Update a User](https://revenium.readme.io/reference/update_user.md): Update a new user. - [Delete a User](https://revenium.readme.io/reference/delete_user.md): Deletes a user - [List Users](https://revenium.readme.io/reference/list_users.md): Retrieve a paginated list of users. - [Create a new User](https://revenium.readme.io/reference/create_user.md): Creates a new user. - [List Subscriptions for a User](https://revenium.readme.io/reference/list_subscriptions_for_user.md): Retrieve a paginated list of subscriptions for a user. - [List Period charges for a User (keyset/cursor)](https://revenium.readme.io/reference/list_period_charges_for_user.md): Keyset-paginated list of period charges owned by a user. Returns items in `_embedded.periodChargeResourceList` plus an opaque top-level `cursor` (`null` on the last page) and a `hasMore` flag — no `totalElements`, no `totalPages`. Pass the previous response's `cursor` back as the `cursor` query param to fetch the next page. Replaces the prior offset/`PagedModel` contract. - [List Invoices for a User](https://revenium.readme.io/reference/list_invoices_for_user.md): Retrieve a paginated list of invoices for a user. - [List Credentials for a User](https://revenium.readme.io/reference/list_credentials_for_user.md): Retrieve a paginated list of credentials for a user. - [Get the User Associated with the Current Security Context](https://revenium.readme.io/reference/get_current_user.md): Get the user associated with the current security context - [Get a User by Email Address](https://revenium.readme.io/reference/get_user_by_email.md): Retrieve a user by their email address. - [Get AI Traces](https://revenium.readme.io/reference/list_ai_traces.md): Get aggregated AI trace metrics grouped by traceId. Each trace represents multiple AI completion transactions grouped together by a common trace identifier. Traces can be filtered by date range, trace properties, cost, and duration. - [Get AI Trace Detail by ID](https://revenium.readme.io/reference/get_ai_trace_detail.md): Get detailed information for a specific AI trace including all aggregated metrics, context fields (taskTypes, subscriberEmail, organizationName, productName), and top 5 breakdowns (cost by model, cost by provider, duration by task type). - [Get anomalous traces](https://revenium.readme.io/reference/get_anomalous_traces.md): Returns paginated list of traces that exceed the percentile threshold(s) for one or more metrics. Each row represents a trace that is anomalous for a specific metric. When percentile is not provided, returns anomalies across all percentiles (P75, P95, P99). - [Get anomaly counts per percentile](https://revenium.readme.io/reference/get_anomaly_metrics.md): Returns anomaly counts for each percentile threshold (P75, P95, P99) for a specific metric type. An anomaly is a trace where the metric value exceeds the percentile threshold. - [Get Critical Path Analysis](https://revenium.readme.io/reference/get_critical_path.md): Analyzes a distributed trace to find the critical path (longest chain of dependent transactions), bottleneck transactions, and optimization potential. The critical path determines the minimum possible trace duration. - [Get Circular Pattern Analysis](https://revenium.readme.io/reference/get_circular_patterns.md): Detects inefficient circular agent communication patterns (A→B→A, A→B→C→A, etc.). Returns paginated patterns with summary including total waste and severity breakdown. - [Get Agent Interactions Table](https://revenium.readme.io/reference/get_agent_interactions_table.md): Returns paginated list of agent-to-agent interactions for table display. Each row represents an interaction from one agent to another. - [Get Agent Interaction Matrix](https://revenium.readme.io/reference/get_agent_interaction_matrix.md): Returns agent interaction matrix with paginated agent summaries, interactions between agents, and metadata. Used for heatmap visualization of agent-to-agent call patterns. - [List Refunds by Team](https://revenium.readme.io/reference/list_refunds.md): Retrieve a paginated list of refunds for a specified team using RefundSearchParams filters. - [Get a Refund by ID](https://revenium.readme.io/reference/get_refund.md): Retrieves a refund by its unique identifier. - [Get Total Costs By Provider Over Time](https://revenium.readme.io/reference/get_total_cost_by_provider_over_time.md): Get Total Costs By Provider Over Time - [Get Total Cost By Model](https://revenium.readme.io/reference/get_total_cost_by_model.md): Get total cost by model - [Get Tokens Per Minute by AI Provider](https://revenium.readme.io/reference/get_tokens_per_minute_by_provider.md): Get Tokens Per Minute by AI Provider - [Get Cost Metric By Product](https://revenium.readme.io/reference/get_cost_metric_by_product.md): Get cost metric by product - [Get all task types for a team](https://revenium.readme.io/reference/get_unique_task_types_for_team.md): Get all task types for a team - [Get all providers for an team](https://revenium.readme.io/reference/get_unique_providers_for_team.md): Get all providers for an team - [Get Performance Metrics By Agent](https://revenium.readme.io/reference/get_performance_metrics_by_agent.md): Get performance metrics by agent - [Get Performance Metrics By Provider](https://revenium.readme.io/reference/get_performance_metrics_by_provider.md): get performance metrics by provider - [Get Cost Metric By Organization](https://revenium.readme.io/reference/get_cost_metric_by_organization.md): Get cost metric by organization - [Get all model for an team](https://revenium.readme.io/reference/get_unique_models_for_team.md): Get all model for an team - [Returns if the data is connected or not](https://revenium.readme.io/reference/is_connected.md): Returns if the data is connected or not - [Get Cost Metrics By Team Over Time](https://revenium.readme.io/reference/get_cost_metrics_by_team_over_time.md): Get cost metrics by team over time - [Get all model sources for a team](https://revenium.readme.io/reference/get_unique_model_sources_for_team.md): Get all model sources for a team - [Get Cost By Credential](https://revenium.readme.io/reference/get_cost_by_credential.md): Retrieve cost metrics by subscriber credential over time. - [Get Cost Metrics By Agents Over Time](https://revenium.readme.io/reference/get_cost_metrics_by_agent_over_time.md): Get cost metrics by agent over time - [Get Total Cost By Provider](https://revenium.readme.io/reference/get_total_cost_by_provider.md): Get Total Cost By Provider - [Get Cost Metric By Provider Over Time](https://revenium.readme.io/reference/get_cost_metric_by_provider_over_time.md): get cost metric by provider over time - [List AI Completion Metrics by team](https://revenium.readme.io/reference/list_ai_completion_metrics.md): Retrieve a paginated list of AI completion metrics for a specified team. - [Get an AI Completion Metric by its Unique Identifier.](https://revenium.readme.io/reference/get_ai_completion_metric.md): Get an AI completion metric by its unique identifier. - [Get Cost Metric By Agents](https://revenium.readme.io/reference/get_cost_metric_by_agents.md): Get cost metric by agents - [Get Call Count Metrics By Agent](https://revenium.readme.io/reference/get_call_count_metrics_by_agent.md): Get call count metrics by agent - [Get all keys for an team](https://revenium.readme.io/reference/get_unique_keys_for_team.md): Get all keys for an team - [Get all agents for an team](https://revenium.readme.io/reference/get_unique_agents_for_team.md): Get all agents for an team - [Get Revenue Metric By Product](https://revenium.readme.io/reference/get_revenue_metric_by_product.md): Get revenue metric by product - [Get Revenue Metric By Organization](https://revenium.readme.io/reference/get_revenue_metric_by_organization.md): Retrieve revenue metrics by organization for the requested range. - [Get Performance Metrics By Model](https://revenium.readme.io/reference/get_performance_metric_by_model.md): Retrieve performance metrics by model over time. - [Get Percentage Revenue Metric By Product](https://revenium.readme.io/reference/get_percentage_revenue_metric_by_product.md): Retrieve percentage revenue metrics by product for the requested range. - [Get Percentage Revenue Metric By Organization](https://revenium.readme.io/reference/get_percentage_revenue_metric_by_organization.md): Retrieve percentage revenue metrics by organization for the requested range. - [Get Cost by Model Over Time](https://revenium.readme.io/reference/get_cost_by_model_over_time.md): Retrieve cost metrics by model over time. - [Get Cost Metric By Model](https://revenium.readme.io/reference/get_cost_metric_by_model.md): Get cost metric by model - [Get Performance By Trace Type Over Time](https://revenium.readme.io/reference/get_performance_by_trace_type_over_time.md): Retrieve average duration (performance) metrics by trace type over time for chart visualization - [Get Performance Metrics By Trace Type](https://revenium.readme.io/reference/get_performance_metrics_by_trace_type.md): Retrieve paginated list of performance metrics grouped by trace type for table display - [Get Aggregated Trace Metrics](https://revenium.readme.io/reference/get_trace_metrics.md): Retrieve aggregated trace metrics for summary display (total, P95, average, trend) - [Get Cost By Trace Type Over Time](https://revenium.readme.io/reference/get_cost_by_trace_type_over_time.md): Retrieve cost metrics by trace type over time for chart visualization - [Get Cost Metrics By Trace Type](https://revenium.readme.io/reference/get_cost_metrics_by_trace_type.md): Retrieve paginated list of cost metrics grouped by trace type for table display - [Get Efficiency (Transaction Count) By Trace Type Over Time](https://revenium.readme.io/reference/get_efficiency_by_trace_type_over_time.md): Retrieve average transaction count per trace by trace type over time for chart visualization. Shows how many API calls each trace makes on average. - [Get Efficiency Metrics By Trace Type](https://revenium.readme.io/reference/get_efficiency_metrics_by_trace_type.md): Retrieve paginated list of efficiency metrics grouped by trace type for table display - [List all AI metrics across all modalities](https://revenium.readme.io/reference/list_all_ai_metrics.md): Returns a paginated list of AI metrics across all types (completion, audio, video, image). Only common fields are returned. Use the metricType field to identify the specific type. For full type-specific details, use the dedicated endpoints: - /v2/api/sources/metrics/ai/completions - /v2/api/sources/metrics/ai/audio - /v2/api/sources/metrics/ai/video - /v2/api/sources/metrics/ai/images - [Get an AI metric by ID](https://revenium.readme.io/reference/get_ai_metric.md): Returns a single AI metric with common fields only. Use the metricType field to identify the specific type. - [Delete multiple AI Metrics](https://revenium.readme.io/reference/bulk_delete_ai_metrics.md): Soft delete multiple AI metric records of any type (completion, audio, video, image). Records will be marked as inactive but retained in the database. - [Delete an AI Metric](https://revenium.readme.io/reference/delete_ai_metric.md): Soft delete an AI metric record of any type (completion, audio, video, image). The record will be marked as inactive but retained in the database. - [List recent enforcement events for a team](https://revenium.readme.io/reference/list_enforcement_events.md): Returns the most recent enforcement violation events for the team. Includes both shadow-mode evaluations (would-block) and real enforcement actions. Structured fields (ruleName, action, metricType, currentValue, threshold, usagePercent, tenantId) are parsed server-side from the audit-trail `details` string; `rawDetails` is preserved as an escape hatch. - [Batch Save Pricing Dimensions](https://revenium.readme.io/reference/batch_save_pricing_dimensions.md): Replace all pricing dimensions for an AI model with the provided list. Existing dimensions not in the list will be deleted. - [Create Pricing Dimension](https://revenium.readme.io/reference/create_pricing_dimension.md): Create a new pricing dimension for an AI model. - [Update Pricing Dimension](https://revenium.readme.io/reference/update_pricing_dimension.md): Update an existing pricing dimension. - [Delete Pricing Dimension](https://revenium.readme.io/reference/delete_pricing_dimension.md): Delete a pricing dimension. - [Get Pricing for AI Model](https://revenium.readme.io/reference/get_ai_model_pricing.md): Retrieve all pricing dimensions for an AI model, including both global and tenant-specific pricing. - [Get Pricing Coverage](https://revenium.readme.io/reference/get_pricing_coverage.md): Get a summary of which billing units have pricing configured for an AI model. - [Get compiled enforcement rules for a team](https://revenium.readme.io/reference/get_enforcement_rules.md): Retrieve the latest compiled enforcement rules from Redis for the specified team. - [List tool event logs](https://revenium.readme.io/reference/listtoolevents.md): Returns a paginated list of tool event line items for the specified team. Tool events represent tool/function calls that have been processed through the metering pipeline. Supports filtering by date range, tool ID, tool name, tool type, operation, transaction ID, product, and charge amount. Results are sorted by timestamp descending by default. - [Set default payment method for a tenant](https://revenium.readme.io/reference/setdefaultpaymentmethod.md): Sets the specified payment method as the default for the tenant - [Toggle a tenant's strict ingestion mode](https://revenium.readme.io/reference/update_tenant_strict_ingestion_mode.md): Enable or disable strict ingestion mode for the tenant. When enabled, AI ingestion rejects transactions that reference entities (Product, Subscriber, Credential, Consuming Organization) which do not already exist for the tenant, instead of auto-creating them. Defaults to disabled. - [List strict-ingestion rejections for a tenant](https://revenium.readme.io/reference/list_tenant_ingestion_failures.md): Returns a paginated, newest-first list of AI transactions that strict ingestion mode rejected for this tenant, each with structured error details and the (prompt-redacted) original payload. Optionally filtered by error code. - [Get a subscriber by ID](https://revenium.readme.io/reference/get_subscriber.md): Get a subscriber by its unique identifier - [Update a Subscriber](https://revenium.readme.io/reference/update_subscriber.md): Update a new subscriber. - [Delete a Subscriber](https://revenium.readme.io/reference/delete_subscriber.md): Deletes a subscriber - [List Subscribers](https://revenium.readme.io/reference/list_subscribers.md): Retrieve a paginated list of subscribers. - [Create a new Subscriber](https://revenium.readme.io/reference/create_subscriber.md): Creates a new subscriber. - [Get a Subscriber by Email Address](https://revenium.readme.io/reference/get_subscriber_by_email.md): Retrieve a subscriber by their email address. - [List Subscribers of an Organization](https://revenium.readme.io/reference/list_subscribers_by_organization.md): Retrieve a paginated list of subscribers that are direct members of a single organization. - [List Github user mappings](https://revenium.readme.io/reference/listgithubusermappings.md): Lists every email→Github login mapping resolved (auto or manual) for the current organization. - [Create or update a manual Github mapping](https://revenium.readme.io/reference/upsertgithubusermapping.md): Creates or updates a manual mapping; manual mappings always take precedence over auto-resolution. - [Delete a Github mapping](https://revenium.readme.io/reference/deletegithubusermapping.md): Removes the mapping. Auto-resolution will retry on next sync. - [Report Job Outcome](https://revenium.readme.io/reference/report_job_outcome.md): Report the final execution status and business outcome for a completed job. Once reported, outcomes can be updated using PATCH /{agenticJobId}/outcome. Returns 409 Conflict if an outcome has already been reported for this job. - [List Jobs](https://revenium.readme.io/reference/list_jobs.md): Get paginated list of jobs. Jobs represent agentic workflow execution instances that group related AI operations. - [Get Job](https://revenium.readme.io/reference/get_job.md): Get a job by its agentic job ID (user-supplied external identifier). - [Get Job Transactions](https://revenium.readme.io/reference/get_job_transactions.md): Get individual AI transactions for a job, ordered by time. Used for waterfall timeline visualization of job execution. - [Get Job ROI](https://revenium.readme.io/reference/get_job_roi.md): Get ROI metrics for a single job including cost, outcome, and token usage. - [Get Job Types](https://revenium.readme.io/reference/get_job_types.md): Get distinct job type strings for the organization, sorted alphabetically. Null types are excluded. Use this to populate job type filter dropdowns. - [Get Conversion Funnel](https://revenium.readme.io/reference/get_conversion_funnel.md): Get conversion funnel data (total jobs, successful jobs, converted jobs) with optional date range and job type filters. Used for the ROI Dashboard Overview tab. - [Create Job](https://revenium.readme.io/reference/create_job.md): Create a new job. Jobs created via this endpoint will have source=UI. - [Bulk Delete Jobs](https://revenium.readme.io/reference/bulk_delete_jobs.md): Delete multiple jobs by their agentic job IDs. - [Delete Job](https://revenium.readme.io/reference/delete_job.md): Delete a job by its agentic job ID. - [Update Job](https://revenium.readme.io/reference/update_job.md): Update an existing job. Only non-null fields in the request will be applied. - [Update Job Outcome](https://revenium.readme.io/reference/update_job_outcome.md): Update the outcome for a job that has already had its outcome reported. Requires a reason for the update. The update is recorded in the outcome history. Returns 422 if no outcome has been reported yet, or if reason is missing or blank. Returns 409 if a concurrent update conflict is detected. - [Get Outcome History](https://revenium.readme.io/reference/get_job_outcome_history.md): Get the full update history for a job's outcome, ordered by sequence. Sequence 1 is the initial report; sequence 2+ are updates. Returns an empty list if no outcome has been reported. - [Get coding assistant subscription](https://revenium.readme.io/reference/getcodingassistantsubscription.md): Returns the coding assistant subscription configuration for the specified organization and provider. - [Update coding assistant subscription](https://revenium.readme.io/reference/updatecodingassistantsubscription.md): Creates or updates the coding assistant subscription configuration for the specified organization. - [List GitLab user mappings](https://revenium.readme.io/reference/listgitlabusermappings.md): Lists every email-to-GitLab username mapping resolved (auto or manual) for the current organization. - [Create or update a manual GitLab mapping](https://revenium.readme.io/reference/upsertgitlabusermapping.md): Creates or updates a manual mapping; manual mappings always take precedence over auto-resolution. - [Delete a GitLab mapping](https://revenium.readme.io/reference/deletegitlabusermapping.md): Removes the mapping. Auto-resolution will retry on next sync. - [Get a AI Anomaly by ID](https://revenium.readme.io/reference/get_ai_anomaly.md): Get an AI anomaly by its unique identifier. - [Update a New AI Anomaly](https://revenium.readme.io/reference/update_ai_anomaly.md): Updates a new AI Anomaly. - [Delete an AI Anomaly](https://revenium.readme.io/reference/delete_ai_anomaly.md): Deletes an AI anomaly by its unique identifier. - [List AI Anomaly](https://revenium.readme.io/reference/list_ai_anomalies.md): Retrieve a paginated list of AI Anomalies. - [Create a New AI Anomaly](https://revenium.readme.io/reference/create_ai_anomaly.md): Creates a new AI anomaly alert configuration for monitoring AI metrics and costs - [Get Metric from AI Anomaly](https://revenium.readme.io/reference/get_metric_from_builder.md): Retrieve the metric to check for alert monitor from the AI anomaly builder. - [Clear all AI Anomalies](https://revenium.readme.io/reference/clear_all_ai_anomalies.md): Clears all AI anomalies. - [Get provider dimensions](https://revenium.readme.io/reference/getproviderdimensions.md): Returns available workspaces, API keys, providers, models, and supported metric/dimension/period capabilities for building provider-based alerts. - [List per-user attributed costs](https://revenium.readme.io/reference/listusercostattribution.md): Returns per-user cost attribution based on proportional token distribution of actual provider billing data. - [Get per-user cost detail breakdown](https://revenium.readme.io/reference/getusercostdetail.md): Returns daily and model-level breakdown of attributed costs for a specific user. - [Get Claude Code contributions by user](https://revenium.readme.io/reference/getclaudecodecontributions.md): Returns PRs, commits, and lines of code contributed with Claude Code assistance, sourced from Anthropic Analytics API. - [Trigger Claude Code contributions sync](https://revenium.readme.io/reference/syncclaudecodecontributions.md): Syncs contribution data from the Anthropic Analytics API using the admin key stored in Providers. Returns 202 Accepted immediately; data populates asynchronously. - [Get VCS PRs/MRs by team member](https://revenium.readme.io/reference/getvcsprssummary.md): Returns merged PR/MR counts grouped by platform login for the organization, filtered by VCS source (github or gitlab). With granularity=day, returns one row per (login, calendar day) instead of a single per-login total; days are UTC calendar dates (the underlying metric_date has no time component) and are zero-filled for logins with at least one merged PR in range, so quiet days are returned as 0 rather than omitted. Days older than the trailing ~30-day sync window are frozen at their last sync and may miss late-recorded activity; day-level history exists from the org's first sync onward. granularity=day is capped at 35 days per request; use granularity=window for longer ranges. granularity=week or month returns one row per (login, bucket) instead, zero-filled per bucket rather than per day; weeks are ISO-8601 (Monday start) and months are calendar months, both in UTC. week and month are capped at 400 days per request. - [Get a person's primary org-unit assignment](https://revenium.readme.io/reference/getpersonorgunit.md): Returns the directory person's currently-open primary org-unit assignment. - [Set a person's primary org-unit assignment](https://revenium.readme.io/reference/assignpersonorgunit.md): Assigns the directory person's primary org unit effective now, recorded as a MANUAL assignment (which the directory-sync mapping engine never overrides). Point-in-time history is preserved: prior usage stays attributed to the previous unit. - [Clear a person's primary org-unit assignment](https://revenium.readme.io/reference/clearpersonorgunit.md): Closes the person's open primary assignment effective now. History is preserved (the closed row keeps its interval); returns 204 whether or not an open assignment existed. - [Set a primary org-unit assignment by subscriber email](https://revenium.readme.io/reference/assignorgunitbyemail.md): Resolves the email to a directory person (created when missing, source=manual) via the same deterministic bridge the CSV import uses, then assigns the primary org unit effective now as a MANUAL assignment. Serves the unassigned-subscribers flow, where a person may not exist yet. - [List org units](https://revenium.readme.io/reference/listorgunits.md): Lists every active org unit for the current organization (id, name, parentId, path, source, externalRef). The frontend builds the tree from parentId/path. - [Create an org unit](https://revenium.readme.io/reference/createorgunit.md): Creates a new org unit under the given parent (or as a root when parentId is omitted). Always created with source=MANUAL. - [Bulk import org units and primary memberships from CSV](https://revenium.readme.io/reference/importorgunitscsv.md): Accepts multipart/form-data with a file field named 'file'. Header: email,org_unit_path[,is_primary]. org_unit_path is slash-separated unit names from root (e.g. Engineering/Platform/Payments); missing units are created. Emails resolve to directory people (created when missing, source=csv); no operational user is ever created. dryRun=true runs full validation with zero writes. - [Delete an org unit](https://revenium.readme.io/reference/deleteorgunit.md): Soft-deletes the unit. Refuses (409) if the unit has active children; closes any open memberships on the unit in the same transaction. - [Rename and/or reparent an org unit](https://revenium.readme.io/reference/updateorgunit.md): Updates name when present. Moves the unit to parentId (null = root) only when reparent=true — this makes parentId:null unambiguous ("move to root" vs. "leave parent unchanged"). A payload with name omitted and reparent=false performs no mutation and returns the unit's current state (equivalent to a GET) rather than rejecting the request. - [List unassigned subscribers](https://revenium.readme.io/reference/listunassignedsubscribers.md): Lists users in the current organization with no open primary org-unit membership. - [List AI Image Metrics by team](https://revenium.readme.io/reference/list_ai_image_metrics.md): Retrieve a paginated list of AI image metrics for a specified team. Includes image-specific fields like resolution, quality, style, format, and image counts. - [Get an AI Image Metric by ID](https://revenium.readme.io/reference/get_ai_image_metric.md): Returns a single AI image metric with all image-specific fields. - [Get agent by ID](https://revenium.readme.io/reference/get_agent.md): Retrieve a specific registered agent - [Update agent](https://revenium.readme.io/reference/update_agent.md): Update an agent's display name or owner. Omitted fields are left unchanged; a set owner cannot be cleared. The telemetry key and team are immutable — rename/merge is not supported - [Delete agent](https://revenium.readme.io/reference/delete_agent.md): Archive an agent registration. Telemetry referencing the agent's telemetry key is unaffected - [List agents](https://revenium.readme.io/reference/list_agents.md): List all registered agents for the team - [Register agent](https://revenium.readme.io/reference/create_agent.md): Register an agent for the team. The telemetry key is the exact string sent in the `agent` field of telemetry, matched case-insensitively and unique per team. Registering a key that has not been observed yet is allowed - [List discovered agents](https://revenium.readme.io/reference/list_discovered_agents.md): List distinct agent values observed in telemetry for the team over the requested period, with activity summary and registration status. Case and surrounding-whitespace variants of the same value are grouped together. Discovery never registers agents — use the create endpoint to register an observed value - [Get Budget Progress for AI Anomaly](https://revenium.readme.io/reference/get_budget_progress.md): Retrieve budget progress tracking for a CUMULATIVE_USAGE anomaly. Returns current value, remaining budget, percent used, and ahead/behind vs linear expectation. - [Get Bulk Budget Progress for Multiple AI Anomalies](https://revenium.readme.io/reference/get_budget_progress_bulk.md): Retrieve budget progress tracking for multiple CUMULATIVE_USAGE anomalies in a single request. Returns per-item success or error results, preserving input order. Supports up to 50 anomaly IDs. Duplicate IDs are allowed and produce corresponding duplicate results. - [Get Budget Portfolio for Tenant](https://revenium.readme.io/reference/get_budget_portfolio.md): Retrieve a paginated portfolio view of all budget alerts for the authenticated tenant. Returns current progress, risk assessment, and window boundaries for each budget. Supports sorting by risk level or percent used. - [List API Key Analytics](https://revenium.readme.io/reference/list_api_keys.md): Retrieves API key analytics data grouped by API key for the authenticated user's organization. Returns paginated API key-level costs with detailed usage metrics All costs are in USD. Token counts include all token types (input, output, cache). - [List directory mappings](https://revenium.readme.io/reference/listdirectorylinkmappings.md): Lists every email→DirectoryPerson mapping resolved (auto or manual) for the current organization. - [Create or update a manual directory mapping](https://revenium.readme.io/reference/upsertdirectorylinkmapping.md): Creates or updates a manual mapping; manual mappings always take precedence over auto-resolution. - [Delete a directory mapping](https://revenium.readme.io/reference/deletedirectorylinkmapping.md): Removes the mapping. Auto-resolution will retry on next sync. - [List Period Charges (keyset/cursor)](https://revenium.readme.io/reference/list_period_charges.md): Canonical keyset-paginated list of period charges for an organization. Returns up to `size` items in `_embedded.periodChargeResourceList` plus an opaque `cursor` (top-level, `null` on the last page) and a `hasMore` flag — no `totalElements`, no `totalPages`. Pass the previous response's `cursor` back as the `cursor` query param to fetch the next page. Replaces the prior offset/`PagedModel` contract and the deprecated `/period-charges/cursor` sibling. Optional `invoiceId` scopes to a single invoice; optional `startDate`/`endDate` filter on the `created` timestamp. - [Get a Period Charge by ID](https://revenium.readme.io/reference/get_period_charge.md): Get a period charge by its unique identifier. - [List Cost Controls for a team](https://revenium.readme.io/reference/list_cost_controls.md): Returns a paginated list of cost controls for the specified team. Optional `query` parameter filters by rule name (case-insensitive substring match). - [Create a Cost Control](https://revenium.readme.io/reference/create_cost_control.md): Creates a new cost control for cost enforcement. Shadow mode evaluates without blocking; non-shadow rules block AI transactions when the threshold is crossed within the rolling window. - [Get a Cost Control by ID](https://revenium.readme.io/reference/get_cost_control.md): Retrieve a single cost control by its Revenium-generated identifier. - [Delete a Cost Control](https://revenium.readme.io/reference/delete_cost_control.md): Soft-deletes a cost control. The rule is marked inactive and removed from evaluation but retained for historical audit. - [Update a Cost Control (partial)](https://revenium.readme.io/reference/update_cost_control.md): PATCH — only fields present in the request body are applied. Passing `filters` (including an empty list) replaces the full filter set; omit `filters` to leave it unchanged. Same replacement semantics apply to `notificationChannelIds`. Nullable scalar fields (`description`, `denyMessage`, `warnThreshold`, `hardLimit`, `groupBy`) use the `Patchable` tri-state contract: **omit the field** to leave the persisted value unchanged; pass explicit JSON **`null`** to clear a previously-set value; pass a non-null value to set it. - [Generate chart data](https://revenium.readme.io/reference/generate_chart_data.md): Generate chart data based on the provided configuration. Executes queries against AI completion metrics and returns chart-ready data. - [Get available chart builder data options](https://revenium.readme.io/reference/get_chart_builder_available_data.md): Provides all available metrics, entity types, and grouping options for chart creation - [Withdraw a PENDING join request](https://revenium.readme.io/reference/withdraw_signup_join_request.md): Withdraws the caller's own PENDING join request. No notifications are sent. - [Proceed with solo provisioning instead of joining](https://revenium.readme.io/reference/signup_proceed_solo.md): Records the caller's explicit choice to create their own workspace instead of joining, then provisions it synchronously. After this returns, the frontend re-authenticates normally. - [Request to join the workspace that owns the caller's verified email domain](https://revenium.readme.io/reference/create_signup_join_request.md): Creates (or idempotently returns) a PENDING join request and notifies the target workspace's admins. - [Get the caller's signup status](https://revenium.readme.io/reference/get_signup_status.md): Returns the caller's current state in the domain-join flow, derived from their verified email. Never reveals tenant identity. - [Reset Budget Accumulation for AI Anomaly](https://revenium.readme.io/reference/resetbudgetaccumulation.md): Reset the in-flight period accumulation for a CUMULATIVE_USAGE anomaly. The natural period boundary is unchanged. - [Get Squad Executions](https://revenium.readme.io/reference/list_squad_executions.md): Get paginated list of squad executions (individual runs of a multi-agent workflow) with aggregated metrics. Can be filtered by date range. - [Get Squad Detail](https://revenium.readme.io/reference/get_squad_detail.md): Get detailed information for a specific squad including all aggregated metrics, agent breakdown showing each agent's contribution (role, tokens, cost, duration), and trace references for drill-down. - [Get Squad Timeline](https://revenium.readme.io/reference/get_squad_timeline.md): Get ordered sequence of events for a squad execution. Returns timeline data suitable for waterfall visualization, including each transaction's start time, duration, model, cost, and agent role. - [Get Squads](https://revenium.readme.io/reference/list_squads.md): Get paginated list of squads (groups of collaborating agents) with aggregated execution metrics. Squads group multiple executions by their conceptual purpose, enabling consistent tracking even when squad names change. - [Get Executions for Squad](https://revenium.readme.io/reference/list_executions_by_squad.md): Get paginated list of executions for a specific squad. Returns individual squad execution instances that belong to the squad. - [Get a Metering Element Definition by ID](https://revenium.readme.io/reference/get_metering_element_definition.md): Get a metering element definition by its unique identifier. - [Update a Metering Element Definition](https://revenium.readme.io/reference/update_metering_element_definition.md): Update a metering element definition for a specific team. - [Delete a Metering Element Definition](https://revenium.readme.io/reference/delete_metering_element_definition.md): Deletes a specific metering element definition by its ID - [List Metering Element Definitions by Team](https://revenium.readme.io/reference/list_metering_elements.md): Retrieve a paginated list of metering elements for a specified team. - [Create a new Metering Element Definition](https://revenium.readme.io/reference/create_metering_element_definition.md): Creates a new metering element definition for a specific team. - [List AI Alerts](https://revenium.readme.io/reference/list_ai_alerts.md): Retrieve a paginated list of AI alerts. - [Get AI Alert](https://revenium.readme.io/reference/get_ai_alert.md): Retrieve an AI alert by its unique identifier. - [Provider billing chart](https://revenium.readme.io/reference/get_provider_chart.md): Returns provider billing data shaped as chart series for the selected metric, dimension and mode. metric: totalCost | requestCount | tokenCount | inputTokens | outputTokens dimension: none | provider | model | workspace | apiKey | usageType mode: time (one series per dimension value over date buckets) | aggregate (one series, one point per dimension value) grain: day | week | month (time mode only) - [Get User Metrics Over Time](https://revenium.readme.io/reference/get_trace_user_metrics_over_time.md): Retrieve usage metrics grouped by user email over time for the UserUsageOverTimeChart component in the Claude Code dashboard - [Get Token Metrics Over Time](https://revenium.readme.io/reference/get_trace_tokens_over_time.md): Retrieve token usage metrics over time (input, output, cache read tokens) for the TokenUsageOverTimeChart component in the Claude Code dashboard - [Get Organization Metrics Over Time](https://revenium.readme.io/reference/get_trace_organization_metrics_over_time.md): Retrieve usage metrics grouped by consuming organization over time for organization-level filtering in the Claude Code dashboard - [Get Model Metrics Over Time](https://revenium.readme.io/reference/get_trace_model_metrics_over_time.md): Retrieve usage metrics grouped by model name over time for the ModelUsageOverTimeChart component in the Claude Code dashboard - [Get Trace Metrics By User](https://revenium.readme.io/reference/get_trace_metrics_by_user.md): Retrieve usage metrics grouped by user email for the UserUsageTable component in the Claude Code dashboard - [Get Trace Metrics By Organization](https://revenium.readme.io/reference/get_trace_metrics_by_organization.md): Retrieve usage metrics grouped by consuming organization for organization-level filtering in the Claude Code dashboard - [Get Trace Metrics By Model](https://revenium.readme.io/reference/get_trace_metrics_by_model.md): Retrieve usage metrics grouped by model for the CostByModelTable component in the Claude Code dashboard - [Get prompt data for an AI completion](https://revenium.readme.io/reference/get_ai_completion_prompts.md): Returns only the prompt-related data for an AI completion metric. This endpoint provides a focused view of just the prompt capture fields: - systemPrompt: System instructions sent to the model - inputMessages: User input messages (JSON array) - outputResponse: Assistant output content - promptsTruncated: Whether prompts were truncated due to size limits Use this endpoint when you only need prompt data without the full completion details. **Permission Required**: User must have the `canViewPromptData` permission enabled by a Tenant Administrator, or be a System Administrator or Tenant Administrator (who have implicit access). - [Get reference data for AI completion metric search filters](https://revenium.readme.io/reference/get_ai_completion_reference_data.md): Returns reference data for populating search filter dropdowns. This includes: - traceTypes: Dynamic list of trace types found in the team's data - stopReasons: Static list of all possible stop reason values Use this endpoint to populate dropdown options in search forms. - [Get Call Count Metrics By Agents Over Time](https://revenium.readme.io/reference/get_call_count_metrics_by_agents_over_time.md): Get call count metrics by agent over time (time series for charting request volume) - [Returns per-source data-connection status for the current tenant](https://revenium.readme.io/reference/gettenantdatasourcestatus.md): Breaks the aggregate `isConnected` check out by ingestion pathway (BACK-2278) — provider billing sync, direct SDK/API metering, coding-assistant telemetry, and distributed traces — each with whether it has ever received data and when it last did, so callers can route and message by source type instead of relying on a single aggregate flag. Note on `traces`: this requires a multi-hop/agentic chain (a parent-child link, or multiple events sharing a traceId) — it is not simply "has any call been traced," since every ingested event carries a traceId by default (defaulting to its own transaction id when none is set). `providerBilling.lastReceived` is day-level precision only (normalized to midnight UTC), since provider-billing syncs are not timestamped to the moment. - [Get a Subscription by ID](https://revenium.readme.io/reference/get_subscription.md): Get a subscription by its unique identifier - [Update a Subscription](https://revenium.readme.io/reference/update_subscription.md): Update a subscription - [Delete a Subscription](https://revenium.readme.io/reference/delete_subscription.md): Delete a subscription - [Patch a Subscription](https://revenium.readme.io/reference/patch_subscription.md): Patch a subscription - [List Subscriptions](https://revenium.readme.io/reference/list_subscriptions.md): List subscriptions - [Create a new Subscription](https://revenium.readme.io/reference/create_subscription.md): Creates a new subscription for a product. Note: The product must have at least one data source (asset) configured. - [Get the Total Quota consumed for a Subscription](https://revenium.readme.io/reference/get_subscription_quota_consumed.md): Get the total quota consumed for a subscription - [Get Current Period Billed Amount for a Subscription](https://revenium.readme.io/reference/get_subscription_billed_amount.md): Returns the total amount on the invoice for the subscription's current billing period. This total is written by the invoice generation workflow on a billing cadence and is not recomputed on each metering event. Returns 0 if invoice generation has not yet run for the current period. For a real-time view of consumption against quota, see GET /subscriptions/{id}/quota-consumed. - [Get chart definition by ID](https://revenium.readme.io/reference/get_chart_definition.md): Retrieve a specific saved chart configuration - [Update chart definition](https://revenium.readme.io/reference/update_chart_definition.md): Update an existing chart configuration - [Delete chart definition](https://revenium.readme.io/reference/delete_chart_definition.md): Delete a saved chart configuration - [List chart definitions](https://revenium.readme.io/reference/list_chart_definitions.md): List all saved chart definitions for the team - [Create chart definition](https://revenium.readme.io/reference/create_chart_definition.md): Save a new chart configuration for reuse - [List AI Video Metrics by team](https://revenium.readme.io/reference/list_ai_video_metrics.md): Retrieve a paginated list of AI video metrics for a specified team. Includes video-specific fields like duration, resolution, credits consumed, and async operation status. - [Get an AI Video Metric by ID](https://revenium.readme.io/reference/get_ai_video_metric.md): Returns a single AI video metric with all video-specific fields. - [Get a Product by ID](https://revenium.readme.io/reference/get_product.md): Get a product by its unique identifier. - [Update a Product](https://revenium.readme.io/reference/update_product.md): Update a product by id. The version field will be automatically incremented by the API. - [Delete a Product](https://revenium.readme.io/reference/delete_product.md): Delete a product by id - [Update a Product's Logo](https://revenium.readme.io/reference/update_product_logo.md): Updates the logo for the specified product. - [List Products](https://revenium.readme.io/reference/list_products.md): List products - [Create a new Product](https://revenium.readme.io/reference/create_product.md): Creates a new product. - [Delete a Product's Logo](https://revenium.readme.io/reference/delete_product_logo.md): Deletes the logo for the specified product. - [Get Product Audit History](https://revenium.readme.io/reference/get_product_audit_history.md): Retrieves the audit history for a specific product with pagination. - [List integration credentials](https://revenium.readme.io/reference/listintegrationcredentials.md): Lists all active integration credentials for the authenticated user's organization. Tokens are NEVER returned. - [Create or replace an integration credential](https://revenium.readme.io/reference/createintegrationcredential.md): Creates a new credential for the given integration_type, or replaces the existing one (one credential per integration_type per org). The token is validated against the provider before persistence. - [Trigger a manual sync for the credential](https://revenium.readme.io/reference/syncintegrationcredential.md): Forces an immediate refresh of the integration data (e.g., Github or GitLab productivity sync) for the given credential. - [Delete an integration credential](https://revenium.readme.io/reference/deleteintegrationcredential.md): Soft-deletes the credential. Subsequent reads will not return it. - [Update integration credential metadata](https://revenium.readme.io/reference/updateintegrationcredentialmetadata.md): Updates only the metadata (e.g., allowedRepos, claudeCoAuthorPatterns) without re-validating the token. - [List a GitHub organization's repositories](https://revenium.readme.io/reference/listgithuborgrepos.md): Lists the repositories of a GitHub organization for the connect/edit repo picker. Provide EITHER a raw 'token' (new connection, not yet stored) OR a 'credentialId' referencing an existing stored credential whose token is decrypted server-side. The token is used only to call GitHub and is NEVER logged or returned. - [Meter an API response](https://revenium.readme.io/reference/meter_api_response.md): Meter an API response - [Meter an API request](https://revenium.readme.io/reference/meter_api_request.md): Meter an API request - [Meter AI Completion](https://revenium.readme.io/reference/meter_ai_completion.md): Submit AI completion metadata for metering and billing purposes. - [Meter AI Video Operation](https://revenium.readme.io/reference/meter_ai_video.md): Submit video generation/editing metadata for metering and billing purposes. - [Meter AI Audio Operation](https://revenium.readme.io/reference/meter_ai_audio.md): Submit audio operation metadata (transcription, TTS, translation, real-time audio) for metering and billing purposes. - [Accept OTLP traces](https://revenium.readme.io/reference/otlp_traces.md): Receive OTLP trace spans containing AI completion data. Accepts both application/json (shown below) and application/x-protobuf (used by default by the standard OpenTelemetry SDKs; refer to the OTLP spec). Supported providers: OpenTelemetry GenAI semantic conventions. Provider is auto-detected from resource attributes. - [Accept OTLP metrics](https://revenium.readme.io/reference/otlp_metrics.md): Receive OTLP metrics containing AI usage data (tokens, costs). Accepts both application/json (shown below) and application/x-protobuf (used by default by the standard OpenTelemetry SDKs; refer to the OTLP spec). Provider is auto-detected from resource attributes. Note: Claude Code metrics are intentionally not processed and produce no records — Claude Code's per-call cost and token data is captured via the /v1/logs endpoint instead. Sending Claude Code metric payloads here is harmless but yields processedEvents=0. - [Accept OTLP logs](https://revenium.readme.io/reference/otlp_logs.md): Receive OTLP log events containing AI completion metrics. Accepts both application/json (shown below) and application/x-protobuf (used by default by the standard OpenTelemetry SDKs; refer to the OTLP spec). Supported providers: Claude Code. Provider is auto-detected from resource attributes. - [Accept unified OTLP data](https://revenium.readme.io/reference/otlp_unified.md): Receive OTLP data containing logs and/or metrics in a single request. This endpoint handles SDKs (like Gemini CLI) that don't append standard /v1/logs or /v1/metrics suffixes. - [Accept unified OTLP data](https://revenium.readme.io/reference/otlp_unified_1.md): Receive OTLP data containing logs and/or metrics in a single request. This endpoint handles SDKs (like Gemini CLI) that don't append standard /v1/logs or /v1/metrics suffixes. - [Meter AI Image Operation](https://revenium.readme.io/reference/meter_ai_images.md): Submit image generation/editing metadata for metering and billing purposes. - [Meter an event](https://revenium.readme.io/reference/meter_event.md): Submit a generic metering event with a flexible payload structure. Use this endpoint to meter custom events that you wish to track in Revenium. The payload should contain any key-value pairs representing metrics to track or rate for usage-based revenue calculation. The key values sent here will be created as 'metering elements' if they do not already exist, and rated according to pricing definitions for the relevant metering element on a product if they do. - [Meter Tool Event](https://revenium.readme.io/reference/meter_tool_event.md): Submit tool/function call metadata for metering and billing purposes. - [Get agent tool cost breakdown](https://revenium.readme.io/reference/get_api-v2-analytics-agent-tool-breakdown-1.md): Returns cost per (agent, tool) pair for the specified date range, including tool type and call count. - [Get average time by agent](https://revenium.readme.io/reference/get_api-v2-analytics-avg-time-by-agent-1.md): Returns the average request duration (in seconds) grouped by AI agent for the specified time period. Useful for identifying performance bottlenecks and optimizing agent configurations. - [Get iceberg cost breakdown by agent](https://revenium.readme.io/reference/get_api-v2-analytics-iceberg-cost-by-agent-1.md): Returns per-agent cost data shaped for the iceberg chart: token costs as positive values (tip of the iceberg) and tool costs as negative values (hidden mass below), with tool costs broken down by individual tool name. - [Get job type ROI summary](https://revenium.readme.io/reference/get_api-v2-analytics-jobs-roi-summary-1.md): Returns ROI metrics aggregated by job type for the specified date range, including cost breakdown, value, and overall ROI summary. - [Get cost breakdown by agent](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-agent-1.md): Returns cost metrics grouped by AI agent over time for the specified date range. Data is bucketed by an automatically determined interval (hourly, daily, or monthly) based on the time span. Useful for tracking agent cost trends and identifying spending patterns. - [Get aggregated cost by agent](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-agent-aggregated-1.md): Returns the total aggregated cost grouped by AI agent for the specified time period. Useful for comparing overall spending across different agents without time-series granularity. Results are paginated and include HAL-formatted links for navigation. - [Get cost breakdown by API key](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-api-key-1.md): Returns cost metrics grouped by API key over time for the specified date range. Enables tracking of costs associated with specific API credentials, useful for identifying high-usage keys or allocating costs to specific integrations. - [Get aggregated cost by API key](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-api-key-aggregated-1.md): Returns the total aggregated cost grouped by API key for the specified time period. Provides a summary view of spending across different API keys without time-series breakdown. - [Get cost breakdown by model](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-model-1.md): Returns cost metrics grouped by AI model over time for the specified date range. Data is automatically bucketed by interval based on the time span. Useful for analyzing model cost trends and optimizing model selection based on cost efficiency. - [Get aggregated cost by model](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-model-aggregated-1.md): Returns the total aggregated cost grouped by AI model for the specified time period. Provides a summary view of spending across different models (e.g., GPT-4, Claude, etc.) without time-series breakdown. - [Get cost breakdown by organization](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-organization-1.md): Returns cost metrics grouped by organization over time for the specified date range. Enables cost allocation and tracking across different organizational units or business entities within your tenant. - [Get aggregated cost by organization](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-organization-aggregated-1.md): Returns the total aggregated cost grouped by organization for the specified time period. Provides a summary view of spending across different organizations without time-series breakdown. - [Get cost breakdown by product](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-product-1.md): Returns cost metrics grouped by product over time for the specified date range. Enables tracking of AI costs associated with specific products or services, useful for product-level P&L analysis and cost optimization. - [Get aggregated cost by product](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-product-aggregated-1.md): Returns the total aggregated cost grouped by product for the specified time period. Provides a summary view of AI spending attributed to each product without time-series granularity. - [Get cost breakdown by provider](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-provider-1.md): Returns cost metrics grouped by AI provider (e.g., OpenAI, Anthropic, Google) over time for the specified date range. Useful for comparing spending across different AI vendors and optimizing provider selection. - [Get aggregated cost by provider](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-provider-aggregated-1.md): Returns the total aggregated cost grouped by AI provider for the specified time period. Provides a summary view of spending across different providers (e.g., OpenAI, Anthropic) without time-series breakdown. - [Get cost breakdown by team](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-team-1.md): Returns cost metrics grouped by team over time for the specified date range. Enables cost allocation and chargeback across different teams within your organization, supporting departmental budgeting and accountability. - [Get cost breakdown by user](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-user-1.md): Returns cost, request count, and token metrics grouped by subscriber email over time. Data is bucketed by an automatically determined interval based on the time span. Each user group contains three metrics: cost, request count, and total tokens. Useful for attributing AI coding assistant spend to individual engineers. - [Get aggregated cost by user](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-user-aggregated-1.md): Returns total cost, request count, and token metrics grouped by subscriber email for the specified period. Each user group contains three metrics. Results are sorted by total cost descending. Useful for identifying top spenders and budget allocation per engineer. - [Get cost breakdown by tool](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-tool-1.md): Returns cost metrics grouped by tool ID over time. Shows external tool and service costs for each registered tool. - [Get tool cost by agent](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-tool-agent-1.md): Returns total tool cost grouped by agent for the specified date range. - [Get aggregated cost by tool](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-tool-aggregated-1.md): Returns total cost per tool for the specified date range without time bucketing. Includes tool type and provider metadata. - [Get cost breakdown by tool provider](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-tool-provider-1.md): Returns cost metrics grouped by tool provider (e.g., Equifax, Plaid, Snowflake) over time. - [Get aggregated cost by tool provider](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-tool-provider-aggregated-1.md): Returns total cost per tool provider for the specified date range without time bucketing. - [Get cost by vendor](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-vendor-1.md): Returns aggregated cost metrics grouped by vendor for the specified time period. Provides a consolidated view of spending across AI service providers, useful for vendor management and contract negotiations. - [Get cost per customer](https://revenium.readme.io/reference/get_api-v2-analytics-cost-per-customer-1.md): Returns aggregated cost metrics grouped by customer (subscriber) for the specified time period. Enables understanding of AI costs incurred to serve each customer, essential for pricing decisions and customer profitability analysis. - [Get customer cost over time](https://revenium.readme.io/reference/get_api-v2-analytics-customer-cost-1.md): Returns cost metrics per customer over time for the specified date range. Tracks how customer-attributed AI costs evolve, useful for identifying cost trends, detecting anomalies, and forecasting future customer-related expenses. - [Get aggregated cost by customer](https://revenium.readme.io/reference/get_api-v2-analytics-customer-cost-aggregated-1.md): Returns the total aggregated cost grouped by customer for the specified time period. Provides a summary view of spending across different customers without time-series breakdown. - [Get profit margin per customer](https://revenium.readme.io/reference/get_api-v2-analytics-profit-margin-per-customer-1.md): Returns profit margin metrics (revenue minus cost) grouped by customer for the specified time period. Calculates the profitability of AI services for each customer, essential for identifying high-value customers and optimizing pricing strategies. - [Get profit margin per product](https://revenium.readme.io/reference/get_api-v2-analytics-profit-margin-per-product-1.md): Returns profit margin metrics (revenue minus cost) grouped by product for the specified time period. Enables product-level profitability analysis to identify which AI-powered products or features generate the most value. - [Get response time by model](https://revenium.readme.io/reference/get_api-v2-analytics-response-time-by-model-1.md): Returns average response time (latency) metrics grouped by AI model for the specified time period. Useful for performance monitoring, SLA compliance, and model selection based on speed requirements. - [Get response time by vendor](https://revenium.readme.io/reference/get_api-v2-analytics-response-time-by-vendor-1.md): Returns average response time (latency) metrics grouped by AI vendor for the specified time period. Enables comparison of provider performance, useful for vendor evaluation and ensuring quality of service across different AI providers. - [Get revenue per customer](https://revenium.readme.io/reference/get_api-v2-analytics-revenue-per-customer-1.md): Returns revenue metrics grouped by customer (subscriber) for the specified time period. Tracks the revenue generated from AI services attributed to each customer, essential for customer value analysis and revenue forecasting. - [Get revenue per product](https://revenium.readme.io/reference/get_api-v2-analytics-revenue-per-product-1.md): Returns revenue metrics grouped by product for the specified time period. Enables tracking of AI-generated revenue by product line, useful for product performance analysis and strategic planning. - [Get aggregated task completion count](https://revenium.readme.io/reference/get_api-v2-analytics-task-completion-aggregated-1.md): Returns the total count of completed tasks for the specified time period. Optionally filter by specific agents. Useful for getting a single summary metric without time-series breakdown. - [Get task completion over time](https://revenium.readme.io/reference/get_api-v2-analytics-task-completion-1.md): Returns the number of completed tasks over time for the specified date range. Data is bucketed by an automatically determined interval (hourly, daily, or monthly) based on the time span. Optionally filter by a specific agent. - [Get task performance by agent](https://revenium.readme.io/reference/get_api-v2-analytics-task-performance-by-agent-1.md): Returns task completion and performance metrics grouped by AI agent for the specified time period. Includes success rates, completion times, and efficiency metrics. Useful for evaluating agent effectiveness and optimizing agent configurations. - [Get tasks completed by agent](https://revenium.readme.io/reference/get_api-v2-analytics-tasks-completed-by-agent-1.md): Returns the number of tasks completed grouped by AI agent for the specified time period. Useful for measuring agent productivity and workload distribution. - [Get average tool latency](https://revenium.readme.io/reference/get_api-v2-analytics-tool-latency-1.md): Returns the average execution duration in milliseconds per tool for the specified date range. - [Get tool success rate](https://revenium.readme.io/reference/get_api-v2-analytics-tool-success-rate-1.md): Returns the success rate (percentage) per tool for the specified date range, ordered from lowest to highest. - [Get tokens per minute by provider](https://revenium.readme.io/reference/get_api-v2-analytics-tokens-per-minute-1.md): Returns token throughput metrics (tokens processed per minute) grouped by provider for the specified time period. Useful for capacity planning, rate limit monitoring, and understanding usage patterns across different AI providers. - [Get aggregated tokens per minute](https://revenium.readme.io/reference/get_api-v2-analytics-tokens-per-minute-aggregated-1.md): Returns the average tokens per minute grouped by provider for the specified time period. Provides a summary view of token throughput across different providers without time-series breakdown. - [Get token vs tool cost comparison](https://revenium.readme.io/reference/get_api-v2-analytics-token-vs-tool-cost-1.md): Returns cost metrics grouped by cost category (Token Costs vs Tool Costs) over time. Shows the dramatic contrast between AI token costs and external tool/service costs. - [Get top movers by cost change](https://revenium.readme.io/reference/get_api-v2-analytics-top-movers-1.md): Returns entities (models, agents, products, etc.) with the largest cost changes compared to a previous period. Identifies significant increases or decreases in spending, useful for anomaly detection, trend analysis, and proactive cost management. - [Get top tools by call count](https://revenium.readme.io/reference/get_api-v2-analytics-top-tools-by-call-count-1.md): Returns tools ranked by total call count for the specified date range, paginated via page/size. - [Get trace-level cost distribution](https://revenium.readme.io/reference/get_api-v2-analytics-trace-cost-distribution-1.md): Returns per-trace cost data points (up to 500 most expensive) with distribution summary stats (p50, p90, p95, p99, mean, stddev). Optionally accepts a threshold parameter to count traces exceeding it. - [Get cost breakdown by task type](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-task.md): Returns cost metrics grouped by task type over time for the specified date range. Data is automatically bucketed by interval based on the time span. - [Get aggregated cost by task type](https://revenium.readme.io/reference/get_api-v2-analytics-cost-by-task-aggregated.md): Returns the total aggregated cost grouped by task type for the specified time period. - [Get token usage broken down by type](https://revenium.readme.io/reference/get_api-v2-analytics-token-breakdown-by-type.md): Returns token consumption over time grouped by token type: Input, Output, Cache Read, and Cache Creation. Useful for understanding prompt caching effectiveness — the ratio of Cache Read to Input tokens indicates how much of the prompt is being served from cache. - [Get total transaction count by team](https://revenium.readme.io/reference/get_api-v2-analytics-transaction-count-by-team.md): Returns the total number of AI transactions for the team over the specified date range. Provides a single summary metric (transaction volume) without time-series or per-entity breakdown, answering "how many transactions did I have this period". - [Get available agents](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-agents-1.md): Returns distinct agent values for the specified time period. Used to populate filter dropdowns. - [Get available API keys](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-api-keys-1.md): Returns distinct API key id/name pairs for the specified time period. Used to populate filter dropdowns. - [Get available customers](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-customers-1.md): Returns distinct customer id/name pairs for the specified time period. Used to populate filter dropdowns. - [Get available models](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-models-1.md): Returns distinct model values for the specified time period. Used to populate filter dropdowns. - [Get available organizations](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-organizations-1.md): Returns distinct organization id/name pairs for the specified time period. Used to populate filter dropdowns. - [Get available products](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-products-1.md): Returns distinct product id/name pairs for the specified time period. Used to populate filter dropdowns. - [Get available providers](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-providers-1.md): Returns distinct provider values for the specified time period. Used to populate filter dropdowns. - [Get available teams](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-teams-1.md): Returns distinct team (subscriber) values for the specified time period. Used to populate filter dropdowns. - [Get available tool providers](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-tool-providers-1.md): Returns distinct tool provider names for the specified time period. Used to populate filter dropdowns. - [Get available tools](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-tools-1.md): Returns distinct tool IDs for the specified time period. Used to populate filter dropdowns for tool analytics. - [Get available users](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-users-1.md): Returns distinct subscriber email values for the specified time period. Used to populate user filter dropdowns for cost-by-user analytics. - [Get available vendors](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-vendors-1.md): Returns distinct vendor values for the specified time period. Used to populate filter dropdowns. - [Get available task types](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-task-types.md): Returns distinct task type values for the specified time period. Used to populate filter dropdowns. - [Get available model sources](https://revenium.readme.io/reference/get_api-v2-analytics-filter-options-model-sources.md): Returns distinct model source values for the specified time period. Used to populate filter dropdowns. - [Get connection status](https://revenium.readme.io/reference/get_api-v2-status-connection-1.md): Returns the last received timestamp for completion logs (SDK data) from ClickHouse. Use this to check whether the SDK is actively sending data. - [Get insights run](https://revenium.readme.io/reference/get_api-v2-insights-runs-runid.md): Fetch a single AI insights run by ID, scoped to the authenticated team. The `dashboard_url` field is a direct link to the Insights page in the Revenium UI for this run. **Full mode (default, `slim=false`)**: Returns all fields including `findingsJson`, `recommendationsJson`, and `batchMetadataJson` (raw JSON strings requiring `JSON.parse`), plus pre-parsed equivalents `parsedFindings`, `parsedRecommendations`, and `parsedBatchMetadata` for MCP consumers. Use `findingsCount` and `recommendationsCount` for quick metadata checks without parsing. **Slim mode (`slim=true`)**: Omits `findingsJson`, `recommendationsJson`, `parsedFindings`, and `parsedRecommendations`. Instead returns `recommendationsSummary: [{ id, title, rank, severity, monthlyImpact, confidenceBand, category }]` — a compact ranked list safe to inline in MCP tool responses without exceeding context budgets. `batchMetadataJson` and `parsedBatchMetadata` are still included. Use `findingsTruncated` and `findingsConsideredCount` to detect whether findings were capped before synthesis. - [List investigators](https://revenium.readme.io/reference/get_api-v2-insights-investigators.md): Returns the list of all registered AI cost-intelligence investigators (detectors) available for the insights engine. Each entry includes: - `id` — the stable string identifier used in `excludeInvestigatorIds` when calling `POST /insights/runs` - `displayName` — human-readable label for UI display - `category` — the finding category this investigator emits (e.g. `retry_waste`, `outdated_model`, `error_concentration`) - `version` — the investigator version string Use this endpoint to discover valid values for `excludeInvestigatorIds` before submitting a run. An MCP agent can call this once to build the exclusion list for the `runRecommendations` tool. The list reflects the investigators currently deployed on the server — check this endpoint rather than relying on hard-coded IDs. - [List insights feedback](https://revenium.readme.io/reference/get_api-v2-insights-runs-runid-feedback.md): List all feedback events for an insights run, scoped to the authenticated team. - [List insights runs](https://revenium.readme.io/reference/get_api-v2-insights-runs.md): List recent AI insights runs for the authenticated team, ordered by creation date descending. Each item includes summary counts (`findingsCount`, `recommendationsCount`) without the full JSON payloads. **Pagination**: Pass the `next_cursor` from a previous response as `?cursor=` to fetch the next page. A `null` `next_cursor` means you have reached the last page. **Filters**: `?status=completed`, `?since=2024-01-01T00:00:00Z`, `?until=2024-01-31T23:59:59Z`, `?triggered_by=api` The `status` field is one of: `running`, `completed`, `partial`, `failed`, `cancelled`. - [Trigger an insights run](https://revenium.readme.io/reference/post_api-v2-insights-runs.md): Trigger a new AI insights analysis run for the team. Returns `202 Accepted` immediately with the `runId` and initial `status`. Poll `GET /api/v2/insights/runs/{runId}` until `status` transitions to `completed`, `partial`, or `failed`. A `Location` response header points directly to the polling URL. In local development (no `ANALYSIS_LAMBDA_ARN` set), the run executes synchronously and the response header `X-Local-Sync-Fallback: true` is set — the run will already be complete when the 202 is received. - [Post insights feedback](https://revenium.readme.io/reference/post_api-v2-insights-feedback.md): Record a feedback action on a specific recommendation within an insights run. Feedback events are append-only.