Skip to main content
Knowledge Graph, our graph-based retrieval-augmented generation (RAG), achieves higher accuracy than traditional RAG approaches that use vector retrieval. This guide will help you understand and use the Knowledge Graph API to integrate RAG capabilities into your agents.
You need an API key to access the Writer API. Get an API key by following the steps in the API quickstart.We recommend setting the API key as an environment variable in a .env file with the name WRITER_API_KEY.
Knowledge Graphs deployed to a specific team aren’t accessible via the API or SDK. To use a Knowledge Graph via the API or SDK, configure it with “All Teams” access in AI Studio.

Create a Knowledge Graph

A Knowledge Graph is a collection of files that are used to answer questions. To start working with a Knowledge Graph, create an empty Knowledge Graph that you can add files to. Endpoint: POST https://api.writer.com/v1/graphs

Request body

The request body is a JSON object that contains the following fields:

Response format

The response has the following structure:
Find your Knowledge Graph ID using one of these methods:

Add a file to a Knowledge Graph

Once you’ve created a Knowledge Graph, you can add files to it. The files you add to a Knowledge Graph are used to answer questions and enhance the accuracy of the responses from the LLM You must upload the file to the Writer API before adding it to a Knowledge Graph. See Manage files for more information about how to upload files. Endpoint: POST /v1/graphs/{graph_id}/file
The response will have this structure:

Path parameters

Request body

The request body is a JSON object that contains the following fields: You must upload the file to the Writer API before adding it to a Knowledge Graph. See Manage files for more information about how to upload files.

Remove a file from a Knowledge Graph

Endpoint: DELETE /v1/graphs/{graph_id}/file/{file_id}

Path parameters

Response format

The response has this structure:

Add URLs to a Knowledge Graph

You can add URLs to a Knowledge Graph to enhance the model’s knowledge with content from websites. The LLM can then query and use this information when responding to questions. This example adds a web connector URL to a Knowledge Graph. It first retrieves the Knowledge Graph to see the current URLs and then adds a new URL to the Knowledge Graph. Note that this operation replaces the entire list of URLs attached to the Knowledge Graph, which is why it is important to retrieve the existing list of URLs first.
See more examples in Add URLs to a Knowledge Graph.

Add a Knowledge Graph to a no-code agent

After you’ve created a Knowledge Graph, you can add it to a no-code agent to add RAG capabilities. You can use this endpoint to add or remove Knowledge Graphs from a no-code agent. Endpoint: PUT /v1/applications/{application_id}/graphs

Path parameters

Request body

The request body is a JSON object that contains the following fields: This method updates the associated Knowledge Graphs to the exact list of IDs provided in the request. To remove a single Knowledge Graph from the no-code agent, set the graph_ids parameter to an array containing the IDs of all the other Knowledge Graphs associated with the no-code agent, excluding the ID of the Knowledge Graph to remove. To remove all Knowledge Graphs from the no-code agent, set this parameter to an empty array.

Response format

The response contains the new list of IDs of the Knowledge Graphs associated with the no-code agent.

Next steps