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.

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 holds the key
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 people --capability mobile_phone --only-runnable --json
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.

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 --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.

On this page