Parent epic: nearai/cloud-api#953
Parent stage: nearai/cloud-api#954
Parent component: #385
Target date: Sep 1
Goal
Retain only the existing owner-scoped Conversation read views needed for migration/export while blocking every normal Conversation proxy write.
Retained temporary views
The following existing, owner-scoped, session-authenticated views remain available with Cache-Control: no-store:
GET /v1/conversations
GET /v1/conversations/{conversation_id}
GET /v1/conversations/{conversation_id}/items
The chat-api list is an existing owner-scoped view used to identify a user's records. It is not a new export API or a new public Cloud Conversation-list endpoint. Shared and optional-auth/public Conversation reads are outside the temporary contract.
Disabled operations
Conversation creation, update, deletion, item creation, and any unsupported or unlisted legacy Conversation path return authenticated 410 Gone with Cache-Control: no-store. Disabled operations must not make a Cloud mutation or change local Conversation state.
This disables the session-authenticated Chat proxy route only. It does not remove Cloud #943's direct, workspace-scoped Conversation resource DELETE retained for the #380 account-deletion worker.
All sharing routes, including GET /v1/conversations/{conversation_id}/shares, are closed under #389. Pin/archive/clone are also tracked there.
Acceptance criteria
- The three views above remain owner-scoped, session-authenticated, and work against Cloud's retained read surface.
POST /v1/conversations, write/delete methods on a Conversation, POST /items, and unknown legacy descendants are 410/no-store.
- OpenAPI/docs list only the temporary owner Conversation views.
Parent epic: nearai/cloud-api#953
Parent stage: nearai/cloud-api#954
Parent component: #385
Target date: Sep 1
Goal
Retain only the existing owner-scoped Conversation read views needed for migration/export while blocking every normal Conversation proxy write.
Retained temporary views
The following existing, owner-scoped, session-authenticated views remain available with
Cache-Control: no-store:GET /v1/conversationsGET /v1/conversations/{conversation_id}GET /v1/conversations/{conversation_id}/itemsThe chat-api list is an existing owner-scoped view used to identify a user's records. It is not a new export API or a new public Cloud Conversation-list endpoint. Shared and optional-auth/public Conversation reads are outside the temporary contract.
Disabled operations
Conversation creation, update, deletion, item creation, and any unsupported or unlisted legacy Conversation path return authenticated
410 GonewithCache-Control: no-store. Disabled operations must not make a Cloud mutation or change local Conversation state.This disables the session-authenticated Chat proxy route only. It does not remove Cloud #943's direct, workspace-scoped Conversation resource DELETE retained for the #380 account-deletion worker.
All sharing routes, including
GET /v1/conversations/{conversation_id}/shares, are closed under #389. Pin/archive/clone are also tracked there.Acceptance criteria
POST /v1/conversations, write/delete methods on a Conversation,POST /items, and unknown legacy descendants are 410/no-store.