Add Project Grant​
Grant a project to another organization. The project grant will allow the granted organization to access the project and manage the authorizations for its users. Project Grant will be listed in the granted project of the granted organization
Path Parameters
projectId string required
Header Parameters
x-zitadel-orgid string
The default is always the organization of the requesting user. If you like to change/get objects of another organization include the header. Make sure the requesting user has permission to access the requested data.
application/json
application/grpc
application/grpc-web+proto
Request Body required
grantedOrgId string
roleKeys string[]
Request Body required
grantedOrgId string
roleKeys string[]
Request Body required
grantedOrgId string
roleKeys string[]
Responses
- 200
- default
A successful response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
grantId string
details object
{
"grantId": "28746028909593987",
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.168Z",
"changeDate": "2024-03-27T10:05:51.168Z",
"resourceOwner": "69629023906488334"
}
}
Schema
Example (from schema)
Schema
grantId string
details object
{
"grantId": "28746028909593987",
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.168Z",
"changeDate": "2024-03-27T10:05:51.168Z",
"resourceOwner": "69629023906488334"
}
}
Schema
Example (from schema)
Schema
grantId string
details object
{
"grantId": "28746028909593987",
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.168Z",
"changeDate": "2024-03-27T10:05:51.168Z",
"resourceOwner": "69629023906488334"
}
}
An unexpected error response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /projects/:projectId/grants
Authorization
name: OAuth2type: oauth2scopes:openid,urn:zitadel:iam:org:project:id:zitadel:aud
flows: { "authorizationCode": { "authorizationUrl": "$CUSTOM-DOMAIN/oauth/v2/authorize", "tokenUrl": "$CUSTOM-DOMAIN/oauth/v2/token", "scopes": { "openid": "openid", "urn:zitadel:iam:org:project:id:zitadel:aud": "urn:zitadel:iam:org:project:id:zitadel:aud" } } }
Request
Request
curl / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
python / requests
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
go / native
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
nodejs / axios
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
ruby / Net::HTTP
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
csharp / RestSharp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
php / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
java / OkHttp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'
powershell / RestMethod
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/projects/:projectId/grants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"grantedOrgId": "28746028909593987",
"roleKeys": [
"RoleKey1",
"RoleKey2"
]
}'