Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Get Drafting Capabilities

Discover supported job fields, enums, and feature availability for the authenticated account.

GET/api/public/v1/job-drafts/capabilities

Runtime feature discovery: which Public API features are enabled for this account, plus the accepted draft import formats, the full list of patchable draft keys, and the canonical enum values. Features are rolled out per account, so probe this endpoint before planning a multi-step flow — and re-check it when a write returns a feature-disabled 403.

Requirements: any valid token — no specific scope. (An in-app session also works.) The public_api_job_drafting feature itself must be enabled for the account, otherwise 403.

No parameters.

featureKeystring

Always public_api_job_drafting.

namespacestring

Always job-drafts.

rolloutModestring

How the drafting feature is rolled out for this account (e.g. ALL, ALLOWLIST).

actorIsAdminboolean

Whether the account is a platform admin.

capabilitiesobject

Per-feature booleans for this account. Any false here means the matching endpoints return 403 until the feature is enabled.

capabilities fields
draftImportboolean

Structured imports via POST /job-drafts.

draftCreateboolean

Draft creation.

draftUpdateboolean

Draft patching via PATCH /job-drafts/{jobId}.

draftUrlReadboolean

Draft/review URL reads.

publishboolean

Publishing, closing, and editing live jobs (public_api_job_publishing).

hiringboolean

Hiring and inviting (public_api_hiring).

messagingWritesboolean

Sending messages (public_api_messaging_writes).

teamboolean

Team invites (public_api_team).

paymentsWriteboolean

Milestone funding/approval (public_api_payments_write).

creditsboolean

Credits endpoints (public_api_credits).

webhooksboolean

Webhook subscriptions (public_api_webhooks).

draftobject

Machine-readable drafting contract.

draft fields
importFormatsstring[]

Accepted import formats: text, opentrain_canonical, schema_org_job_posting, indeed_xml, hr_xml.

updateKeysstring[]

Every key accepted by PATCH /job-drafts/{jobId} — ~50 keys including jobTitle, jobDescription, paymentType, pricePerHour, pricePerLabel, fixedPrice, experienceLevel, languages, countries, headcount.

enumsobject

Canonical enum values: paymentType (PAY_PER_LABEL, PAY_PER_HOUR, FIXED_PRICE), experienceLevel (EXPERT, ENTRY_LEVEL, INTERMEDIATE, ANY_EXPERIENCE_LEVEL), dataVolumeUnit (HOURS_OF_RECORDING_AUDIO_VIDEO, NUMBER_OF_FILES, NUMBER_OF_WORDS, UNKNOWN_NOT_SPECIFIED).

authBootstrapstring

token when authenticated by bearer token, session when by in-app session.

enabledboolean

Always true on a 200 (a disabled drafting feature returns 403 instead).

StatuscodeMeaning
401UNAUTHORIZEDMissing, invalid, expired, or revoked token (and no session)
403FORBIDDENpublic_api_job_drafting not enabled for this account (details.featureKey, details.mode)