Infisical Project Groups API
The Project Groups API from Infisical — 9 operation(s) for project groups.
The Project Groups API from Infisical — 9 operation(s) for project groups.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/infisical-project-groups-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Infisical Admin Project Groups 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: Project Groups
paths:
/api/v1/projects/{projectId}/groups/{groupIdOrName}:
post:
operationId: addGroupToProject
tags:
- Project Groups
description: 'Deprecated: Use POST /api/v1/projects/:projectId/memberships/groups/:groupId instead. Add group to project.'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
role:
type: string
minLength: 1
default: no-access
description: The role for the group to assume in the project.
roles:
type: array
items:
anyOf:
- type: object
properties:
role:
type: string
isTemporary:
type: boolean
enum:
- false
default: false
required:
- role
additionalProperties: false
- type: object
properties:
role:
type: string
isTemporary:
type: boolean
enum:
- true
temporaryMode:
type: string
enum:
- relative
temporaryRange:
type: string
temporaryAccessStartTime:
type: string
format: date-time
required:
- role
- isTemporary
- temporaryMode
- temporaryRange
- temporaryAccessStartTime
additionalProperties: false
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: projectId
required: true
description: The ID of the project to add the group to.
- schema:
type: string
in: path
name: groupIdOrName
required: true
description: The ID or name of the group to add to the project.
deprecated: true
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
groupMembership:
type: object
properties:
id:
type: string
format: uuid
projectId:
type: string
groupId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- projectId
- groupId
- createdAt
- updatedAt
additionalProperties: false
required:
- groupMembership
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}/groups/{groupId}:
patch:
operationId: updateProjectGroup
tags:
- Project Groups
description: 'Deprecated: Use PATCH /api/v1/projects/:projectId/memberships/groups/:groupId instead. Update group in project.'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
roles:
type: array
items:
anyOf:
- type: object
properties:
role:
type: string
isTemporary:
type: boolean
enum:
- false
default: false
required:
- role
additionalProperties: false
- type: object
properties:
role:
type: string
isTemporary:
type: boolean
enum:
- true
temporaryMode:
type: string
enum:
- relative
temporaryRange:
type: string
temporaryAccessStartTime:
type: string
format: date-time
required:
- role
- isTemporary
- temporaryMode
- temporaryRange
- temporaryAccessStartTime
additionalProperties: false
minItems: 1
description: A list of roles to update the group to.
required:
- roles
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: projectId
required: true
description: The ID of the project to update the group in.
- schema:
type: string
in: path
name: groupId
required: true
description: The ID of the group to update in the project.
deprecated: true
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
roles:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
role:
type: string
projectMembershipId:
type: string
format: uuid
customRoleId:
type:
- string
- 'null'
format: uuid
isTemporary:
type: boolean
default: false
temporaryMode:
type:
- string
- 'null'
temporaryRange:
type:
- string
- 'null'
temporaryAccessStartTime:
type:
- string
- 'null'
format: date-time
temporaryAccessEndTime:
type:
- string
- 'null'
format: date-time
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- role
- projectMembershipId
- createdAt
- updatedAt
additionalProperties: false
required:
- roles
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: removeGroupFromProject
tags:
- Project Groups
description: 'Deprecated: Use DELETE /api/v1/projects/:projectId/memberships/groups/:groupId instead. Remove group from project.'
parameters:
- schema:
type: string
in: path
name: projectId
required: true
description: The ID of the project to delete the group from.
- schema:
type: string
in: path
name: groupId
required: true
description: The ID of the group to delete from the project.
deprecated: true
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
groupMembership:
type: object
properties:
id:
type: string
format: uuid
projectId:
type: string
groupId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- projectId
- groupId
- createdAt
- updatedAt
additionalProperties: false
required:
- groupMembership
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
get:
operationId: getProjectGroup
tags:
- Project Groups
description: 'Deprecated: Use GET /api/v1/projects/:projectId/memberships/groups/:groupId instead. Return project group.'
parameters:
- schema:
type: string
in: path
name: projectId
required: true
- schema:
type: string
in: path
name: groupId
required: true
deprecated: true
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
groupMembership:
type: object
properties:
id:
type: string
groupId:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
roles:
type: array
items:
type: object
properties:
id:
type: string
role:
type: string
customRoleId:
type:
- string
- 'null'
customRoleName:
type:
- string
- 'null'
customRoleSlug:
type:
- string
- 'null'
isTemporary:
type: boolean
temporaryMode:
type:
- string
- 'null'
temporaryRange:
type:
- string
- 'null'
temporaryAccessStartTime:
type:
- string
- 'null'
format: date-time
temporaryAccessEndTime:
type:
- string
- 'null'
format: date-time
required:
- id
- role
- isTemporary
additionalProperties: false
group:
type: object
properties:
name:
type: string
id:
type: string
format: uuid
slug:
type: string
required:
- name
- id
- slug
additionalProperties: false
required:
- id
- groupId
- createdAt
- updatedAt
- roles
- group
additionalProperties: false
required:
- groupMembership
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}/groups:
get:
operationId: listProjectGroups
tags:
- Project Groups
description: 'Deprecated: Use GET /api/v1/projects/:projectId/memberships/groups instead. Return list of groups in project.'
parameters:
- schema:
type: string
in: path
name: projectId
required: true
description: The ID of the project to list groups for.
deprecated: true
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
groupMemberships:
type: array
items:
type: object
properties:
id:
type: string
groupId:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
roles:
type: array
items:
type: object
properties:
id:
type: string
role:
type: string
customRoleId:
type:
- string
- 'null'
customRoleName:
type:
- string
- 'null'
customRoleSlug:
type:
- string
- 'null'
isTemporary:
type: boolean
temporaryMode:
type:
- string
- 'null'
temporaryRange:
type:
- string
- 'null'
temporaryAccessStartTime:
type:
- string
- 'null'
format: date-time
temporaryAccessEndTime:
type:
# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-project-groups-api-openapi.yml