Integration Process¶
The steps for integrating with TaskMonk are detailed below. There are two environments used for the integration process: the staging environment for testing and the production environment for actual integration.
Endpoints¶
The following endpoints are used for integration:
API Endpoints¶
Environment |
Endpoint |
|---|---|
Staging |
|
Production |
Portal¶
The portal can be used for viewing reports and status:
Important
Please ensure that the following endpoints are accessible from within your firewall:
Access Credentials¶
API Endpoints¶
The APIs use OAuth2 client credentials mechanism for authentication. The client_id and client_secret will be provided by TaskMonk. These credentials can be:
Generated for each project individually
Shared across projects if they belong to the same team
Portal¶
Users can register on the portals using their email address. Email addresses will be configured for the projects they have access to.
Note
Production credentials and access are typically provided after successful integration and testing with the staging environment.
Project Creation¶
The project will typically be set up by the Annotation Partner through the portal. The project_id will be shared with users.
API Integration¶
Once credentials are available, you can integrate with the APIs using one of three methods:
Integration Methods¶
- Option 1: REST API
Directly integrate with the REST APIs for maximum flexibility and control.
See REST API for documentation.
- Option 2: Java SDK
Use the Java SDK for streamlined integration in Java applications.
See Java SDK for documentation.
- Option 3: Python SDK
Use the Python SDK for easy integration in Python applications.
See Python SDK for documentation.
Tip
Please review the Concepts section to better understand the integration process.
Integration Workflow¶
The typical workflow for client code execution:
1. Create a new batch
└─> Returns: batch_id
2. Upload tasks to the batch
└─> Returns: job_id (for upload process)
3. Check job progress
└─> Wait until upload completes
4. Monitor job status
└─> Wait for completion by Annotation Partners
5. Retrieve output
└─> Specify fields to include in output file
Testing¶
For testing purposes:
Contact the annotation partner to complete tasks uploaded to the test server
In certain circumstances, the Annotation Partner can configure the project to:
Fill in random values for output fields
Automatically submit tasks for testing