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.
openapi: 3.0.3
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
format: uuid
nullable: true
isTemporary:
type: boolean
default: false
temporaryMode:
type: string
nullable: true
temporaryRange:
type: string
nullable: true
temporaryAccessStartTime:
type: string
format: date-time
nullable: true
temporaryAccessEndTime:
type: string
format: date-time
nullable: true
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
nullable: true
customRoleName:
type: string
nullable: true
customRoleSlug:
type: string
nullable: true
isTemporary:
type: boolean
temporaryMode:
type: string
nullable: true
temporaryRange:
type: string
nullable: true
temporaryAccessStartTime:
type: string
format: date-time
nullable: true
temporaryAccessEndTime:
type: string
format: date-time
nullable: true
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
nullable: true
customRoleName:
type: string
nullable: true
customRoleSlug:
type: string
nullable: true
isTemporary:
type: boolean
temporaryMode:
type: string
nullable: true
temporaryRange:
type: string
nullable: true
temporaryAccessStartTime:
type: string
format: date-time
nullable: true
temporaryAccessEndTime:
type: string
format: date-time
nullable: true
required:
- id
- role
- isTemporary
additionalProperties: false
group:
type: object
properties:
id:
type:
# --- truncated at 32 KB (118 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-project-groups-api-openapi.yml