Skip to main content


DeepOpinion is a no-code platform, enabling teams to build human-level AI bots and automate away repetitive cognitive processes for unstructured text and documents.

Built by automation experts for automation experts, DeepOpinion solves the core problems teams face, which is why it is trusted by leaders at global enterprises.

And best of all, DeepOpinion complements and easily integrates with your existing enterprise systems and RPA tools, so building intelligence into your processes has never been easier.

Do you have any questions about our products? Please contact us, we are always happy to help!



The Studio API routes are secured and only accessible with a given JWT user token provided from the authentication service of the API. This ensures, that only registered and authorized users can access the API core resources.

Read the Authentication session to learn about it.


The Studio API is structured into different sub-folders. Start with using a model directly and create an analysis. Later on it is possible to create a project, upload data in the structured JSON format and train your own model. Once training is finished, specific analysis can be done. Have a look at the collection for detailed information about all the given functionalities and how to used them.


We also recommend using our DeepOpinion Studio, as Studio is developed to be used for everyone and provides all the features even without technical knowledge. If you are already using Studio, you might want to know that everything that's possible there is also possible via API.


if you using the API to manipulate objects of a workspace, you need to add the prefix `/organizations/` to all endpoints.

Basic Flows

Get a token

Read the Authentication session to learn how to get a JWT Token and set it in Http Header for start to access the endpoints.

If an endpoint returned a 401, your token is either not present in the request or is expired. If expired, you can call the login endpoint again to get a new one.

Create a project

A project is the place where your custom models will be. Before uploading data to train your model, you need to create a project by calling the Create project

Create a document group

A document group is, as the name suggests, a group of documents. There are two ways of creating a group:

  1. By calling the Create group endpoint with all the documents you want to add to the group
  2. In two steps: first one, upload a file in CSV, TXT, JSON, JSONL or XLSX format using the Upload a File. This response will contain will be something like:
"id": "fec48971-0aca-4aa7-ad38-1d300153d8ae",
"preview": [
"the hotel is good",
"the hotel is bad",
"the hotel is ok",

it contains the file "id" and the preview of the file.

Then, call the same Create group but instead of passing a list of `documents`, you need to pass the `file_id` and the chosen `column`. For example, if you want to use the "review_source", you need to use `column` 2 (0-indexed).

Upload labeled data

Uploading data that already contains labels can be done by simply calling the Upload labeled data endpoint or by sending a JSON object containing all data you need (see Create Label Session )

Upload documents to be analyzed

The logic here is very similar to the one to create document groups: you either send a JSON object containing all data you want to analyse. See Create Analysis or you do it in two-steps:

  1. Upload a document using the Upload document for Analysis endpoint and use the `file_id` and the `column` you want (0-indexed) in the step 2
  2. Call the Create Analysis endpoint using the `file_id` and the `column` you chose.