⚙️Jtheta API documentation
📘 JTheta.ai REST API Documentation
Welcome to the JTheta.ai API — your gateway to building end-to-end workflows for dataset creation, annotation task management, and AI-assisted labeling.
You need a API key to use REST API.Refer to the following documentation on how to create API key:
🔑 Create JTheta API KeyBase URL:
https://api.jtheta.ai🚀 Quickstart: Validating Your API Key
✅ GET /validate_key/
GET /validate_key/Use this endpoint to test if your API key is valid.
Curl Example:
curl -X GET https://api.jtheta.ai/validate_key/ \
-H "Authorization: Bearer <your_api_key>"Responses:
200 OK: Valid API key401 Unauthorized: Missing or invalid key
📁 Projects & Datasets
🆕 POST /create_project/
POST /create_project/Create a new project to group datasets and tasks.
Required JSON body:
{
"project_title": "Retinal Dataset",
"project_category": "Medical Imaging"
}Responses:
201 Created: Project created400 Bad Request: Missing or invalid fields401 Unauthorized: Invalid API key
📦 POST /create_dataset/
POST /create_dataset/Upload images into a new dataset under an existing project.
Required fields (multipart/form-data):
dataset_name: name of the datasetproject_name: project to associatelicense: optional license infoimages: multiple image files
Curl Example:
curl -X POST https://api.jtheta.ai/create_dataset/ \
-F dataset_name=TumorSlides \
-F project_name=RetinalResearch \
-F images=@slide1.png \
-F images=@slide2.pngResponse:
201 Created: Dataset and images uploaded
📥 POST /upload_images_to_dataset/
POST /upload_images_to_dataset/Add more images to an existing dataset.
Required fields (multipart/form-data):
dataset_id: numeric IDproject_nameimages: additional image files
👩🏫 Annotation Workflow
✍️ POST /request_annotation/
POST /request_annotation/Assign annotators and reviewers to a dataset and define label types.
Required JSON:
{
"dataset_id": 1,
"project_name": "Tumor Study",
"assigned_annotator": "alice@domain.com",
"assigned_reviewer": "bob@domain.com",
"labels": [
{ "label": "Tumor", "type": "polygon" },
{ "label": "Blood Vessel", "type": "bounding_box" }
]
}Response:
200 OK: Task assigned
📊 GET /get_annotation_status/{project_title}/
GET /get_annotation_status/{project_title}/Check the progress of annotation for a given project.
Path parameter:
project_title: name of the project
🗑️ POST /delete_project/
POST /delete_project/Delete a project and all associated datasets, images, and annotations.
JSON Body:
{
"project_title": "Old Medical Study"
}📤 Export and Download
📥 GET /api/export/download
GET /api/export/downloadGet the dataset’s metadata and download URL.
Query parameter:
key: your API access key
Example:
curl "https://api.jtheta.ai/api/export/download?key=<your_api_key>"Response:
302 Found: Redirects to download URL
Last updated