- REST —
POST/GET /v2/<resource>.<verb>with JSON bodies / query strings. This is what the per-endpoint reference pages document. - Connect RPC —
POST /<package>.<Service>/<Method>with the same JSON body shape (orapplication/connect+protofor typed Connect clients).
X-API-Key), the same request/response payload, and the same {ok, request_id, ...} response wrapper.
URL mapping
Enterprise Data Export (dataexport.v2.EnterpriseDataExportV2Service)
| Operation | REST | Connect RPC |
|---|---|---|
| CreateExport | POST /v2/enterprise.export.create | POST /dataexport.v2.EnterpriseDataExportV2Service/CreateExport |
| GetExport | GET /v2/enterprise.export.detail?uid=... | POST /dataexport.v2.EnterpriseDataExportV2Service/GetExport |
| ListExports | GET /v2/enterprise.export.list?user=... | POST /dataexport.v2.EnterpriseDataExportV2Service/ListExports |
| GetDownloadURL | GET /v2/enterprise.export.downloadUrl?uid=... | POST /dataexport.v2.EnterpriseDataExportV2Service/GetDownloadURL |
| ListTasks | GET /v2/enterprise.task.list?user=... | POST /dataexport.v2.EnterpriseDataExportV2Service/ListTasks |
Enterprise SIEM Integrations — export API (observability.v2.EnterpriseComplianceV2Service)
This service is authenticated with a KEY_TYPE_SIEM enterprise API key; other key types are rejected. The streaming (OTLP push) side is configured in the Manus console and is not part of this REST/RPC surface.
| Operation | REST | Connect RPC |
|---|---|---|
| CreateExport | POST /v2/enterprise.compliance.export.create | POST /observability.v2.EnterpriseComplianceV2Service/CreateExport |
| GetExport | GET /v2/enterprise.compliance.export.detail?uid=... | POST /observability.v2.EnterpriseComplianceV2Service/GetExport |
| GetDownloadURL | GET /v2/enterprise.compliance.export.downloadUrl?uid=... | POST /observability.v2.EnterpriseComplianceV2Service/GetDownloadURL |
Team User Management (team.v2.TeamUserManagementApiV2Service)
| Operation | REST | Connect RPC |
|---|---|---|
| ListUsers | GET /v2/team.user.list | POST /team.v2.TeamUserManagementApiV2Service/ListUsers |
| GetUser | GET /v2/team.user.detail?email=... | POST /team.v2.TeamUserManagementApiV2Service/GetUser |
| CreateUser | POST /v2/team.user.create | POST /team.v2.TeamUserManagementApiV2Service/CreateUser |
| UpdateUser | POST /v2/team.user.update | POST /team.v2.TeamUserManagementApiV2Service/UpdateUser |
| DelegateProfile | POST /v2/team.user.delegate | POST /team.v2.TeamUserManagementApiV2Service/DelegateProfile |
| ReclaimProfile | POST /v2/team.user.reclaim | POST /team.v2.TeamUserManagementApiV2Service/ReclaimProfile |
| RenameProfile | POST /v2/team.user.rename | POST /team.v2.TeamUserManagementApiV2Service/RenameProfile |
| RemoveMember | POST /v2/team.user.remove | POST /team.v2.TeamUserManagementApiV2Service/RemoveMember |
Shared Team Asset Governance (team.v2.TeamAssetAuditApiV2Service and team.v2.TeamAssetManageApiV2Service)
The audit and management surfaces live on two separate services so they can be authenticated with independently-rotated API keys (KEY_TYPE_TEAM_ASSET_AUDIT vs. KEY_TYPE_TEAM_ASSET_MGMT).
| Operation | REST | Connect RPC |
|---|---|---|
| ListShareableAssets | GET /v2/team.asset.list | POST /team.v2.TeamAssetAuditApiV2Service/ListShareableAssets |
| UpdateAssetShareScope | POST /v2/team.asset.update_scope | POST /team.v2.TeamAssetManageApiV2Service/UpdateAssetShareScope |
When to choose which
- Use REST for ad-hoc curl, third-party HTTP clients, no-code platforms, and the auto-rendered “Try it” panel on each endpoint page.
- Use Connect RPC for typed clients (Go, TypeScript, Python with generated stubs) where you want compile-time guarantees on request and response shapes. Connect supports the same wire format over HTTP+JSON, so any plain HTTP client also works.
Connect RPC examples
Same operation (GetExport) called three ways: