Skip to main content
POST
Creates a project link mapping one of your projects to an OpenTrain job. Contract lifecycle events are emitted only for linked jobs, so this is the routing step of the integration. Emits a project_link.created event. Requirements: project-links:write scope.

Request

string
required
Your project’s identifier (max 200 chars). Unique per install — reusing one returns 409.
string
Human-readable project name (max 300 chars).
string
Deep link to the project in your platform (max 2048 chars).
string
The OpenTrain job to link. Must be a job owned by the installing employer — anything else returns 404. A link without a job receives no contract events until it points at one.
string
default:"PARTNER_WEBHOOK"
PARTNER_WEBHOOK (you provision workspace members from webhook events — recommended) or MANAGED_ADAPTER (the OpenTrain managed-credential path). See provisioning modes.

Response

The created link: {id, jobId, externalProjectId, externalProjectName, externalProjectUrl, provisioningMode, createdAt}.

Errors