Skip to main content
Projects give you a way to organize your trained models and manage their deployments. You create a project, deploy a fine-tuned model to it, and then run inference against that project’s endpoint. Each project maintains a deployment history so you can track which model version is live and roll back if needed.
After deploying a model, use POST /projects/:project_id/inference to run predictions through the project endpoint — no need to track training job IDs in your application code.

List projects

GET /projects Returns all projects in your account.
curl https://api.pioneer.ai/projects \
  -H "X-API-Key: YOUR_API_KEY"
Response
projects
object[]
Array of project objects.

Create a project

POST /projects Creates a new project. Request body
name
string
required
A unique, human-readable name for the project.
curl -X POST https://api.pioneer.ai/projects \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "production-ner"
  }'
Response
id
string
The new project’s unique ID. Use this in all subsequent project and deployment requests.
name
string
The project name.

Delete a project

DELETE /projects/:project_id Permanently deletes a project and its deployment history. Any deployed models associated with the project will no longer be accessible through the project inference endpoint.
Deleting a project removes the deployment endpoint immediately. Make sure any clients using the project inference endpoint are updated before deleting.
Path parameters
project_id
string
required
The project ID.
curl -X DELETE https://api.pioneer.ai/projects/YOUR_PROJECT_ID \
  -H "X-API-Key: YOUR_API_KEY"
Returns 204 No Content on success.

Deploy a model to a project

POST /projects/:project_id/deployments Deploys a trained model to a project endpoint, making it available for inference. Creating a new deployment replaces the currently active model for that project. Path parameters
project_id
string
required
The project ID to deploy to.
Request body
training_job_id
string
required
The ID of the completed training job whose model you want to deploy. The training job must be in complete status.
curl -X POST https://api.pioneer.ai/projects/YOUR_PROJECT_ID/deployments \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "training_job_id": "YOUR_TRAINING_JOB_ID"
  }'
Response
deployment_id
string
Unique ID for this deployment.
status
string
Current deployment status. Values: deploying, active, failed.
training_job_id
string
The training job ID that was deployed.

List deployment history

GET /projects/:project_id/deployments Returns the full deployment history for a project, ordered from most recent to oldest. Use this to track which model versions have been deployed and when. Path parameters
project_id
string
required
The project ID.
curl https://api.pioneer.ai/projects/YOUR_PROJECT_ID/deployments \
  -H "X-API-Key: YOUR_API_KEY"

Run inference on a project model

POST /projects/:project_id/inference Runs a prediction against the currently active model deployed to this project. This endpoint abstracts away the underlying training job ID so your application only needs to reference the project. Path parameters
project_id
string
required
The project ID.
Request body
text
string
required
The input text to run predictions on.
schema
object
The output schema for encoder models. Accepts optional keys: entities (list of entity type strings), classifications (list of {task, labels} objects), structures, and relations. For decoder models, use "task": "generate" instead.
curl -X POST https://api.pioneer.ai/projects/YOUR_PROJECT_ID/inference \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Apple CEO Tim Cook announced the new MacBook at WWDC.",
    "schema": {
      "entities": ["person", "organization", "product", "event"]
    }
  }'