docs: enhance Generate Session and Creator Mode documentation with ne…#10823
docs: enhance Generate Session and Creator Mode documentation with ne…#10823vasilev-alex merged 3 commits intomasterfrom
Conversation
…w parameters and examples
|
Claude finished @vasilev-alex's task in 1m 40s —— View job Review of PR #10823
Overall AssessmentThis is a well-written documentation enhancement. The new sections for User Attributes, Groups, Creator Mode bootstrapping, and the Embed-tenant Admin API are clear, well-structured, and follow the repo's docs style guide (reference links at bottom, proper use of What looks good
Issues to addressI've left 3 inline comments. Summary:
Minor observations (non-blocking)
|
| <InfoBox> | ||
|
|
||
| When using `internalId`, the user must already exist in Cube Cloud. You cannot specify `roles`, `groups`, `userAttributes`, or `securityContext` with `internalId` — the internal user's existing permissions are used instead. | ||
| When using `internalId`, the user must already exist in Cube Cloud. You cannot specify `groups`, `userAttributes`, `groupDefinitions`, `userAttributeDefinitions`, or `securityContext` with `internalId` — the internal user's existing permissions are used instead. |
There was a problem hiding this comment.
Nit: The old InfoBox listed roles in the disallowed-with-internalId set. This PR replaces it with groupDefinitions and userAttributeDefinitions but drops roles entirely. Was roles intentionally removed as a supported field, or should it still be mentioned here?
For reference, chat-api.mdx:95 still lists roles in an identical sentence:
You cannot specify
roles,groups,userAttributes, orsecurityContextwithinternalId…
If roles is no longer a valid field, chat-api.mdx should be updated too for consistency.
| | `name` | string | Yes | Attribute name. Existing attributes with this name are reused. | | ||
| | `type` | enum | Yes | One of `string`, `number`, `string_array`, `number_array`. **Immutable** — see below. | | ||
| | `displayName` | string | No | Updated when supplied and different from the stored value. | | ||
| | `defaultValue` | string | No | Updated when supplied and different from the stored value. | |
There was a problem hiding this comment.
Question: defaultValue is typed as string here, but value in userAttributes supports string | number | string[] | number[]. If the attribute type can be number, string_array, or number_array, should defaultValue also accept those types (or at least be documented as "serialized as a string")?
| ## Embed-tenant admin API | ||
|
|
||
| To list or delete the groups and attributes that have been bootstrapped into an embed tenant, use the admin endpoints scoped to that tenant: | ||
|
|
||
| ``` | ||
| GET /api/v1/embed-tenants/{embedTenantName}/groups | ||
| DELETE /api/v1/embed-tenants/{embedTenantName}/groups/{id} | ||
| GET /api/v1/embed-tenants/{embedTenantName}/user-attributes | ||
| DELETE /api/v1/embed-tenants/{embedTenantName}/user-attributes/{id} | ||
| ``` | ||
|
|
||
| These endpoints use the same `Api-Key` authentication as Generate Session and require admin access. List endpoints return cursor-paginated results (`?first=`, `?after=`). |
There was a problem hiding this comment.
Suggestion: This new section introduces four admin API endpoints but doesn't document their response shapes or error codes. Consider adding at minimum:
- The response object shape for the
GET(list) endpoints (what fields each group/attribute object contains). - Expected HTTP status codes (e.g.
404for unknown tenant,204for successful delete). - Whether
DELETEis idempotent (what happens if the ID doesn't exist).
If this is intentionally kept brief for now, a note like "See the full API reference for response schemas" with a link would help readers know where to find more detail.
…w parameters and examples
Check List