Infisical Projects API

The Projects API from Infisical — 10 operation(s) for projects.

Operations 18

GET /api/v1/workspace/{workspaceId}/secret-snapshots
GET /api/v1/projects/{projectId}/secret-snapshots
GET /api/v1/workspace/{workspaceId}
DELETE /api/v1/workspace/{workspaceId}
PATCH /api/v1/workspace/{workspaceId}
POST /api/v1/projects #
GET /api/v1/projects #
GET /api/v1/projects/{projectId} #
DELETE /api/v1/projects/{projectId} #
PATCH /api/v1/projects/{projectId} #
GET /api/v1/projects/slug/{slug} #
GET /api/v1/projects/{projectId}/secret-validation-rules
POST /api/v1/projects/{projectId}/secret-validation-rules
PATCH /api/v1/projects/{projectId}/secret-validation-rules/{ruleId}
DELETE /api/v1/projects/{projectId}/secret-validation-rules/{ruleId}
POST /api/v2/workspace
DELETE /api/v2/workspace/{slug}
GET /api/v2/workspace/{slug}

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/infisical-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

infisical-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Infisical Admin Projects 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: Projects
paths:
  /api/v1/workspace/{workspaceId}/secret-snapshots:
    get:
      tags:
      - Projects
      description: Return project secret snapshots ids
      parameters:
      - schema:
          type: string
        in: query
        name: environment
        required: true
        description: The environment to get snapshots from.
      - schema:
          type: string
          default: /
        in: query
        name: path
        required: false
        description: The secret path to get snapshots from.
      - schema:
          type: number
          default: 0
        in: query
        name: offset
        required: false
        description: The offset to start from. If you enter 10, it will start from the 10th snapshot.
      - schema:
          type: number
          default: 20
        in: query
        name: limit
        required: false
        description: The number of snapshots to return.
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
        description: The ID of the project to get snapshots from.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  secretSnapshots:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        envId:
                          type: string
                          format: uuid
                        folderId:
                          type: string
                          format: uuid
                        parentFolderId:
                          type:
                          - string
                          - 'null'
                          format: uuid
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                      - id
                      - envId
                      - folderId
                      - createdAt
                      - updatedAt
                      additionalProperties: false
                required:
                - secretSnapshots
                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/v1/projects/{projectId}/secret-snapshots:
    get:
      tags:
      - Projects
      description: Return project secret snapshots ids
      parameters:
      - schema:
          type: string
        in: query
        name: environment
        required: true
        description: The environment to get snapshots from.
      - schema:
          type: string
          default: /
        in: query
        name: path
        required: false
        description: The secret path to get snapshots from.
      - schema:
          type: number
          default: 0
        in: query
        name: offset
        required: false
        description: The offset to start from. If you enter 10, it will start from the 10th snapshot.
      - schema:
          type: number
          default: 20
        in: query
        name: limit
        required: false
        description: The number of snapshots to return.
      - schema:
          type: string
        in: path
        name: projectId
        required: true
        description: The ID of the project to get snapshots from.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  secretSnapshots:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        envId:
                          type: string
                          format: uuid
                        folderId:
                          type: string
                          format: uuid
                        parentFolderId:
                          type:
                          - string
                          - 'null'
                          format: uuid
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                      - id
                      - envId
                      - folderId
                      - createdAt
                      - updatedAt
                      additionalProperties: false
                required:
                - secretSnapshots
                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/v1/workspace/{workspaceId}:
    get:
      tags:
      - Projects
      description: Get project
      parameters:
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
        description: The ID of the project.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      description:
                        type:
                        - string
                        - 'null'
                      type:
                        type: string
                      defaultProduct:
                        type:
                        - string
                        - 'null'
                      slug:
                        type: string
                      autoCapitalization:
                        type:
                        - boolean
                        - 'null'
                        default: false
                      orgId:
                        type: string
                        format: uuid
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: number
                        default: 1
                      upgradeStatus:
                        type:
                        - string
                        - 'null'
                      pitVersionLimit:
                        type: number
                        default: 10
                      kmsCertificateKeyId:
                        type:
                        - string
                        - 'null'
                        format: uuid
                      auditLogsRetentionDays:
                        type:
                        - number
                        - 'null'
                      hasDeleteProtection:
                        type:
                        - boolean
                        - 'null'
                        default: false
                      secretSharing:
                        type: boolean
                        default: true
                      showSnapshotsLegacy:
                        type: boolean
                        default: false
                      secretDetectionIgnoreValues:
                        type:
                        - array
                        - 'null'
                        items:
                          type: string
                      enforceEncryptedSecretManagerSecretMetadata:
                        type:
                        - boolean
                        - 'null'
                      _id:
                        type: string
                      environments:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                            slug:
                              type: string
                            id:
                              type: string
                          required:
                          - name
                          - slug
                          - id
                          additionalProperties: false
                    required:
                    - id
                    - name
                    - type
                    - slug
                    - orgId
                    - createdAt
                    - updatedAt
                    - _id
                    - environments
                    additionalProperties: false
                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:
      tags:
      - Projects
      description: Delete project
      parameters:
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
        description: The ID of the project to delete.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      description:
                        type:
                        - string
                        - 'null'
                      type:
                        type: string
                      defaultProduct:
                        type:
                        - string
                        - 'null'
                      slug:
                        type: string
                      autoCapitalization:
                        type:
                        - boolean
                        - 'null'
                        default: false
                      orgId:
                        type: string
                        format: uuid
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: number
                        default: 1
                      upgradeStatus:
                        type:
                        - string
                        - 'null'
                      pitVersionLimit:
                        type: number
                        default: 10
                      kmsCertificateKeyId:
                        type:
                        - string
                        - 'null'
                        format: uuid
                      auditLogsRetentionDays:
                        type:
                        - number
                        - 'null'
                      hasDeleteProtection:
                        type:
                        - boolean
                        - 'null'
                        default: false
                      secretSharing:
                        type: boolean
                        default: true
                      showSnapshotsLegacy:
                        type: boolean
                        default: false
                      secretDetectionIgnoreValues:
                        type:
                        - array
                        - 'null'
                        items:
                          type: string
                      enforceEncryptedSecretManagerSecretMetadata:
                        type:
                        - boolean
                        - 'null'
                    required:
                    - id
                    - name
                    - type
                    - slug
                    - orgId
                    - createdAt
                    - updatedAt
                    additionalProperties: false
                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:
      tags:
      - Projects
      description: Update project
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 64
                  description: The new name of the project.
                description:
                  type: string
                  maxLength: 1024
                  description: An optional description label for the project.
                autoCapitalization:
                  type: boolean
                  description: Disable or enable auto-capitalization for the project.
                hasDeleteProtection:
                  type: boolean
                  description: Enable or disable delete protection for the project.
                slug:
                  type: string
                  maxLength: 64
                  description: An optional slug for the project. (must be unique within the organization)
                secretSharing:
                  type: boolean
                  description: Enable or disable secret sharing for the project.
                showSnapshotsLegacy:
                  type: boolean
                  description: Enable or disable legacy snapshots for the project.
                defaultProduct:
                  type: string
                  enum:
                  - secret-manager
                  - cert-manager
                  - kms
                  - ssh
                  - secret-scanning
                  - pam
                  - ai
                  description: The default product in which the project will open
                secretDetectionIgnoreValues:
                  type: array
                  items:
                    type: string
                  description: The list of secret values to ignore for secret detection.
              additionalProperties: false
      parameters:
      - schema:
          type: string
        in: path
        name: workspaceId
        required: true
        description: The ID of the project to update.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      description:
                        type:
                        - string
                        - 'null'
                      type:
                        type: string
                      defaultProduct:
                        type:
                        - string
                        - 'null'
                      slug:
                        type: string
                      autoCapitalization:
                        type:
                        - boolean
                        - 'null'
                        default: false
                      orgId:
                        type: string
                        format: uuid
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: number
                        default: 1
                      upgradeStatus:
                        type:
                        - string
                        - 'null'
                      pitVersionLimit:
                        type: number
                        default: 10
                      kmsCertificateKeyId:
                        type:
                        - string
                        - 'null'
                        format: uuid
                      auditLogsRetentionDays:
                        type:
                        - number
                        - 'null'
 

# --- truncated at 32 KB (180 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-projects-api-openapi.yml