Infisical Project Users API
The Project Users API from Infisical — 8 operation(s) for project users.
The Project Users API from Infisical — 8 operation(s) for project users.
openapi: 3.0.3
info:
title: Infisical Admin Project Users 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 Users
paths:
/api/v1/workspace/{workspaceId}/memberships:
get:
tags:
- Project Users
description: Return project user memberships
parameters:
- schema:
type: string
in: path
name: workspaceId
required: true
description: The ID of the project to get memberships from.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
memberships:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
createdAt:
type: string
format: date-time
userId:
type: string
format: uuid
projectId:
type: string
user:
type: object
properties:
username:
type: string
email:
type: string
nullable: true
isEmailVerified:
type: boolean
default: false
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
authMethods:
type: array
items:
type: string
nullable: true
id:
type: string
format: uuid
publicKey:
type: string
nullable: true
required:
- username
- id
additionalProperties: false
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
required:
- id
- createdAt
- userId
- projectId
- user
- roles
additionalProperties: false
required:
- memberships
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}/memberships/details:
post:
tags:
- Project Users
description: Return project user memberships
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
username:
type: string
minLength: 1
description: The username to get project membership of. Email is the default username.
required:
- username
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: workspaceId
required: true
description: The ID of the project to get memberships from.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
membership:
type: object
properties:
id:
type: string
format: uuid
userId:
type: string
format: uuid
projectId:
type: string
user:
type: object
properties:
username:
type: string
email:
type: string
nullable: true
isEmailVerified:
type: boolean
default: false
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
authMethods:
type: array
items:
type: string
nullable: true
id:
type: string
format: uuid
publicKey:
type: string
nullable: true
required:
- username
- id
additionalProperties: false
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
required:
- id
- userId
- projectId
- user
- roles
additionalProperties: false
required:
- membership
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}/memberships/{membershipId}:
patch:
tags:
- Project Users
description: Update project user membership
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 membership to.
required:
- roles
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: workspaceId
required: true
description: The ID of the project to update the membership for.
- schema:
type: string
in: path
name: membershipId
required: true
description: The ID of the membership to update.
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
/api/v1/projects/{projectId}/memberships:
get:
tags:
- Project Users
description: Return project user memberships
parameters:
- schema:
type: string
in: path
name: projectId
required: true
description: The ID of the project to get memberships from.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
memberships:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
createdAt:
type: string
format: date-time
userId:
type: string
format: uuid
projectId:
type: string
user:
type: object
properties:
username:
type: string
email:
type: string
nullable: true
isEmailVerified:
type: boolean
default: false
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
authMethods:
type: array
items:
type: string
nullable: true
id:
type: string
format: uuid
publicKey:
type: string
nullable: true
required:
- username
- id
additionalProperties: false
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
required:
- id
- createdAt
- userId
- projectId
- user
- roles
additionalProperties: false
required:
- memberships
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:
# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-project-users-api-openapi.yml