OXYGENOxygen/ Docs
Providers

Provider catalog

Every callable provider tool, discoverable through one interface.

The catalog is the set of provider tools you can call from a tool column, an enrichment waterfall, a workflow step, or directly via oxygen tools run.

Two surfaces

SurfaceNamingImplementation
Native<provider>.<operation> (e.g. blitzapi.person_enrich)Oxygen-normalized schema, costs, and errors
App actionscomposio.<toolkit>.<action>Broad app-action coverage when a native adapter is not available

Prefer the native equivalent when both exist.

Which providers exist today, their auth mode, and how many operations each one exposes: provider reference.

Tool descriptor shape

FieldNotes
tool_idprovider.operation
providerProvider name
display_nameHuman-readable
descriptionWhat the tool does
categoriesCapability tags
cost.cost_hintRough credit cost per call
estimated_credits_per_callConcrete estimate
side_effect_classread or write
latency_bandfast, medium, slow
rate_limitProvider limit
fallback_toRecommended providers if this one fails
prefer_overOlder providers this one supersedes
supports_managedTrue if Oxygen has a managed credential rail; this alone does not claim that a priced managed-credit call is available
managed_credit_posturepriced for actual per-call managed credits; fixed_account for LinkedIn/WhatsApp seats; no_bill for free managed operations; unpriced when a managed credential exists but live managed execution is blocked pending a price; otherwise unsupported
supports_node_credit_capTrue only when a Workflow tool node's max_credits value changes runtime enforcement for this exact capability
supports_byokTrue if you can connect your own key
byok_requiredTrue if only BYOK works (no managed option)
input_schema, output_schemaJSON Schema for inputs and outputs
enum_catalogsAllowed values for enum inputs

Searching

oxygen tools search <query> --json
oxygen tools search --provider blitzapi --all --no-access-check --json
oxygen tools search people --capability mobile_phone --only-runnable --json
oxygen tools search --no-access-check --terse --limit 100 --json   # fast complete-catalog inventory
oxygen tools get <tool-id> --json
oxygen tools enums list --json
oxygen tools enums get blitzapi industry --query software --json

tools search accepts free-text plus capability filters. tools get returns the full descriptor, including input and output schemas.

Use a broad brand-name query to discover a provider id, then --provider <id> --all for an exact inventory. This avoids treating fuzzy matches from other vendors as part of that provider's surface. For example, the provider id for Blitz is blitzapi; its current catalog contains 22 operation ids backed by 19 distinct routes (three ids are compatibility aliases).

The response's total_tools counts every match for your query and filters (not just the rows returned under --limit), so the empty-query --no-access-check form is the fast way to inventory the whole catalog: it skips per-tool availability checks and returns compact descriptors without availability info. Every response carries counts_complete. When it is true, total_tools is exact. When it is false, partial_sources names the catalog source that did not answer (for example the Composio directory) and the totals are understated — retry, and the CLI prints a warning to stderr when this happens. A separate access_check_failures list names tools whose availability could not be determined; those tools are still in the catalog and the totals remain exact.

Per-plan BYOK daily call thresholds and every other default ceiling: pricing reference.

Running a tool

oxygen tools run <tool-id> --input-json '{"first_name":"Ada","domain":"acme.com"}' --mode dry-run --json
oxygen tools run <tool-id> --input-json '{...}' --mode live --approved --max-credits 5 --json

Use dry-run first. Live calls can consume credits or write externally depending on the tool, so keep one-off live runs small and prefer table runs for batches.

Bulk runs go through a run:

oxygen table-ingestions create-tool-page <table-id> --tool <tool-id> --request-json '{...}' --json

This writes each result as a row.

Checking access

oxygen tools search <query> --only-runnable --json
oxygen integrations list --json

--only-runnable filters to tools the active org can currently call. If a tool is missing, check whether it requires a connected integration. MCP also exposes oxygen_tools_check_access for agents that need a structured access check.

  • Columns — wrapping a tool as a per-row column.
  • Waterfalls — running providers in fallback order.
  • Integrations — connecting BYOK accounts.
  • LinkedIn data access — choosing between the managed scraper.* operations and a connected account.

On this page