Skip to main content
Connect your existing application in Data. Keep your provider client and credentials. No sandbox is needed to record calls, and connecting does not start training.

1. Create a source and server key

In Data, create a source and open Manage connection. Choose your provider and Generate server key. The key has Capture and Inference permissions for this source. Leave expiration blank for a persistent key, or choose an expiration. Store the one-time secret as REASONBLOCKS_API_KEY on your server. An existing rb_live_ key works when it has Capture permission and access to the source. Older keys may have Inference permission only; check API Keys. Legacy rbcap_ source keys also remain supported. New source keys have no scheduled expiration, and rotation allows a 24-hour overlap, bounded by the old key’s expiry. Existing keys retain their original expiration until you replace them.

2. Keep one source URL and key

Copy the setup code from Manage connection. Your existing Anthropic or OpenAI SDK connects directly; no ReasonBlocks helper installation is required. The same source URL and ReasonBlocks key are used for recording and supported serving after you approve a release. Keep your provider credential and original model ID.
Keep ANTHROPIC_API_KEY in its usual environment variable. For OpenAI, use OpenAI and the source URL ending in /openai/v1. Use a unique x-rb-run for each top-level user turn, including all model calls, tool execution and its final answer. Start a new ID for the next user turn in the same conversation. If you reuse a long-lived SDK client, pass the task’s x-rb-run through extra_headers on each call instead of setting it as a client default. For native Bedrock, install rbtrace==1.3.1 once and instrument your existing boto3 client. Keep its IAM credential chain:
No Anthropic API key is required for native Bedrock calls. See Integrating your agent for native Bedrock behavior and Set up with your coding agent for existing CLI integrations. Existing 1.3.0 installations remain compatible. The optional 1.3.1 upgrade adds dispatch diagnostics; keep the same source, key and client code.

3. Verify the connection automatically

Run your application and keep Manage connection open. Its status refreshes without inspecting response headers. It shows recorded requests, training examples, training exclusions, failures, recent activity and connection-key expiration warnings. A request can be recorded while excluded from training. Open the reason in the connection status before changing your application. If you use the optional Connection helper, rb.status() reads server status and rb.diagnostics() reports local SDK delivery information. Connected means capture is working. It does not mean a model is trained or waiting for approval. Ordinary email addresses follow your source’s privacy policy; actual passwords and tokens remain blocked. See Recording and training eligibility. Normal provider fees apply to model calls. Status checks do not generate a model response.

4. Prepare training when ready

Training needs representative tasks, a resettable test copy of your tools and data, and a way to evaluate completed tasks. Follow Train your complete agent to prepare a plan and review the budget before authorizing paid work. Enable a supported release in the dashboard when ready; your source URL, ReasonBlocks key and existing client stay the same. Continue with Work with your coding agent to review readiness and rollout.