- A project decides which memory is used.
- A session groups the messages of one conversation.
Projects
A project is a separate scope of memory, such as one client, one product or one document set. Memory saved into a project is used only when a request names that project.In the Console, each project appears as a workspace.
Create a project
id. Use it as project_id in later
requests.
How project scope works
You set the scope on each request withproject_id:
Manage projects
- List your projects with
GET /api/v1/projects. - Rename a project with
PATCH /api/v1/projects/{project_id}. - Delete a project with
DELETE /api/v1/projects/{project_id}. After that, requests that use itsproject_idreturn 404. The project’s memories and documents are not deleted; to remove a document and everything EDN saved from it, remove the document first.
Sessions
A session is one conversation. You choose asession_id and reuse it for
every turn in the same conversation.
- Use 1 to 128 characters: letters, digits, period (
.), underscore (_), colon (:) and hyphen (-). A UUID works well. - EDN creates the session the first time you use a new
session_id. - Session IDs belong to your account. Another account using the same value gets its own, separate session.
Saving messages
Messages and memory are different things:
To save a message to the transcript:
Manage sessions
- List sessions with
GET /api/v1/sessions. Filter byproject_id, or search titles withq. - Rename a session with
PATCH /api/v1/sessions/{session_id}. - Read its messages with
GET /api/v1/sessions/{session_id}/messages. - Delete a session with
DELETE /api/v1/sessions/{session_id}. The session and its messages are removed from lists and reads immediately. Memory saved during the session is kept.
Associating a session with a project
PATCH /api/v1/sessions/{session_id}/project associates a session with a
project. This is mainly organisational, for example so the Console shows the
session inside that workspace.
Associating the session with a project does not itself control which memory a
request uses. Memory scope is still set by project_id on the relevant memory
or SIP request.
Memory ownership and end users
All memory, projects and sessions belong to the EDN account associated with your API key. Projects and sessions organise memory within that account; they do not currently create separate memory boundaries for each end user of your application. If your application serves multiple end users, your integration must make sure their memory is kept isolated, rather than treating one EDN account as a shared user-memory pool.Next steps
The SIP
How project builds and citations work.
Memory records
What gets saved.
API Reference
The project and session endpoints.
