Bring a project from your tools into SilkTrain
Read your organization's briefs, compare proposal terms and prepare a draft using HTTP, JavaScript, the command line or an MCP-compatible assistant. A buyer signs in to check the scope and publish a draft. Contract awards and payments require the normal authenticated workroom.
Download the OpenAPI contract. Read GET /api/v1/capabilities using an organization key to discover its permissions and the actions a person completes in the workroom.
Connect an organization
An active organization owner with verified email, two-factor sign-in and a signed organization agreement can issue a key. Select draft access only if the connected tool needs it. Copy the displayed secret to your secret manager. Keys expire after 90 days and can be revoked immediately. Manage access keys.
HTTP endpoints
The production base URL is https://app.silktrain.ai/api/v1. Use Accept: application/json and Authorization: Bearer <key> for private calls. Keep tokens on your server.
GET /workflowslists public service codes, project templates and supported workspace slugs. Pass an optionalplatformwhen preparing a draft. This records where the specialist will work. Your organization grants workspace access after agreeing the scope.GET /briefs?limit=25&after=0returns organization briefs with an ID cursor. The maximum page size is 100.GET /briefs/{id}returns a brief and proposed scope, prices and delivery times.GET /briefs/{id}/shortlistreturns up to five currently eligible specialists. An empty list means staffing needs review.POST /draftscreates an editable draft and returns a browser review URL. Generate a UUID per new request and reuse it for retries. A changed payload with the same key returns 409.
CLI, SDK and MCP
Download the JavaScript client and use Node 22 or later. Set SILKTRAIN_API_TOKEN through your environment or secret manager. The default origin is the production SilkTrain app. Set SILKTRAIN_API_URL only when testing against a trusted deployment.
node hiring.mjs workflows node hiring.mjs briefs node hiring.mjs shortlist 12 node hiring.mjs draft brief.json
Example brief.json. Replace the example UUID for each distinct draft.
{
"idempotency_key": "ad89259f-e463-437c-beb5-780cc162df41",
"service": "training-evaluation",
"workflow": "preference-data",
"mode": "fixed",
"title": "Review support-answer pairs",
"outcome": "Rank a pilot batch using the agreed rubric.",
"acceptance": "Deliver reviewed pairs and explain disagreements.",
"tools": "Client-managed annotation workspace"
}
For MCP, configure your client to launch node with arguments /absolute/path/hiring.mjs and mcp. Pass the secret through the process environment. The local server exposes five hiring tools over standard input/output. A draft remains private until the buyer publishes it.
import { createHiringClient } from './hiring.mjs';
const client = createHiringClient();
const firstPage = await client.briefs({ limit: 10 });
A 401 response means the key expired, was revoked, or lost its owner privileges. A 403 means the key lacks the required access. Correct invalid fields after 422 and back off after 429.