Create Project

💡 Every time you use the OAuth credentials, every project will be created on behalf of the registered user’s credentials. This will be beneficial if you want to create multiple projects, and the project owner will always be the same.


We are introducing a new endpoint for creating a project. For full documentation on this new mutation, please visit here. - We will be maintaining support (bug report and fixes) for the current mutation launchTextProjectAsync up to March 31st, 2024. As of v6.58, Datasaur won't be adding new features or enhancement to the launchTextProjectAsync mutation. - Afterwards, launchTextProjectAsync will remain up and functional until June 30th, 2024, to give users additional time for migration. - After June 30th, we will be removing the mutation and the related input from our GraphQL schema definitions.

We also have a Python script example for this. To make the API request, you can follow this step-by-step guide, specifically the one with multipart request. It's highly recommended to use the new mutation instead of the deprecated mutation.

Asynchronous Process

Since it's an asynchronous process, the response is only information about the job, not the created project. You would have to check the job periodically to make sure whether the project is successfully created.

How to Configure the Payload Request

Since the project creation is quite complex, it's recommended to configure the payload of the API request by following these steps.

  1. Use the Project Creation Wizard (PCW) first. You can try all the way until a project is created and make sure the result is as expected. Then, open the PCW and configure the exact same way as before until the last step.

  2. Once you are sure with the configuration, click the View Script in the top right corner of the page.

  3. Then, you can just copy and paste the whole JSON object as the payload when requesting the GraphQL API.

How to Configure the File/Document

As you can see on the input API docs, there is documents attribute which accept array of CreateTextDocumentInput. Map the uploaded file to the file attribute on this object for each documents that will be used in the project.

  "operations": {...},
  "map": {
    "firstFile": ["variables.input.documents.0.file"],
    "secondFile": ["variables.input.documents.1.file"]
  "firstFile": "...",
  "secondFile": "..."

How to Configure the Label Set and/or Question Set

By default, the label set or question set (depending on the project type that will be created) should have been already configured via PCW. The full explanation can be seen here.

  • Specific for token labeling, the attribute will be labelSets. The detailed of the API payload can be seen here.

  • Specific for bounding box, the attribute will be bboxLabelSets. The detailed of the API payload can be seen here.

  • Specific for row and doc labeling, the attribute will be documents.settings.questions that will represent the question sets. The detailed of the object can be seen here.

Labeling Guideline

Click here for the detailed explanation of the feature.

Last updated