Create a member
POST
/v1/projects/{projectId}/memberscurl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/members' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"membershipId": "string",
"role": "owner",
"roles": "owner"
}'Authorization
Send a personal access token with every request.
- Authorization: Bearer PAT
Path parameters
- projectIdstringrequired
Header parameters
- Idempotency-Keystring
Optional idempotency key, at most 255 characters (UUIDv4 recommended). A repeated key returns the first response byte-for-byte, including a 5xx. The same key with a different body, or a second in-flight request, returns 409 IDEMPOTENCY_CONFLICT. Keys are unique per tenant and retained for 24 hours.
Request body
Content-Typeapplication/json
- membershipIdstringrequired
- rolestringAllowed valuesownereditorreviewerlabelervieweruploaderdata_supplier
- rolesarray<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