openapi: 3.0.3 info: title: Infisical Admin Secret Rotations API description: List of all available APIs that can be consumed version: 0.0.1 servers: - url: https://us.infisical.com description: Production server (US) - url: https://eu.infisical.com description: Production server (EU) - url: http://localhost:8080 description: Local server tags: - name: Secret Rotations paths: /api/v2/secret-rotations/options: get: operationId: listSecretRotationOptions tags: - Secret Rotations description: List the available Secret Rotation Options. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotationOptions: type: array items: anyOf: - type: object properties: name: type: string enum: - PostgreSQL Credentials connection: type: string enum: - postgres type: type: string enum: - postgres-credentials template: type: object properties: createUserStatement: type: string rotationStatement: type: string secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - createUserStatement - rotationStatement - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Microsoft SQL Server Credentials connection: type: string enum: - mssql type: type: string enum: - mssql-credentials template: type: object properties: createUserStatement: type: string rotationStatement: type: string secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - createUserStatement - rotationStatement - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - MySQL Credentials connection: type: string enum: - mysql type: type: string enum: - mysql-credentials template: type: object properties: createUserStatement: type: string rotationStatement: type: string secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - createUserStatement - rotationStatement - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - OracleDB Credentials connection: type: string enum: - oracledb type: type: string enum: - oracledb-credentials template: type: object properties: createUserStatement: type: string rotationStatement: type: string secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - createUserStatement - rotationStatement - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Auth0 Client Secret connection: type: string enum: - auth0 type: type: string enum: - auth0-client-secret template: type: object properties: secretsMapping: type: object properties: clientId: type: string clientSecret: type: string required: - clientId - clientSecret additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Azure Client Secret connection: type: string enum: - azure-client-secrets type: type: string enum: - azure-client-secret template: type: object properties: secretsMapping: type: object properties: clientId: type: string clientSecret: type: string required: - clientId - clientSecret additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - AWS IAM User Secret connection: type: string enum: - aws type: type: string enum: - aws-iam-user-secret template: type: object properties: secretsMapping: type: object properties: accessKeyId: type: string secretAccessKey: type: string required: - accessKeyId - secretAccessKey additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - LDAP Password connection: type: string enum: - ldap type: type: string enum: - ldap-password template: type: object properties: secretsMapping: type: object properties: dn: type: string password: type: string required: - dn - password additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Okta Client Secret connection: type: string enum: - okta type: type: string enum: - okta-client-secret template: type: object properties: secretsMapping: type: object properties: clientId: type: string clientSecret: type: string required: - clientId - clientSecret additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Redis Credentials connection: type: string enum: - redis type: type: string enum: - redis-credentials template: type: object properties: secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - MongoDB Credentials connection: type: string enum: - mongodb type: type: string enum: - mongodb-credentials template: type: object properties: createUserStatement: type: string secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - createUserStatement - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Databricks Service Principal Secret connection: type: string enum: - databricks type: type: string enum: - databricks-service-principal-secret template: type: object properties: secretsMapping: type: object properties: clientId: type: string clientSecret: type: string required: - clientId - clientSecret additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Unix/Linux Local Account connection: type: string enum: - ssh type: type: string enum: - unix-linux-local-account template: type: object properties: secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - DBT Service Token connection: type: string enum: - dbt type: type: string enum: - dbt-service-token template: type: object properties: secretsMapping: type: object properties: serviceToken: type: string required: - serviceToken additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Windows Local Account connection: type: string enum: - smb type: type: string enum: - windows-local-account template: type: object properties: secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - OpenRouter API Key connection: type: string enum: - open-router type: type: string enum: - open-router-api-key template: type: object properties: secretsMapping: type: object properties: apiKey: type: string required: - apiKey additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - HP iLO Local Account connection: type: string enum: - ssh type: type: string enum: - hp-ilo-local-account template: type: object properties: secretsMapping: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Supabase API Key connection: type: string enum: - supabase type: type: string enum: - supabase-api-key template: type: object properties: secretsMapping: type: object properties: apiKey: type: string required: - apiKey additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Salesforce OAuth Credentials connection: type: string enum: - salesforce type: type: string enum: - salesforce-oauth-credentials template: type: object properties: secretsMapping: type: object properties: consumerKey: type: string consumerSecret: type: string required: - consumerKey - consumerSecret additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Datadog Application Key Secret connection: type: string enum: - datadog type: type: string enum: - datadog-application-key-secret template: type: object properties: secretsMapping: type: object properties: applicationKeyId: type: string applicationKey: type: string required: - applicationKeyId - applicationKey additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false - type: object properties: name: type: string enum: - Convex Access Key connection: type: string enum: - convex type: type: string enum: - convex-access-key template: type: object properties: secretsMapping: type: object properties: accessKey: type: string required: - accessKey additionalProperties: false required: - secretsMapping additionalProperties: false required: - name - connection - type - template additionalProperties: false required: - secretRotationOptions additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations: get: operationId: listSecretRotations tags: - Secret Rotations description: List all the Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: anyOf: - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false - type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials: get: operationId: listPostgreSQLCredentialsRotations tags: - Secret Rotations description: List the PostgreSQL Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list PostgreSQL Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createPostgreSQLCredentialsRotation tags: - Secret Rotations description: Create a PostgreSQL Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the PostgreSQL Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the PostgreSQL Credentials Rotation. connectionId: type: string format: uuid description: The ID of the PostgreSQL Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/{rotationId}: get: operationId: getPostgreSQLCredentialsRotation tags: - Secret Rotations description: Get the specified PostgreSQL Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updatePostgreSQLCredentialsRotation tags: - Secret Rotations description: Update the specified PostgreSQL Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the PostgreSQL Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the PostgreSQL Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deletePostgreSQLCredentialsRotation tags: - Secret Rotations description: Delete the specified PostgreSQL Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/rotation-name/{rotationName}: get: operationId: getPostgreSQLCredentialsRotationByName tags: - Secret Rotations description: Get the specified PostgreSQL Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the PostgreSQL Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the PostgreSQL Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the PostgreSQL Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the PostgreSQL Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/{rotationId}/generated-credentials: get: operationId: getPostgreSQLCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified PostgreSQL Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - postgres-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/{rotationId}/move: post: operationId: movePostgreSQLCredentialsRotation tags: - Secret Rotations description: Move the specified PostgreSQL Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/{rotationId}/rotate-secrets: post: operationId: rotatePostgreSQLCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified PostgreSQL Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - postgres name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - postgres-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/postgres-credentials/{rotationId}/check-credentials: post: operationId: checkPostgreSQLCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified PostgreSQL Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the PostgreSQL Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials: get: operationId: listMicrosoftSQLServerCredentialsRotations tags: - Secret Rotations description: List the Microsoft SQL Server Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Microsoft SQL Server Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Create a Microsoft SQL Server Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Microsoft SQL Server Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Microsoft SQL Server Credentials Rotation. connectionId: type: string format: uuid description: The ID of the Microsoft SQL Server Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/{rotationId}: get: operationId: getMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Get the specified Microsoft SQL Server Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Update the specified Microsoft SQL Server Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Microsoft SQL Server Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Microsoft SQL Server Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Delete the specified Microsoft SQL Server Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/rotation-name/{rotationName}: get: operationId: getMicrosoftSQLServerCredentialsRotationByName tags: - Secret Rotations description: Get the specified Microsoft SQL Server Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Microsoft SQL Server Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Microsoft SQL Server Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Microsoft SQL Server Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Microsoft SQL Server Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/{rotationId}/generated-credentials: get: operationId: getMicrosoftSQLServerCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Microsoft SQL Server Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - mssql-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/{rotationId}/move: post: operationId: moveMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Move the specified Microsoft SQL Server Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/{rotationId}/rotate-secrets: post: operationId: rotateMicrosoftSQLServerCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Microsoft SQL Server Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mssql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mssql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mssql-credentials/{rotationId}/check-credentials: post: operationId: checkMicrosoftSQLServerCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Microsoft SQL Server Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Microsoft SQL Server Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials: get: operationId: listMySQLCredentialsRotations tags: - Secret Rotations description: List the MySQL Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list MySQL Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createMySQLCredentialsRotation tags: - Secret Rotations description: Create a MySQL Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the MySQL Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the MySQL Credentials Rotation. connectionId: type: string format: uuid description: The ID of the MySQL Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/{rotationId}: get: operationId: getMySQLCredentialsRotation tags: - Secret Rotations description: Get the specified MySQL Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateMySQLCredentialsRotation tags: - Secret Rotations description: Update the specified MySQL Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the MySQL Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the MySQL Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteMySQLCredentialsRotation tags: - Secret Rotations description: Delete the specified MySQL Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/rotation-name/{rotationName}: get: operationId: getMySQLCredentialsRotationByName tags: - Secret Rotations description: Get the specified MySQL Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the MySQL Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the MySQL Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the MySQL Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the MySQL Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/{rotationId}/generated-credentials: get: operationId: getMySQLCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified MySQL Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - mysql-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/{rotationId}/move: post: operationId: moveMySQLCredentialsRotation tags: - Secret Rotations description: Move the specified MySQL Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/{rotationId}/rotate-secrets: post: operationId: rotateMySQLCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified MySQL Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mysql name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mysql-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mysql-credentials/{rotationId}/check-credentials: post: operationId: checkMySQLCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified MySQL Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MySQL Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials: get: operationId: listOracleDBCredentialsRotations tags: - Secret Rotations description: List the OracleDB Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list OracleDB Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createOracleDBCredentialsRotation tags: - Secret Rotations description: Create an OracleDB Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the OracleDB Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the OracleDB Credentials Rotation. connectionId: type: string format: uuid description: The ID of the OracleDB Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/{rotationId}: get: operationId: getOracleDBCredentialsRotation tags: - Secret Rotations description: Get the specified OracleDB Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateOracleDBCredentialsRotation tags: - Secret Rotations description: Update the specified OracleDB Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the OracleDB Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the OracleDB Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteOracleDBCredentialsRotation tags: - Secret Rotations description: Delete the specified OracleDB Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/rotation-name/{rotationName}: get: operationId: getOracleDBCredentialsRotationByName tags: - Secret Rotations description: Get the specified OracleDB Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the OracleDB Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the OracleDB Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the OracleDB Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the OracleDB Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/{rotationId}/generated-credentials: get: operationId: getOracleDBCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified OracleDB Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - oracledb-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/{rotationId}/move: post: operationId: moveOracleDBCredentialsRotation tags: - Secret Rotations description: Move the specified OracleDB Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/{rotationId}/rotate-secrets: post: operationId: rotateOracleDBCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified OracleDB Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - oracledb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - oracledb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. rotationStatement: type: string minLength: 1 description: The SQL template query used for rotation. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/oracledb-credentials/{rotationId}/check-credentials: post: operationId: checkOracleDBCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified OracleDB Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OracleDB Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret: get: operationId: listAuth0ClientSecretRotations tags: - Secret Rotations description: List the Auth0 Client Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Auth0 Client Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createAuth0ClientSecretRotation tags: - Secret Rotations description: Create an Auth0 Client Secret Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Auth0 Client Secret Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Auth0 Client Secret Rotation. connectionId: type: string format: uuid description: The ID of the Auth0 Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/{rotationId}: get: operationId: getAuth0ClientSecretRotation tags: - Secret Rotations description: Get the specified Auth0 Client Secret Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateAuth0ClientSecretRotation tags: - Secret Rotations description: Update the specified Auth0 Client Secret Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Auth0 Client Secret Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Auth0 Client Secret Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteAuth0ClientSecretRotation tags: - Secret Rotations description: Delete the specified Auth0 Client Secret Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/rotation-name/{rotationName}: get: operationId: getAuth0ClientSecretRotationByName tags: - Secret Rotations description: Get the specified Auth0 Client Secret Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Auth0 Client Secret Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Auth0 Client Secret Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Auth0 Client Secret Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Auth0 Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/{rotationId}/generated-credentials: get: operationId: getAuth0ClientSecretRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Auth0 Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: clientId: type: string clientSecret: type: string required: - clientId - clientSecret additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - auth0-client-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/{rotationId}/move: post: operationId: moveAuth0ClientSecretRotation tags: - Secret Rotations description: Move the specified Auth0 Client Secret Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/{rotationId}/rotate-secrets: post: operationId: rotateAuth0ClientSecretRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Auth0 Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - auth0 name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - auth0-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The client ID of the Auth0 Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/auth0-client-secret/{rotationId}/check-credentials: post: operationId: checkAuth0ClientSecretRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Auth0 Client Secret Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Auth0 Client Secret Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret: get: operationId: listAzureClientSecretRotations tags: - Secret Rotations description: List the Azure Client Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Azure Client Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createAzureClientSecretRotation tags: - Secret Rotations description: Create an Azure Client Secret Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Azure Client Secret Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Azure Client Secret Rotation. connectionId: type: string format: uuid description: The ID of the Azure Client Secrets Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/{rotationId}: get: operationId: getAzureClientSecretRotation tags: - Secret Rotations description: Get the specified Azure Client Secret Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateAzureClientSecretRotation tags: - Secret Rotations description: Update the specified Azure Client Secret Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Azure Client Secret Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Azure Client Secret Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteAzureClientSecretRotation tags: - Secret Rotations description: Delete the specified Azure Client Secret Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/rotation-name/{rotationName}: get: operationId: getAzureClientSecretRotationByName tags: - Secret Rotations description: Get the specified Azure Client Secret Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Azure Client Secret Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Azure Client Secret Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Azure Client Secret Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Azure Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/{rotationId}/generated-credentials: get: operationId: getAzureClientSecretRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Azure Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: clientId: type: string clientSecret: type: string keyId: type: string required: - clientId - clientSecret - keyId additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - azure-client-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/{rotationId}/move: post: operationId: moveAzureClientSecretRotation tags: - Secret Rotations description: Move the specified Azure Client Secret Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/{rotationId}/rotate-secrets: post: operationId: rotateAzureClientSecretRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Azure Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - azure-client-secrets name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - azure-client-secret parameters: type: object properties: objectId: type: string minLength: 1 description: The ID of the Azure Application to rotate the client secret for. appName: type: string description: The name of the Azure Application to rotate the client secret for. clientId: type: string minLength: 1 description: The client ID of the Azure Application to rotate the client secret for. required: - objectId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/azure-client-secret/{rotationId}/check-credentials: post: operationId: checkAzureClientSecretRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Azure Client Secret Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Azure Client Secret Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret: get: operationId: listAWSIAMUserSecretRotations tags: - Secret Rotations description: List the AWS IAM User Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list AWS IAM User Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createAWSIAMUserSecretRotation tags: - Secret Rotations description: Create an AWS IAM User Secret Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the AWS IAM User Secret Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the AWS IAM User Secret Rotation. connectionId: type: string format: uuid description: The ID of the AWS Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/{rotationId}: get: operationId: getAWSIAMUserSecretRotation tags: - Secret Rotations description: Get the specified AWS IAM User Secret Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateAWSIAMUserSecretRotation tags: - Secret Rotations description: Update the specified AWS IAM User Secret Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the AWS IAM User Secret Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the AWS IAM User Secret Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteAWSIAMUserSecretRotation tags: - Secret Rotations description: Delete the specified AWS IAM User Secret Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/rotation-name/{rotationName}: get: operationId: getAWSIAMUserSecretRotationByName tags: - Secret Rotations description: Get the specified AWS IAM User Secret Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the AWS IAM User Secret Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the AWS IAM User Secret Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the AWS IAM User Secret Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the AWS IAM User Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/{rotationId}/generated-credentials: get: operationId: getAWSIAMUserSecretRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified AWS IAM User Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: accessKeyId: type: string secretAccessKey: type: string required: - accessKeyId - secretAccessKey additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - aws-iam-user-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/{rotationId}/move: post: operationId: moveAWSIAMUserSecretRotation tags: - Secret Rotations description: Move the specified AWS IAM User Secret Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/{rotationId}/rotate-secrets: post: operationId: rotateAWSIAMUserSecretRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified AWS IAM User Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - aws name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - aws-iam-user-secret parameters: type: object properties: userName: type: string minLength: 1 description: The name of the client to rotate credentials for. region: type: string enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-east-1 - us-gov-west-1 - af-south-1 - ap-east-1 - ap-south-1 - ap-south-2 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-southeast-3 - ap-southeast-4 - ca-central-1 - eu-central-1 - eu-central-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-south-1 - eu-south-2 - eu-north-1 - me-south-1 - me-central-1 - sa-east-1 description: The AWS region the client is present in. required: - userName additionalProperties: false secretsMapping: type: object properties: accessKeyId: type: string minLength: 1 description: The name of the secret that the access key ID will be mapped to. secretAccessKey: type: string minLength: 1 description: The name of the secret that the rotated secret access key will be mapped to. required: - accessKeyId - secretAccessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/aws-iam-user-secret/{rotationId}/check-credentials: post: operationId: checkAWSIAMUserSecretRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified AWS IAM User Secret Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the AWS IAM User Secret Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password: get: operationId: listLDAPPasswordRotations tags: - Secret Rotations description: List the LDAP Password Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list LDAP Password Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createLDAPPasswordRotation tags: - Secret Rotations description: Create a LDAP Password Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the LDAP Password Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the LDAP Password Rotation. connectionId: type: string format: uuid description: The ID of the LDAP Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false temporaryParameters: type: object properties: password: type: string minLength: 1 description: The password of the provided principal if "parameters.rotationMethod" is set to "target-principal". required: - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/{rotationId}: get: operationId: getLDAPPasswordRotation tags: - Secret Rotations description: Get the specified LDAP Password Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateLDAPPasswordRotation tags: - Secret Rotations description: Update the specified LDAP Password Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the LDAP Password Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the LDAP Password Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteLDAPPasswordRotation tags: - Secret Rotations description: Delete the specified LDAP Password Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/rotation-name/{rotationName}: get: operationId: getLDAPPasswordRotationByName tags: - Secret Rotations description: Get the specified LDAP Password Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the LDAP Password Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the LDAP Password Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the LDAP Password Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the LDAP Password Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/{rotationId}/generated-credentials: get: operationId: getLDAPPasswordRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified LDAP Password Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: dn: type: string password: type: string required: - dn - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - ldap-password required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/{rotationId}/move: post: operationId: moveLDAPPasswordRotation tags: - Secret Rotations description: Move the specified LDAP Password Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/{rotationId}/rotate-secrets: post: operationId: rotateLDAPPasswordRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified LDAP Password Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ldap name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - ldap-password parameters: type: object properties: dn: type: string minLength: 1 description: The Distinguished Name (DN) or User Principal Name (UPN) of the principal to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - connection-principal - target-principal description: Whether the rotation should be performed by the LDAP "connection-principal" or the "target-principal" (defaults to 'connection-principal'). required: - dn additionalProperties: false secretsMapping: type: object properties: dn: type: string minLength: 1 description: The name of the secret that the Distinguished Name (DN) or User Principal Name (UPN) of the principal will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - dn - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/ldap-password/{rotationId}/check-credentials: post: operationId: checkLDAPPasswordRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified LDAP Password Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the LDAP Password Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret: get: operationId: listOktaClientSecretRotations tags: - Secret Rotations description: List the Okta Client Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Okta Client Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createOktaClientSecretRotation tags: - Secret Rotations description: Create an Okta Client Secret Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Okta Client Secret Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Okta Client Secret Rotation. connectionId: type: string format: uuid description: The ID of the Okta Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/{rotationId}: get: operationId: getOktaClientSecretRotation tags: - Secret Rotations description: Get the specified Okta Client Secret Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateOktaClientSecretRotation tags: - Secret Rotations description: Update the specified Okta Client Secret Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Okta Client Secret Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Okta Client Secret Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteOktaClientSecretRotation tags: - Secret Rotations description: Delete the specified Okta Client Secret Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/rotation-name/{rotationName}: get: operationId: getOktaClientSecretRotationByName tags: - Secret Rotations description: Get the specified Okta Client Secret Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Okta Client Secret Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Okta Client Secret Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Okta Client Secret Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Okta Client Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/{rotationId}/generated-credentials: get: operationId: getOktaClientSecretRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Okta Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: clientId: type: string clientSecret: type: string secretId: type: string required: - clientId - clientSecret - secretId additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - okta-client-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/{rotationId}/move: post: operationId: moveOktaClientSecretRotation tags: - Secret Rotations description: Move the specified Okta Client Secret Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/{rotationId}/rotate-secrets: post: operationId: rotateOktaClientSecretRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Okta Client Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - okta name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - okta-client-secret parameters: type: object properties: clientId: type: string minLength: 1 description: The ID of the Okta Application to rotate the client secret for. required: - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/okta-client-secret/{rotationId}/check-credentials: post: operationId: checkOktaClientSecretRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Okta Client Secret Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Okta Client Secret Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials: get: operationId: listRedisCredentialsRotations tags: - Secret Rotations description: List the Redis Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Redis Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createRedisCredentialsRotation tags: - Secret Rotations description: Create a Redis Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Redis Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Redis Credentials Rotation. connectionId: type: string format: uuid description: The ID of the Redis Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/{rotationId}: get: operationId: getRedisCredentialsRotation tags: - Secret Rotations description: Get the specified Redis Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateRedisCredentialsRotation tags: - Secret Rotations description: Update the specified Redis Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Redis Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Redis Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteRedisCredentialsRotation tags: - Secret Rotations description: Delete the specified Redis Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/rotation-name/{rotationName}: get: operationId: getRedisCredentialsRotationByName tags: - Secret Rotations description: Get the specified Redis Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Redis Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Redis Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Redis Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Redis Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/{rotationId}/generated-credentials: get: operationId: getRedisCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Redis Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - redis-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/{rotationId}/move: post: operationId: moveRedisCredentialsRotation tags: - Secret Rotations description: Move the specified Redis Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/{rotationId}/rotate-secrets: post: operationId: rotateRedisCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Redis Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - redis name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - redis-credentials parameters: type: object properties: passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. permissionScope: type: string minLength: 1 description: The ACL permission scope to assign to the issued Redis users. required: - permissionScope additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/redis-credentials/{rotationId}/check-credentials: post: operationId: checkRedisCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Redis Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Redis Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials: get: operationId: listMongoDBCredentialsRotations tags: - Secret Rotations description: List the MongoDB Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list MongoDB Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createMongoDBCredentialsRotation tags: - Secret Rotations description: Create a MongoDB Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the MongoDB Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the MongoDB Credentials Rotation. connectionId: type: string format: uuid description: The ID of the MongoDB Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/{rotationId}: get: operationId: getMongoDBCredentialsRotation tags: - Secret Rotations description: Get the specified MongoDB Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateMongoDBCredentialsRotation tags: - Secret Rotations description: Update the specified MongoDB Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the MongoDB Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the MongoDB Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteMongoDBCredentialsRotation tags: - Secret Rotations description: Delete the specified MongoDB Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/rotation-name/{rotationName}: get: operationId: getMongoDBCredentialsRotationByName tags: - Secret Rotations description: Get the specified MongoDB Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the MongoDB Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the MongoDB Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the MongoDB Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the MongoDB Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/{rotationId}/generated-credentials: get: operationId: getMongoDBCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified MongoDB Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - mongodb-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/{rotationId}/move: post: operationId: moveMongoDBCredentialsRotation tags: - Secret Rotations description: Move the specified MongoDB Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/{rotationId}/rotate-secrets: post: operationId: rotateMongoDBCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified MongoDB Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - mongodb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - mongodb-credentials parameters: type: object properties: username1: type: string minLength: 1 description: The username of the first login to rotate passwords for. This user must already exists in your database. username2: type: string minLength: 1 description: The username of the second login to rotate passwords for. This user must already exists in your database. required: - username1 - username2 additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the active username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the generated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/mongodb-credentials/{rotationId}/check-credentials: post: operationId: checkMongoDBCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified MongoDB Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the MongoDB Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret: get: operationId: listDatabricksServicePrincipalSecretRotations tags: - Secret Rotations description: List the Databricks Service Principal Secret Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Databricks Service Principal Secret Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Create a Databricks Service Principal Secret Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Databricks Service Principal Secret Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Databricks Service Principal Secret Rotation. connectionId: type: string format: uuid description: The ID of the Databricks Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/{rotationId}: get: operationId: getDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Get the specified Databricks Service Principal Secret Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Update the specified Databricks Service Principal Secret Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Databricks Service Principal Secret Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Databricks Service Principal Secret Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Delete the specified Databricks Service Principal Secret Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/rotation-name/{rotationName}: get: operationId: getDatabricksServicePrincipalSecretRotationByName tags: - Secret Rotations description: Get the specified Databricks Service Principal Secret Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Databricks Service Principal Secret Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Databricks Service Principal Secret Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Databricks Service Principal Secret Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Databricks Service Principal Secret Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/{rotationId}/generated-credentials: get: operationId: getDatabricksServicePrincipalSecretRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Databricks Service Principal Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: clientId: type: string clientSecret: type: string secretId: type: string required: - clientId - clientSecret - secretId additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - databricks-service-principal-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/{rotationId}/move: post: operationId: moveDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Move the specified Databricks Service Principal Secret Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/{rotationId}/rotate-secrets: post: operationId: rotateDatabricksServicePrincipalSecretRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Databricks Service Principal Secret Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - databricks name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - databricks-service-principal-secret parameters: type: object properties: servicePrincipalId: type: string minLength: 1 description: The ID of the Databricks Service Principal to rotate the OAuth secret for. servicePrincipalName: type: string description: The name of the Databricks Service Principal to rotate the OAuth secret for. clientId: type: string minLength: 1 description: The client ID of the Databricks Service Principal to rotate the OAuth secret for. required: - servicePrincipalId - clientId additionalProperties: false secretsMapping: type: object properties: clientId: type: string minLength: 1 description: The name of the secret that the client ID will be mapped to. clientSecret: type: string minLength: 1 description: The name of the secret that the rotated OAuth client secret will be mapped to. required: - clientId - clientSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/databricks-service-principal-secret/{rotationId}/check-credentials: post: operationId: checkDatabricksServicePrincipalSecretRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Databricks Service Principal Secret Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Databricks Service Principal Secret Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account: get: operationId: listUnix/LinuxLocalAccountRotations tags: - Secret Rotations description: List the Unix/Linux Local Account Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Unix/Linux Local Account Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Create an Unix/Linux Local Account Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Unix/Linux Local Account Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Unix/Linux Local Account Rotation. connectionId: type: string format: uuid description: The ID of the SSH Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false temporaryParameters: type: object properties: password: type: string description: The current password of the target user. Required if "parameters.rotationMethod" is set to "login-as-target". additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}: get: operationId: getUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Get the specified Unix/Linux Local Account Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Update the specified Unix/Linux Local Account Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Unix/Linux Local Account Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Unix/Linux Local Account Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Delete the specified Unix/Linux Local Account Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/rotation-name/{rotationName}: get: operationId: getUnix/LinuxLocalAccountRotationByName tags: - Secret Rotations description: Get the specified Unix/Linux Local Account Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Unix/Linux Local Account Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Unix/Linux Local Account Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Unix/Linux Local Account Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Unix/Linux Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}/generated-credentials: get: operationId: getUnix/LinuxLocalAccountRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Unix/Linux Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - unix-linux-local-account required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}/move: post: operationId: moveUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Move the specified Unix/Linux Local Account Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}/rotate-secrets: post: operationId: rotateUnix/LinuxLocalAccountRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Unix/Linux Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}/check-credentials: post: operationId: checkUnix/LinuxLocalAccountRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Unix/Linux Local Account Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Unix/Linux Local Account Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/unix-linux-local-account/{rotationId}/reconcile: post: tags: - Secret Rotations description: Reconcile Unix/Linux Local Account rotation credentials. This operation uses the SSH app connection credentials to reset the password when credentials are out of sync. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the SSH Password Rotation to reconcile credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string reconciled: type: boolean secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - unix-linux-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the Unix/Linux user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". useSudo: type: boolean default: true description: If true, uses sudo when executing the password rotation command. Defaults to false. required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - message - reconciled - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token: get: operationId: listDBTServiceTokenRotations tags: - Secret Rotations description: List the DBT Service Token Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list DBT Service Token Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createDBTServiceTokenRotation tags: - Secret Rotations description: Create a DBT Service Token Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the DBT Service Token Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the DBT Service Token Rotation. connectionId: type: string format: uuid description: The ID of the DBT Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/{rotationId}: get: operationId: getDBTServiceTokenRotation tags: - Secret Rotations description: Get the specified DBT Service Token Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateDBTServiceTokenRotation tags: - Secret Rotations description: Update the specified DBT Service Token Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the DBT Service Token Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the DBT Service Token Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteDBTServiceTokenRotation tags: - Secret Rotations description: Delete the specified DBT Service Token Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/rotation-name/{rotationName}: get: operationId: getDBTServiceTokenRotationByName tags: - Secret Rotations description: Get the specified DBT Service Token Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the DBT Service Token Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the DBT Service Token Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the DBT Service Token Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the DBT Service Token Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/{rotationId}/generated-credentials: get: operationId: getDBTServiceTokenRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified DBT Service Token Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: serviceToken: type: string tokenId: type: number tokenName: type: string required: - serviceToken - tokenId - tokenName additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - dbt-service-token required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/{rotationId}/move: post: operationId: moveDBTServiceTokenRotation tags: - Secret Rotations description: Move the specified DBT Service Token Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/{rotationId}/rotate-secrets: post: operationId: rotateDBTServiceTokenRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified DBT Service Token Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - dbt name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - dbt-service-token parameters: type: object properties: tokenName: type: string minLength: 1 maxLength: 255 description: The name of the service token to create. permissionGrants: type: array items: type: object properties: permissionSet: type: string enum: - account_admin - account_viewer - admin - analyst - billing_admin - cost_insights_admin - cost_insights_viewer - cost_management_admin - cost_management_viewer - database_admin - developer - fusion_admin - git_admin - job_admin - job_runner - job_viewer - manage_marketplace_apps - member - metadata_only - owner - project_creator - readonly - scim_only - security_admin - semantic_layer_only - stakeholder - team_admin - webhooks_only projectId: type: number required: - permissionSet additionalProperties: false minItems: 1 description: The permission grants to apply to the service token. required: - tokenName - permissionGrants additionalProperties: false secretsMapping: type: object properties: serviceToken: type: string minLength: 1 description: The name of the secret that the service token will be mapped to. required: - serviceToken additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/dbt-service-token/{rotationId}/check-credentials: post: operationId: checkDBTServiceTokenRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified DBT Service Token Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the DBT Service Token Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account: get: operationId: listWindowsLocalAccountRotations tags: - Secret Rotations description: List the Windows Local Account Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Windows Local Account Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createWindowsLocalAccountRotation tags: - Secret Rotations description: Create a Windows Local Account Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Windows Local Account Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Windows Local Account Rotation. connectionId: type: string format: uuid description: The ID of the SMB Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false temporaryParameters: type: object properties: password: type: string description: The current password of the target user. Required if "parameters.rotationMethod" is set to "login-as-target". additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}: get: operationId: getWindowsLocalAccountRotation tags: - Secret Rotations description: Get the specified Windows Local Account Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateWindowsLocalAccountRotation tags: - Secret Rotations description: Update the specified Windows Local Account Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Windows Local Account Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Windows Local Account Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteWindowsLocalAccountRotation tags: - Secret Rotations description: Delete the specified Windows Local Account Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/rotation-name/{rotationName}: get: operationId: getWindowsLocalAccountRotationByName tags: - Secret Rotations description: Get the specified Windows Local Account Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Windows Local Account Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Windows Local Account Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Windows Local Account Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Windows Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}/generated-credentials: get: operationId: getWindowsLocalAccountRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Windows Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - windows-local-account required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}/move: post: operationId: moveWindowsLocalAccountRotation tags: - Secret Rotations description: Move the specified Windows Local Account Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}/rotate-secrets: post: operationId: rotateWindowsLocalAccountRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Windows Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}/check-credentials: post: operationId: checkWindowsLocalAccountRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Windows Local Account Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Windows Local Account Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/windows-local-account/{rotationId}/reconcile: post: tags: - Secret Rotations description: Reconcile Windows Local Account rotation credentials. This operation uses the Windows App Connection's administrator credentials to reset the password when credentials are out of sync. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the SSH Password Rotation to reconcile credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string reconciled: type: boolean secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - smb name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - windows-local-account parameters: type: object properties: username: type: string minLength: 1 maxLength: 20 description: The username of the Windows user account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-target". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - message - reconciled - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key: get: operationId: listOpenRouterAPIKeyRotations tags: - Secret Rotations description: List the OpenRouter API Key Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list OpenRouter API Key Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createOpenRouterAPIKeyRotation tags: - Secret Rotations description: Create an OpenRouter API Key Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the OpenRouter API Key Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the OpenRouter API Key Rotation. connectionId: type: string format: uuid description: The ID of the OpenRouter Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/{rotationId}: get: operationId: getOpenRouterAPIKeyRotation tags: - Secret Rotations description: Get the specified OpenRouter API Key Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateOpenRouterAPIKeyRotation tags: - Secret Rotations description: Update the specified OpenRouter API Key Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the OpenRouter API Key Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the OpenRouter API Key Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteOpenRouterAPIKeyRotation tags: - Secret Rotations description: Delete the specified OpenRouter API Key Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/rotation-name/{rotationName}: get: operationId: getOpenRouterAPIKeyRotationByName tags: - Secret Rotations description: Get the specified OpenRouter API Key Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the OpenRouter API Key Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the OpenRouter API Key Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the OpenRouter API Key Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the OpenRouter API Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/{rotationId}/generated-credentials: get: operationId: getOpenRouterAPIKeyRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified OpenRouter API Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: apiKey: type: string keyHash: type: string required: - apiKey - keyHash additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - open-router-api-key required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/{rotationId}/move: post: operationId: moveOpenRouterAPIKeyRotation tags: - Secret Rotations description: Move the specified OpenRouter API Key Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/{rotationId}/rotate-secrets: post: operationId: rotateOpenRouterAPIKeyRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified OpenRouter API Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - open-router name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - open-router-api-key parameters: type: object properties: name: type: string minLength: 1 maxLength: 100 description: The name for the generated OpenRouter API key. limit: type: number exclusiveMinimum: true minimum: 0 nullable: true description: The optional spending limit in USD for the generated API key. limitReset: type: string enum: - daily - weekly - monthly nullable: true description: The type of limit reset for the API key (daily, weekly, monthly, or null for no reset). includeByokInLimit: type: boolean nullable: true description: Whether to include BYOK (Bring Your Own Key) usage in the spending limit. When enabled, usage from your own provider keys counts toward this key's limit. See OpenRouter BYOK docs for details. required: - name additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated OpenRouter API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/open-router-api-key/{rotationId}/check-credentials: post: operationId: checkOpenRouterAPIKeyRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified OpenRouter API Key Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the OpenRouter API Key Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account: get: operationId: listHPiLOLocalAccountRotations tags: - Secret Rotations description: List the HP iLO Local Account Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list HP iLO Local Account Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createHPiLOLocalAccountRotation tags: - Secret Rotations description: Create a HP iLO Local Account Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the HP iLO Local Account Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the HP iLO Local Account Rotation. connectionId: type: string format: uuid description: The ID of the SSH Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false temporaryParameters: type: object properties: password: type: string description: The current password of the target user. Required if "parameters.rotationMethod" is set to "login-as-target". additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}: get: operationId: getHPiLOLocalAccountRotation tags: - Secret Rotations description: Get the specified HP iLO Local Account Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateHPiLOLocalAccountRotation tags: - Secret Rotations description: Update the specified HP iLO Local Account Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the HP iLO Local Account Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the HP iLO Local Account Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteHPiLOLocalAccountRotation tags: - Secret Rotations description: Delete the specified HP iLO Local Account Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/rotation-name/{rotationName}: get: operationId: getHPiLOLocalAccountRotationByName tags: - Secret Rotations description: Get the specified HP iLO Local Account Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the HP iLO Local Account Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the HP iLO Local Account Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the HP iLO Local Account Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the HP iLO Local Account Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}/generated-credentials: get: operationId: getHPiLOLocalAccountRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified HP iLO Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: username: type: string password: type: string required: - username - password additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - hp-ilo-local-account required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}/move: post: operationId: moveHPiLOLocalAccountRotation tags: - Secret Rotations description: Move the specified HP iLO Local Account Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}/rotate-secrets: post: operationId: rotateHPiLOLocalAccountRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified HP iLO Local Account Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}/check-credentials: post: operationId: checkHPiLOLocalAccountRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified HP iLO Local Account Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the HP iLO Local Account Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/hp-ilo-local-account/{rotationId}/reconcile: post: tags: - Secret Rotations description: Reconcile HP iLO Local Account rotation credentials. This operation uses the SSH app connection credentials to reset the password when credentials are out of sync. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the SSH Password Rotation to reconcile credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: message: type: string reconciled: type: boolean secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - ssh name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - hp-ilo-local-account parameters: type: object properties: username: type: string minLength: 1 description: The username of the HP iLO account to rotate the password for. passwordRequirements: type: object properties: length: type: number minimum: 1 maximum: 250 description: The length of the password to generate. required: type: object properties: digits: type: number minimum: 0 description: The amount of digits to require in the generated password. lowercase: type: number minimum: 0 description: The amount of lowercase characters to require in the generated password. uppercase: type: number minimum: 0 description: The amount of uppercase characters to require in the generated password. symbols: type: number minimum: 0 description: The amount of symbols to require in the generated password. required: - digits - lowercase - uppercase - symbols additionalProperties: false allowedSymbols: type: string pattern: '[!@#$%^&*()_+\-=\[\]{};'':"\\|,.<>\/?~]' description: The allowed symbols to use in the generated password (defaults to "-_.~!*"). required: - length - required additionalProperties: false description: The password requirements to use when generating the new password. rotationMethod: type: string enum: - login-as-target - login-as-root description: Whether the rotation should be performed using "login-as-target" (the target user's own credentials) or "login-as-root" (the SSH connection's admin credentials). Defaults to "login-as-root". required: - username additionalProperties: false secretsMapping: type: object properties: username: type: string minLength: 1 description: The name of the secret that the username will be mapped to. password: type: string minLength: 1 description: The name of the secret that the rotated password will be mapped to. required: - username - password additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - message - reconciled - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key: get: operationId: listSupabaseAPIKeyRotations tags: - Secret Rotations description: List the Supabase API Key Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Supabase API Key Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createSupabaseAPIKeyRotation tags: - Secret Rotations description: Create a Supabase API Key Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Supabase API Key Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Supabase API Key Rotation. connectionId: type: string format: uuid description: The ID of the Supabase Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/{rotationId}: get: operationId: getSupabaseAPIKeyRotation tags: - Secret Rotations description: Get the specified Supabase API Key Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateSupabaseAPIKeyRotation tags: - Secret Rotations description: Update the specified Supabase API Key Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Supabase API Key Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Supabase API Key Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteSupabaseAPIKeyRotation tags: - Secret Rotations description: Delete the specified Supabase API Key Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/rotation-name/{rotationName}: get: operationId: getSupabaseAPIKeyRotationByName tags: - Secret Rotations description: Get the specified Supabase API Key Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Supabase API Key Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Supabase API Key Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Supabase API Key Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Supabase API Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/{rotationId}/generated-credentials: get: operationId: getSupabaseAPIKeyRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Supabase API Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: apiKey: type: string keyId: type: string required: - apiKey - keyId additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - supabase-api-key required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/{rotationId}/move: post: operationId: moveSupabaseAPIKeyRotation tags: - Secret Rotations description: Move the specified Supabase API Key Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/{rotationId}/rotate-secrets: post: operationId: rotateSupabaseAPIKeyRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Supabase API Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - supabase name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - supabase-api-key parameters: type: object properties: projectRef: type: string minLength: 1 description: The reference ID of the Supabase project to rotate the API key for. keyType: type: string enum: - publishable - secret description: The type of the API key to rotate (e.g. publishable, secret). required: - projectRef - keyType additionalProperties: false secretsMapping: type: object properties: apiKey: type: string minLength: 1 description: The name of the secret that the rotated Supabase API key will be mapped to. required: - apiKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/supabase-api-key/{rotationId}/check-credentials: post: operationId: checkSupabaseAPIKeyRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Supabase API Key Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Supabase API Key Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials: get: operationId: listSalesforceOAuthCredentialsRotations tags: - Secret Rotations description: List the Salesforce OAuth Credentials Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Salesforce OAuth Credentials Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Create a Salesforce OAuth Credentials Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Salesforce OAuth Credentials Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Salesforce OAuth Credentials Rotation. connectionId: type: string format: uuid description: The ID of the Salesforce Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/{rotationId}: get: operationId: getSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Get the specified Salesforce OAuth Credentials Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Update the specified Salesforce OAuth Credentials Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Salesforce OAuth Credentials Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Salesforce OAuth Credentials Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Delete the specified Salesforce OAuth Credentials Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/rotation-name/{rotationName}: get: operationId: getSalesforceOAuthCredentialsRotationByName tags: - Secret Rotations description: Get the specified Salesforce OAuth Credentials Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Salesforce OAuth Credentials Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Salesforce OAuth Credentials Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Salesforce OAuth Credentials Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Salesforce OAuth Credentials Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/{rotationId}/generated-credentials: get: operationId: getSalesforceOAuthCredentialsRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Salesforce OAuth Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: consumerKey: type: string consumerSecret: type: string stagedCredentialUrl: type: string required: - consumerKey - consumerSecret - stagedCredentialUrl additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - salesforce-oauth-credentials required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/{rotationId}/move: post: operationId: moveSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Move the specified Salesforce OAuth Credentials Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/{rotationId}/rotate-secrets: post: operationId: rotateSalesforceOAuthCredentialsRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Salesforce OAuth Credentials Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - salesforce name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - salesforce-oauth-credentials parameters: type: object properties: appId: type: string minLength: 1 description: The identifier of the Salesforce External Client App to rotate the consumer secret for. appName: type: string minLength: 1 description: The developer name of the Salesforce External Client App to rotate the consumer secret for. required: - appId - appName additionalProperties: false secretsMapping: type: object properties: consumerKey: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer key will be mapped to. consumerSecret: type: string minLength: 1 description: The name of the secret that the rotated Salesforce consumer secret will be mapped to. required: - consumerKey - consumerSecret additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/salesforce-oauth-credentials/{rotationId}/check-credentials: post: operationId: checkSalesforceOAuthCredentialsRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Salesforce OAuth Credentials Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Salesforce OAuth Credentials Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret: get: operationId: listDatadogApplicationKeyRotations tags: - Secret Rotations description: List the Datadog Application Key Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Datadog Application Key Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createDatadogApplicationKeyRotation tags: - Secret Rotations description: Create a Datadog Application Key Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Datadog Application Key Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Datadog Application Key Rotation. connectionId: type: string format: uuid description: The ID of the Datadog Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/{rotationId}: get: operationId: getDatadogApplicationKeyRotation tags: - Secret Rotations description: Get the specified Datadog Application Key Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateDatadogApplicationKeyRotation tags: - Secret Rotations description: Update the specified Datadog Application Key Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Datadog Application Key Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Datadog Application Key Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteDatadogApplicationKeyRotation tags: - Secret Rotations description: Delete the specified Datadog Application Key Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/rotation-name/{rotationName}: get: operationId: getDatadogApplicationKeyRotationByName tags: - Secret Rotations description: Get the specified Datadog Application Key Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Datadog Application Key Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Datadog Application Key Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Datadog Application Key Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Datadog Application Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/{rotationId}/generated-credentials: get: operationId: getDatadogApplicationKeyRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Datadog Application Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: applicationKeyId: type: string applicationKey: type: string required: - applicationKeyId - applicationKey additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - datadog-application-key-secret required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/{rotationId}/move: post: operationId: moveDatadogApplicationKeyRotation tags: - Secret Rotations description: Move the specified Datadog Application Key Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/{rotationId}/rotate-secrets: post: operationId: rotateDatadogApplicationKeyRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Datadog Application Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - datadog name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - datadog-application-key-secret parameters: type: object properties: serviceAccountId: type: string minLength: 1 description: The ID of the Datadog service account to rotate the application key for. required: - serviceAccountId additionalProperties: false secretsMapping: type: object properties: applicationKeyId: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key ID will be mapped to. applicationKey: type: string minLength: 1 description: The name of the secret that the rotated Datadog application key value will be mapped to. required: - applicationKeyId - applicationKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/datadog-application-key-secret/{rotationId}/check-credentials: post: operationId: checkDatadogApplicationKeyRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Datadog Application Key Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Datadog Application Key Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key: get: operationId: listConvexAccessKeyRotations tags: - Secret Rotations description: List the Convex Access Key Rotations for the specified project. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project to list Convex Access Key Rotations from. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotations: type: array items: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotations additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false post: operationId: createConvexAccessKeyRotation tags: - Secret Rotations description: Create a Convex Access Key Rotation for the specified project. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The name of the Convex Access Key Rotation to create. Must be slug-friendly. projectId: type: string minLength: 1 description: The ID of the project to create the rotation in. description: type: string maxLength: 256 nullable: true description: An optional description for the Convex Access Key Rotation. connectionId: type: string format: uuid description: The ID of the Convex Connection to use for rotation. environment: type: string minLength: 1 maxLength: 64 description: The slug of the project environment to create the rotation in. secretPath: type: string minLength: 1 description: The secret path of the project to create the rotation in. isAutoRotationEnabled: type: boolean default: true description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The hours and minutes rotation should occur at in UTC. Defaults to Midnight (00:00) UTC. parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - name - projectId - connectionId - environment - secretPath - rotationInterval - parameters - secretsMapping additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/{rotationId}: get: operationId: getConvexAccessKeyRotation tags: - Secret Rotations description: Get the specified Convex Access Key Rotation by ID. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateConvexAccessKeyRotation tags: - Secret Rotations description: Update the specified Convex Access Key Rotation. requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 64 description: The updated name of the Convex Access Key Rotation. Must be slug-friendly. description: type: string maxLength: 256 nullable: true description: The updated description of the Convex Access Key Rotation. isAutoRotationEnabled: type: boolean description: Whether secrets should be automatically rotated when the specified rotation interval has elapsed. rotationInterval: type: number minimum: 1 description: The updated interval, in days, to automatically rotate secrets. rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false description: The updated hours and minutes rotation should occur at in UTC. parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteConvexAccessKeyRotation tags: - Secret Rotations description: Delete the specified Convex Access Key Rotation. parameters: - schema: type: string enum: - 'true' - 'false' in: query name: deleteSecrets required: false description: Whether the mapped secrets belonging to this rotation should be deleted. - schema: type: string enum: - 'true' - 'false' in: query name: revokeGeneratedCredentials required: false description: Whether the generated credentials associated with this rotation should be revoked. - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to be deleted. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/rotation-name/{rotationName}: get: operationId: getConvexAccessKeyRotationByName tags: - Secret Rotations description: Get the specified Convex Access Key Rotation by name, secret path, environment and project ID. parameters: - schema: type: string minLength: 1 in: query name: projectId required: true description: The ID of the project the Convex Access Key Rotation is located in. - schema: type: string minLength: 1 in: query name: secretPath required: true description: The secret path the Convex Access Key Rotation is located at. - schema: type: string minLength: 1 in: query name: environment required: true description: The environment the Convex Access Key Rotation is located in. - schema: type: string minLength: 1 in: path name: rotationName required: true description: The name of the Convex Access Key Rotation to retrieve. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/{rotationId}/generated-credentials: get: operationId: getConvexAccessKeyRotationGeneratedCredentials tags: - Secret Rotations description: Get the generated credentials for the specified Convex Access Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to retrieve the generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: generatedCredentials: type: array items: type: object properties: accessKeyId: type: string accessKey: type: string required: - accessKeyId - accessKey additionalProperties: false minItems: 1 maxItems: 2 activeIndex: type: number rotationId: type: string format: uuid type: type: string enum: - convex-access-key required: - generatedCredentials - activeIndex - rotationId - type additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/{rotationId}/move: post: operationId: moveConvexAccessKeyRotation tags: - Secret Rotations description: Move the specified Convex Access Key Rotation to a different secret path or environment. requestBody: required: true content: application/json: schema: type: object properties: destinationEnvironment: type: string minLength: 1 destinationSecretPath: type: string minLength: 1 overwriteDestination: type: boolean default: false required: - destinationEnvironment - destinationSecretPath additionalProperties: false parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to be updated. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/{rotationId}/rotate-secrets: post: operationId: rotateConvexAccessKeyRotation tags: - Secret Rotations description: Rotate the generated credentials for the specified Convex Access Key Rotation. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to rotate generated credentials for. responses: '200': description: Default Response content: application/json: schema: type: object properties: secretRotation: type: object properties: id: type: string format: uuid name: type: string description: type: string nullable: true isAutoRotationEnabled: type: boolean default: true activeIndex: type: number default: 0 folderId: type: string format: uuid connectionId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time rotationInterval: type: number rotationStatus: type: string lastRotationAttemptedAt: type: string format: date-time lastRotatedAt: type: string format: date-time lastRotationJobId: type: string nullable: true nextRotationAt: type: string format: date-time nullable: true isLastRotationManual: type: boolean default: true connection: type: object properties: app: type: string enum: - convex name: type: string id: type: string format: uuid required: - app - name - id additionalProperties: false environment: type: object properties: slug: type: string name: type: string id: type: string format: uuid required: - slug - name - id additionalProperties: false projectId: type: string folder: type: object properties: id: type: string path: type: string required: - id - path additionalProperties: false rotateAtUtc: type: object properties: hours: type: number minimum: 0 maximum: 23 minutes: type: number minimum: 0 maximum: 59 required: - hours - minutes additionalProperties: false lastRotationMessage: type: string nullable: true type: type: string enum: - convex-access-key parameters: type: object properties: namePrefix: type: string minLength: 1 description: A prefix to use when naming the generated Convex access key. required: - namePrefix additionalProperties: false secretsMapping: type: object properties: accessKey: type: string minLength: 1 description: The name of the secret that the rotated Convex access key will be mapped to. required: - accessKey additionalProperties: false required: - id - name - folderId - connectionId - createdAt - updatedAt - rotationInterval - rotationStatus - lastRotationAttemptedAt - lastRotatedAt - connection - environment - projectId - folder - rotateAtUtc - type - parameters - secretsMapping additionalProperties: false required: - secretRotation additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/secret-rotations/convex-access-key/{rotationId}/check-credentials: post: operationId: checkConvexAccessKeyRotationCredentials tags: - Secret Rotations description: Check whether the active credentials for the specified Convex Access Key Rotation are still valid against the upstream system. parameters: - schema: type: string format: uuid in: path name: rotationId required: true description: The ID of the Convex Access Key Rotation to check active credentials for. responses: '204': description: Default Response content: application/json: schema: type: string minLength: 0 maxLength: 0 '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: An access token in Infisical