Update project access
OpenAPI contract
- Method
- PATCH
- Path
/api/v1/projects/{id}/access- Security
- jwtBearer (bearer)
- Response status
- 200 400 401 403 404 409 429 500
Request and response schemas
JSON
{
"requestBody": {
"application/json": {
"$ref": "#/components/schemas/UpdateProjectAccessRequest"
}
},
"responses": {
"200": {
"description": "Project access updated",
"content": {
"application/json": {
"$ref": "#/components/schemas/ProjectAccessResponse"
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"$ref": "#/components/schemas/RequestError"
}
}
},
"401": {
"description": "Authentication required or invalid",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"403": {
"description": "Authenticated but not permitted",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"404": {
"description": "Requested project or build was not found",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
},
"409": {
"description": "Request conflicts with current project state",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
},
"429": {
"description": "HTTP rate limit or API-key NCU usage limit exceeded",
"content": {
"application/json": {
"$ref": "#/components/schemas/RateLimitError"
}
}
},
"500": {
"description": "Unexpected server error",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}PATCH /api/v1/projects/{id}/access is JWT-only and requires project-management capability. Send accessMode as WORKSPACE or RESTRICTED; the response returns the updated mode together with the caller's effective role and capabilities.
Changing the mode does not create or remove direct grants. RESTRICTED projects remain visible only through an applicable direct grant or authorized control-plane management. An nfy_ automation key cannot call this operation.
json
{"accessMode":"RESTRICTED"}