OpenAI for AI agents
OpenAI's API gives developers access to language, image, and audio models along with tools for managing files, assistants, and fine-tuning jobs. Product teams build AI features on top of it. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in OpenAI.
Generate a chat completion
Send a prompt and conversation history to a model and return a generated response.
Transcribe an audio file
Convert a recorded audio file into text using the audio transcription endpoint.
Check fine-tuning job status read-only
List fine-tuning jobs and events to monitor progress without starting a new one.
126 OpenAI actions, graded by risk.
Every OpenAI action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
57Look things up. Allowed by default.
- openai.get_evalGet Eval
- openai.get_videoGet Video
- openai.list_runsList Runs
- openai.list_evalsList Evals
- openai.list_filesList files
- openai.get_messageGet Message
- openai.list_modelsList models
- openai.list_skillsList Skills
- openai.list_videosList Videos
- openai.get_eval_runGet Evaluation Run
- openai.get_responseGet Response
- openai.get_run_stepGet Run Step
- openai.list_batchesList Batches
- openai.list_enginesList engines
- openai.list_threadsList ChatKit Threads
- openai.get_eval_runsGet Evaluation Runs
write
48Create and change things. Allow, or ask the user first.
- openai.create_runCreate Run
- openai.create_evalCreate Eval
- openai.update_evalUpdate Eval
- openai.create_batchCreate Batch
- openai.create_imageGenerate Image
- openai.create_skillCreate Skill
- openai.create_videoCreate Video
- openai.create_speechCreate Speech (TTS)
- openai.create_threadCreate Thread
- openai.create_uploadCreate Upload
- openai.create_messageCreate Message
- openai.add_upload_partAdd Upload Part
- openai.create_eval_runCreate Evaluation Run
- openai.create_responseCreate Response
- openai.create_containerCreate Container
- openai.create_completionCreate Completion (Legacy)
destructive
21Delete, cancel or archive. Ask first, or deny outright.
- openai.cancel_runCancel Run
- openai.delete_evalDelete evaluation
- openai.delete_fileDelete file
- openai.cancel_batchCancel batch
- openai.delete_skillDelete skill
- openai.delete_videoDelete video
- openai.cancel_uploadCancel upload
- openai.delete_threadDelete thread
- openai.delete_messageDelete message
- openai.cancel_eval_runCancel evaluation run
- openai.cancel_responseCancel Response
- openai.delete_eval_runDelete evaluation run
- openai.delete_responseDelete response
- openai.delete_assistantDelete assistant
- openai.delete_containerDelete container
- openai.delete_conversationDelete conversation
OpenAI in three steps.
- 01Your users connect OpenAIThey add their OpenAI api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Run” can wait for the user, and “delete evaluation” can be denied outright.
- 03Any agent can actYour agent calls OpenAI through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('openai', { read: 'allow', write: 'ask', // create_run destructive: 'deny', // delete_eval }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How OpenAI connects.
Users add their OpenAI api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same OpenAI connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use OpenAI from any agent.
OpenAI and Arc0, answered.
Can I use OpenAI with Claude, ChatGPT or Cursor?
Yes. Connect OpenAI to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the OpenAI actions you allow.
How do users connect OpenAI?
Users add their OpenAI api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which OpenAI actions can my agent take?
126 in total: 57 read, 48 write and 21 destructive, such as “create Run”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in OpenAI?
Yes. Actions like “delete evaluation” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call OpenAI too?
Yes. The same OpenAI connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug OpenAI into your agent.
Your users connect OpenAI once, under your brand. Your agent gets 126 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan