Endpoint to quickly create and configure a new project within an organization. This documentation explains request/response structure, authentication, validation rules, and troubleshooting for the quick project setup API.
Overview
Method: POST
Path: /api/organization/{organizationId}/quickprojectsetup
Purpose: Creates a project with minimal inputs and initializes its core fields in a single call.
Authentication
This endpoint requires a valid JWT passed via the idToken header. The token should be issued by your identity provider and include the user's identity and email claims.
Never paste real production tokens in documentation or tickets. Rotate any tokens that were exposed.
HTTP Request
curl 'http://localhost:9000/api/organization/2/quickprojectsetup' \ -X POST \ -H 'Accept: application/json, text/plain, */*' \ -H 'Content-Type: application/json' \ -H 'idToken: <JWT>' \ --data-raw '{ "project": { "name": "My_proj", "projectType": "Annotation", "processName": "My_process", "execution": "SEQUENTIAL", "task_manager": "" }, "fields": { "inputField": ["MediaUrl"], "outputField": ["Classes", "Annotations"] } }'
Required Headers
Accept: application/json, text/plain, */*
Content-Type: application/json
idToken: <JWT string>
Other browser-oriented headers (User-Agent, sec-ch-ua, CORS fetch headers) are optional when calling from server-side clients and shown here only because the sample came from a browser session.
Path Parameters
organizationId (integer): Identifier of the organization that will own the project. Example: 2
Request Body Schema
Content-Type must be application/json. All fields are case-sensitive.
Root object
project (object, required): Project-level configuration.
fields (object, required): Declares input and output schema elements to initialize for the project.
project
name (string, required): Human-readable project name. Must be unique within the organization.
projectType (string, required): Project category. Example: "Annotation". Supported values depend on server configuration.
processName (string, required): Name of the workflow/process template to associate with this project.
execution (string, required): Workflow execution mode. Example: "SEQUENTIAL" or "PARALLEL"
task_manager (string, optional): Identifier or type of task manager plugin. Empty string means default selection by server.
fields
inputField (array<string>, required): Names of input fields the project expects from datasets or ingestion. Example: ["MediaUrl"].
outputField (array<string>, required): Names of output artifacts produced by the workflow. Example: ["Classes", "Annotations"].
Example Request Payload
{ "project": { "name": "My_proj", "projectType": "Annotation", "processName": "My_process", "execution": "SEQUENTIAL", "task_manager": "" }, "fields": { "inputField": ["MediaUrl"], "outputField": ["Classes", "Annotations"] } }
Responses
201 Created
Returned when the project is successfully created and initialized.
{"id":"37"}
400 Bad Request
Missing required fields (e.g., project.name, fields.inputField).
Unsupported projectType or execution value.
Invalid data types (e.g., inputField is not an array).
{ "error": "ValidationError", "details": [ {"field": "project.name", "message": "must be provided"}, {"field": "fields.inputField", "message": "must be a non-empty array"} ] }
401 Unauthorized
The idToken header is missing, expired, or invalid.
{ "error": "Unauthorized", "message": "Invalid or missing token" }
409 Conflict
A project with the same name already exists in the given organization.
{ "error": "Conflict", "message": "Project name already exists" }
Validation and Constraints
project.name: 1–100 characters, recommended to use alphanumerics, spaces, hyphens, and underscores; avoid leading/trailing spaces.
project.projectType: Must match one of the backend-registered project types (e.g., Annotation, Text-Based, Audio, etc.).
project.execution: Server-supported modes such as SEQUENTIAL or PARALLEL.
fields.inputField / fields.outputField: Non-empty arrays of strings. Each item 1–64 characters.
Change Log
Initial documentation version for quickprojectsetup endpoint.