Skip to main content
POST
/
api
/
v2
/
secret-rotations
/
open-router-api-key
cURL
curl --request POST \
  --url https://us.infisical.com/api/v2/secret-rotations/open-router-api-key \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "projectId": "<string>",
  "connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "environment": "<string>",
  "secretPath": "<string>",
  "rotationInterval": 2,
  "parameters": {
    "name": "<string>",
    "limit": 1,
    "limitReset": "daily",
    "includeByokInLimit": true
  },
  "secretsMapping": {
    "apiKey": "<string>"
  },
  "description": "<string>",
  "isAutoRotationEnabled": true,
  "rotateAtUtc": {
    "hours": 11.5,
    "minutes": 29.5
  }
}
'
{
  "secretRotation": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "rotationInterval": 123,
    "rotationStatus": "<string>",
    "lastRotationAttemptedAt": "2023-11-07T05:31:56Z",
    "lastRotatedAt": "2023-11-07T05:31:56Z",
    "connection": {
      "app": "open-router",
      "name": "<string>",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "environment": {
      "slug": "<string>",
      "name": "<string>",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "projectId": "<string>",
    "folder": {
      "id": "<string>",
      "path": "<string>"
    },
    "rotateAtUtc": {
      "hours": 11.5,
      "minutes": 29.5
    },
    "type": "open-router-api-key",
    "parameters": {
      "name": "<string>",
      "limit": 1,
      "limitReset": "daily",
      "includeByokInLimit": true
    },
    "secretsMapping": {
      "apiKey": "<string>"
    },
    "description": "<string>",
    "isAutoRotationEnabled": true,
    "activeIndex": 0,
    "lastRotationJobId": "<string>",
    "nextRotationAt": "2023-11-07T05:31:56Z",
    "isLastRotationManual": true,
    "lastRotationMessage": "<string>"
  }
}
Check out the configuration docs for OpenRouter API Key Rotations to learn how to obtain the required parameters.
Creates an OpenRouter API Key secret rotation. Infisical will create and rotate API keys via your OpenRouter connection and write them to the specified secret path.

Request body

FieldTypeRequiredDescription
namestringYesA unique name for the rotation (max 100 characters).
projectIdstring (UUID)YesThe project ID.
connectionIdstring (UUID)YesID of the OpenRouter app connection (Provisioning API key).
environmentstringYesEnvironment slug (e.g. dev, prod).
secretPathstringYesPath where the generated API key secret will be stored.
isAutoRotationEnabledbooleanYesWhether to rotate automatically on the schedule.
rotationIntervalnumberYesDays between rotations (e.g. 30).
rotateAtUtcobjectYesTime of day (UTC) to run rotation: { "hours", "minutes" }.
parameters.namestringYesName for the API key in OpenRouter (max 100 characters).
parameters.limitnumberYesUsage limit for the key.
parameters.limitResetstringYes"monthly" or "never".
parameters.includeByokInLimitbooleanNoWhether BYOK usage counts toward the limit. Default false.
secretsMapping.apiKeystringYesSecret key name to store the generated API key (e.g. OPEN_ROUTER_API_KEY).
descriptionstringNoOptional description.

Sample request

curl --request POST \
  --url https://us.infisical.com/api/v2/secret-rotations/open-router-api-key \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --data '{
    "name": "my-open-router-rotation",
    "projectId": "<project-id>",
    "description": "OpenRouter API key rotation",
    "connectionId": "<open-router-connection-id>",
    "environment": "dev",
    "secretPath": "/",
    "isAutoRotationEnabled": true,
    "rotationInterval": 30,
    "rotateAtUtc": { "hours": 0, "minutes": 0 },
    "parameters": {
      "name": "my-app-key",
      "limit": 100,
      "limitReset": "monthly",
      "includeByokInLimit": false
    },
    "secretsMapping": {
      "apiKey": "OPEN_ROUTER_API_KEY"
    }
  }'

Sample response

{
  "secretRotation": {
    "id": "<rotation-id>",
    "name": "my-open-router-rotation",
    "description": "OpenRouter API key rotation",
    "secretsMapping": { "apiKey": "OPEN_ROUTER_API_KEY" },
    "isAutoRotationEnabled": true,
    "activeIndex": 0,
    "connectionId": "<open-router-connection-id>",
    "rotationInterval": 30,
    "rotateAtUtc": { "hours": 0, "minutes": 0 },
    "type": "open-router-api-key",
    "parameters": {
      "name": "my-app-key",
      "limit": 100,
      "limitReset": "monthly",
      "includeByokInLimit": false
    }
  }
}

Body

application/json
name
string
required

The name of the OpenRouter API Key Rotation to create. Must be slug-friendly.

Required string length: 1 - 64
projectId
string
required

The ID of the project to create the rotation in.

Minimum string length: 1
connectionId
string<uuid>
required

The ID of the OpenRouter Connection to use for rotation.

environment
string
required

The slug of the project environment to create the rotation in.

Required string length: 1 - 64
secretPath
string
required

The secret path of the project to create the rotation in.

Minimum string length: 1
rotationInterval
number
required

The interval, in days, to automatically rotate secrets.

Required range: x >= 1
parameters
object
required
secretsMapping
object
required
description
string | null

An optional description for the OpenRouter API Key Rotation.

Maximum string length: 256
isAutoRotationEnabled
boolean
default:true

Whether secrets should be automatically rotated when the specified rotation interval has elapsed.

rotateAtUtc
object

The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC.

Response

Default Response

secretRotation
object
required