docs/integrations/app-connections/openai.mdx
Infisical supports connecting to OpenAI using an Admin API Key. This connection is used to create and rotate OpenAI project service accounts via Secret Rotation.
You need an OpenAI Admin API key created by an Organization Owner. Admin API keys are organization-scoped and can manage organization resources such as users, projects, and API keys. A regular project API key (for example, one starting with sk-) does not have these permissions and will fail validation.

</Step>
<Step title="Open Organization settings">
Select **Organization settings** from the menu.

</Step>
<Step title="Navigate to Admin keys">
In the organization settings, open the **Admin keys** tab.

</Step>
<Step title="Create a new Admin key">
Click **Create new Admin key** on the top right corner.

</Step>
<Step title="Name and create the key">
Give the key a descriptive name (e.g. `infisical-key`), set the permissions as needed, and click **Create admin key**.

</Step>
<Step title="Copy the Admin API key">
Copy the generated Admin API key and store it securely. It will only be shown once.

</Step>

</Step>
<Step title="Select OpenAI Connection">
Click **Add Connection** and choose **OpenAI** from the list of available connections.

</Step>
<Step title="Fill out Connection Form">
Complete the form with:
- A **name** for the connection
- An optional **description**
- Your **Admin API Key** (from the steps above)

</Step>
<Step title="Connection Created">
After clicking **Connect to OpenAI**, Infisical validates the key against the OpenAI API. Your **OpenAI Connection** is then ready to use for [OpenAI Service Account Secret Rotation](/documentation/platform/secret-rotation/openai-service-account).

</Step>
</Steps>
</Tab>
<Tab title="API">
Create an OpenAI connection via the [Create OpenAI Connection](/api-reference/endpoints/app-connections/openai/create) API endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/app-connections/openai \
--header 'Content-Type: application/json' \
--data '{
"name": "my-openai-connection",
"method": "api-key",
"credentials": {
"apiKey": "<YOUR-ADMIN-API-KEY>"
}
}'
```
### Sample response
```bash Response
{
"appConnection": {
"id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6",
"name": "my-openai-connection",
"description": null,
"version": 1,
"orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c",
"createdAt": "2025-04-23T19:46:34.831Z",
"updatedAt": "2025-04-23T19:46:34.831Z",
"isPlatformManagedCredentials": false,
"app": "openai",
"method": "api-key",
"credentials": {}
}
}
```
</Tab>