PinkWallet Website Logo
Join early access
API · OpenAIAgent keyAbout 3 minVerified 2026-10-01

Connect OpenAI Responses API to Pink Agentic AI Payments

Add Pink as a remote MCP tool on a Responses API call; the model calls the payment tools server-side. Works with Agents you build on the Responses API. Plans: Any OpenAI API account.

What you get

OpenAI Responses API asks Pink before it pays

Once connected, OpenAI Responses API can see its budget, the payees it may pay and the rules that apply, run a dry run, request a payment and file the receipt. The rules you set in Pink decide each request: allowed on the spot, sent to a person on the phone, or blocked. OpenAI Responses API never holds a card number or a bank login.

Step by step

  1. 1

    Create a free sandbox workspace

    Open agentic-sandbox.pinkwallet.com, type a company name, pick a template (coffee shop, startup or e-commerce) and click Create workspace. You get an admin key for the console and one key per AI agent. Keep the admin key: the sign-in page asks for it.
    After creating a workspace: the admin key and one key per agent are shown once
    After creating a workspace: the admin key and one key per agent are shown once
  2. 2

    Copy an agent key

    From the workspace page or the console's Keys & connect tab.
    The console's Keys & connect tab with the OAuth URL and the agent keys
    The console's Keys & connect tab with the OAuth URL and the agent keys
  3. 3

    Add the MCP tool to the request

    Pass a tool of type mcp with server_url https://agentic-sandbox.pinkwallet.com/mcp and the agent key in headers.Authorization. require_approval lets your own code gate each call before it runs.
  4. 4

    Read the decision

    The tool outputs appear in the response items. For pending_human keep the hold_id and poll later.
  5. 5

    Watch the approval land in the console

    Open the sandbox console (link on the workspace page). Requests that cleared, asked a person or were blocked are all listed with the rule that decided them. Approve the pending one and the agent continues.
    Approvals in the console: the rule that stopped the request, the agent's reason, the evidence
    Approvals in the console: the rule that stopped the request, the agent's reason, the evidence

The configuration, ready to paste

OpenAI Responses API · python
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
    model="gpt-5",
    tools=[{ "type": "mcp", "server_label": "pink", "server_url": "https://agentic-sandbox.pinkwallet.com/mcp",
              "headers": { "Authorization": "Bearer <agent_key>" }, "require_approval": "never" }],
    input="Check my Pink budget, then request $420 to Counter Culture Coffee (payee p_cc) for 20 kg of beans.")
print(resp.output_text)

Replace <agent_key> with the key of the agent this api should act as. Each agent has its own key, budget and rules.

Try it: say this to OpenAI Responses API

Say this

“Check my budget with Pink, then order 20 kg of espresso beans from Counter Culture Coffee for $420. After that, order $890 of weekly supplies from Sysco.”

What you will see

The first order is allowed on the spot and the agent receives a single-use test credential. The second stops at the store manager's rule ($500–$2,000): it shows up under Approvals in the console, and the agent waits for a person. Approve it there and the agent picks up the credential.

Why those two rules exist →

Pink's side, in three screens

The sandbox workspace page with the admin key and one key per agent
Keys are shown once when the workspace is created.
Pink's sign-in page: admin key, agent selector, Allow and Deny
Sign-in: choose which agent the app acts as.
The console's Approvals tab with a pending request
Requests that need a person wait here and on the phone.

FAQ

Can I review each call before it runs?

Yes. Set require_approval to always (or a per-tool list) and your code approves each tool call before it executes.

Does the API call Pink from OpenAI's servers?

Yes. The Responses API connects to the MCP server itself; your code never has to speak MCP.

Official documentation

Menu names and settings paths follow each vendor's documentation at the verified date. If a vendor moves a menu, the linked page is the source of truth; the Pink side does not change.

Other clients