Skip to content

Add consumer apis#11

Merged
herber merged 1 commit intomainfrom
add-consumer-apis
Apr 2, 2026
Merged

Add consumer apis#11
herber merged 1 commit intomainfrom
add-consumer-apis

Conversation

@herber
Copy link
Copy Markdown
Member

@herber herber commented Apr 2, 2026

Note

Medium Risk
Medium risk because it expands and reshapes the generated client API surface (new endpoints, new request params, and removal/migration of several api_keys methods), which may be breaking for SDK consumers even though changes are largely mechanical and generated.

Overview
Adds generated SDK support for consumers and consumer surfaces across top-level, dashboard instance, and management instance namespaces, including list/get/create/update flows plus consumer profile listing.

Extends several existing list/create endpoints with new consumer-related filters/fields (e.g., consumer_id, consumer_profile_id, actor_id, identity filters) and updates identity actor models to include a consumer field; also simplifies identity-actor list item typing to raw Dict items.

Restructures API key support by trimming MetorialApiKeysEndpoint down to rotate/reveal and introducing dedicated dashboard_organizations_api_keys and management_organization_api_keys endpoints for list/get/create/update/revoke, alongside updated exports/initializers.

Written by Cursor Bugbot for commit 6c544b1. This will update automatically on new commits. Configure here.

@herber herber self-assigned this Apr 2, 2026
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

consumer_id=data.get('consumer_id'),
created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None,
updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None,
surface=mapConsumersProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing mapper classes cause runtime NameError on deserialization

High Severity

mapConsumersProfilesGetOutput.from_dict references mapConsumersProfilesGetOutputGroups and mapConsumersProfilesGetOutputSurface, but neither mapper class is defined in the file or imported. The same issue exists for the DashboardInstance variant. The dataclass definitions for the nested types exist, but the corresponding mapper classes needed for deserialization were not generated. This will cause a NameError at runtime whenever consumer profile data containing groups or surface is deserialized.

Additional Locations (1)
Fix in Cursor Fix in Web

@herber herber merged commit 6c544b1 into main Apr 2, 2026
10 checks passed
@herber herber deleted the add-consumer-apis branch April 2, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant