Update a membership
PATCH
/v1/projects/{projectId}/memberships/{membershipId}curl -X PATCH 'https://api.embodiflow.io/v1/projects/{projectId}/memberships/{membershipId}' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"expiresAt": "2026-01-01T00:00:00Z",
"role": "owner",
"roles": "owner",
"status": "active",
"permissionsOverlay": {
"grants": "project:read",
"denies": "project:read"
}
}'Authorization
Send a personal access token with every request.
- Authorization: Bearer PAT
Path parameters
- projectIdstringrequired
- membershipIdstringrequired
Request body
Content-Typeapplication/json
- expiresAtstring (date-time) | null
- rolestringAllowed valuesownereditorreviewerlabelervieweruploaderdata_supplier
- rolesarray<string>
- statusstringAllowed valuesactivedisabledremoved
- permissionsOverlayobject | null
- grantsarray<string>
- deniesarray<string>
Responses
Success
- dataobjectrequired
- projectMembershipIdstringrequired
- projectMembershipIdsarray<string>
- membershipIdstringrequired
- userIdstringrequired
- displayNamestring | nullrequired
- emailstring | nullrequired
- rolestringrequiredAllowed valuesownerviewerreviewereditorlabeleruploaderdata_supplier
- rolesarray<string>required
- roleAssignmentsarray<ProjectRoleAssignmentDto>
- roleSourcesarray<string>required
- statusstringrequired
- joinedAtstringrequired
- lastAccessedAtstring | nullrequired
- expiresAtstring | null
- permissionsOverlayobject
- effectivePermissionsobject
- capabilitiesobject
Response example
{
"data": {
"projectMembershipId": "string",
"projectMembershipIds": [
"string"
],
"membershipId": "string",
"userId": "string",
"displayName": "string",
"email": "string",
"role": "owner",
"roles": "owner",
"roleAssignments": [
{
"projectMembershipId": "string",
"role": "owner",
"source": "string"
}
],
"roleSources": [
"string"
],
"status": "string",
"joinedAt": "string",
"lastAccessedAt": "string",
"expiresAt": "string",
"permissionsOverlay": {
"grants": "project:read",
"denies": "project:read"
},
"effectivePermissions": {
"rolePermissions": "project:read",
"grants": "project:read",
"denies": "project:read",
"effective": "project:read"
},
"capabilities": {
"canViewProject": false,
"canViewDatasets": false,
"canViewProcessing": false,
"canUploadData": false,
"canSubmitUploadBatch": false,
"canRunProcessing": false,
"canViewAnalytics": false,
"canEditProcessingTemplates": false,
"canPublishProcessingTemplates": false,
"canRollbackProcessingTemplates": false,
"canSetDefaultProcessingTemplate": false,
"canEditProjectSettings": false,
"canManageMembers": false,
"canArchiveProject": false,
"canDeleteProject": false
}
}
}Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1