Skip to main content
POST
Save a model

Authorizations

Authorization
string
header
required

API key with the vk_ prefix. Create one from the dashboard.

Body

application/json

Generic create body. source.type selects the ingress path; only training_job is accepted today (huggingface/upload return 501).

name
string
required
source
object
required
replace_name
boolean

Apply name to an already-saved model on a repeat save (idempotent save otherwise leaves the original name untouched).

artifact
string | null

Which artifact to save from the source job: "full" (default, the standalone checkpoint) or "adapter" (LoRA jobs only: stores the PEFT adapter dir as-is, without merging; the row records the job's base model).

Response

The existing model (idempotent repeat save)

object
string
required
id
string
required
name
string
required
base_model
string
required

The base checkpoint this model derives from. For artifact_type 'adapter' this names the model the adapter must be served on top of.

artifact_type
string
required

'full' (standalone checkpoint) | 'adapter' (LoRA adapter; only attachable to a multi_adapter deployment).

source
string
required
status
string
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
training_job_id
string | null
huggingface_id
string | null
size_bytes
integer<int64> | null
error
string | null
version
null | object

Present when the save also registered the model into a version lineage (POST /v1/models/register with model): the version it became (e.g. acme-bot@v6).