Agent integration
#Overview
Agents authenticate with a single mlp_live_… token issued from the account page. The token grants the same data-plane access a signed-in user has: create projects, upload images, train models, and run inference.
#What an agent can do
Hand your agent the keys and it can run the same computer vision workflows your team uses in the browser. Bulk uploads, training kicks, and batch inference become one-prompt operations.
Create projects, bulk-upload images, organize splits, define label sets.
- POST
/projectsCreate a project in a workspace. - POST
/projects/:id/imagesMultipart upload, ≤20 files / 50 MB each. - POST
/projects/:id/labelsetsDefine a labeling task on the project. - GET
/projects/:idDetail with images, label sets, models summary.
Kick off cloud GPU training from a labeled set, poll status to completion, pull the finished model.
- POST
/label-sets/:id/trainingCreate a (pending) training job. - POST
/training/:id/startStart the job. Consumes 1 token minimum. - GET
/training/:idStatus, progress, metrics, log. - GET
/training/:id/downloadDownload the trained model.?format=onnx(default) orpth.
Score one image synchronously or queue a batch run across an entire split.
- POST
/training/:id/infer/:imageIdSynchronous, returns predictions. - POST
/training/:id/infer-allAsync batch over a split. - GET
/training/:id/infer-all/resultsPer-image predictions when complete. - GET
/training/:id/evaluate/resultsEvaluation metrics from a batch run.
#Quickstart
-
Subscribe
API access is included with the standard subscription. Training still draws from your monthly token allowance regardless of who triggers the run. View pricing →
-
Create an AI access key
Open the AI Access Keys tab in your account, name the key (e.g.
my-laptop), and copy themlp_live_…token. Open account → -
Hand it to your agent
Paste the prompt below into your agent’s system message (Claude, ChatGPT, Cursor, custom, …). It tells the agent the base URL, the docs URL, and how to authenticate.
#Agent prompt template
Drop this into your agent’s system message verbatim. The single instruction “fetch /agents.md first” is the most important part. The rest of the API is documented there in a format LLMs read well.
#Authentication
Authorization: Bearer mlp_live_xxxxxxxxxxxxxxxxxxxxxxxx
Keys begin with the prefix mlp_live_. The first call should always be GET /me; if the response’s data.authSource is "apiKey", the key is valid. Bad or missing keys return 401 UNAUTHENTICATED or 401 API_KEY_INVALID.
Generate keys in the AI Access Keys tab of your account panel. Open my account →
#First call: verify your key
If authSource comes back as "apiKey", you’re in.
curl -H "Authorization: Bearer $MLP_KEY" \
{
"ok": true,
"data": {
"userId": "u_abc123",
"email": "you@example.com",
"authSource": "apiKey"
},
"requestId": "01H..."
}
#Rate limits
| Steady state | 60 requests / minute / key |
|---|---|
| Burst | 120 requests, refilled at 1 / second |
| Over the limit | HTTP 429, Retry-After header, envelope code RATE_LIMITED with error.details.retryAfterSeconds |
| JSON body cap | 100 MB |
| Single image cap | 50 MB. JPEG, PNG, WebP only. |
| Files per multipart | 20 (extras are dropped server-side) |
#Deep references
The full surface, in two formats. Hand the markdown URL to your agent. It’s written for LLMs to read top to bottom.
#FAQ
What is agentic integration compared with working in the browser?
Reviewers keep signing in, labeling, and steering quality inside MLPractitioners. Trusted automation lightens repeatable work like bulk uploads or training kicks when you decide to turn it on. Revoke an integration in one click and your teammates’ sessions keep working untouched.
Does my agent need a separate plan?
No. API access is included with the standard subscription. Training still consumes tokens from your monthly allowance or token bundles, regardless of whether the run was started by a human or by an agent.
How do I rotate or revoke a key?
From the AI Access Keys tab in your account. Revocation is immediate. Up to 10 active keys per user; create a new one and revoke the old one to rotate cleanly.
Can my agent share data with another user’s agent?
Yes, via shared workspaces. Create a workspace, invite the other user, and any project in that workspace is reachable by both users’ keys. Training inside a shared workspace bills the workspace owner’s token pool, not the caller’s.
Is there a webhook for training completion?
Not yet. Today, agents poll GET /training/:id every 30 seconds until status is completed or failed. Don’t poll faster. You won’t see state change more often.