لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/source-storage/versions-get.md فهرس التوثيق — /llms.txt
مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.
Get version metadata
GET /v1/apps/:id/sources/:versionId
Returns the metadata of one version of the application's source code, without the archive. Use it when the version identifier is already known and there is no reason to fetch the whole list.
The operation stays available even when source saving is disabled: the previously saved history remains readable.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
TypeUUID | Requiredyes | DescriptionApplication identifier. Get it via GET /v1/apps. |
ParameterversionId (path) |
Typestring | Requiredyes | DescriptionVersion identifier of the form v<N>. Get it via List versions. The savedVersionId returned by a deploy to a server on a personal key belongs to the server's history, not the application's: with it, this method returns a different application version or 404 VERSION_NOT_FOUND. Request that version via the server endpoints. |
Examples
curl — personal key
curl -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.com/v1/apps/<APP_ID>/sources/v1
curl — OAuth application
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
https://vibecode.bitrix24.com/v1/apps/<APP_ID>/sources/v1
JavaScript — personal key
const res = await fetch(
`https://vibecode.bitrix24.com/v1/apps/${appId}/sources/v1`,
{ headers: { 'X-Api-Key': 'YOUR_API_KEY' } },
)
const { data } = await res.json()
console.log(data.versionId, data.tags, data.note)
JavaScript — OAuth application
const res = await fetch(
`https://vibecode.bitrix24.com/v1/apps/${appId}/sources/v1`,
{
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
},
)
const { data } = await res.json()
console.log(data.versionId, data.tags, data.note)
Response fields
This response carries no data.id: the internal record identifier is returned only on save.
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success. |
Fielddata.versionId |
Typestring | DescriptionVersion identifier of the form v<N>. |
Fielddata.filename |
Typestring | DescriptionFilename in storage. Contains a -published or -manual suffix based on the version's current tags; with both tags, -published. |
Fielddata.contentType |
Typestring | null | DescriptionThe type the archive was saved with: application/gzip, application/x-tar, application/zip, or application/octet-stream. null for early versions whose type was not recorded. |
Fielddata.timestamp |
Typestring | DescriptionSave time (ISO 8601, UTC). |
Fielddata.size |
Typenumber | DescriptionArchive size in bytes. |
Fielddata.sha256 |
Typestring | DescriptionSHA-256 of the archive contents. Used for deduplication within one owner. |
Fielddata.tags |
Typestring[] | DescriptionVersion tags. manual and published protect the version from automatic cleanup; any other tags are free-form labels from the X-Tags header at save time or from PATCH. |
Fielddata.savedBy.userId |
Typestring | null | DescriptionVibecode user identifier. |
Fielddata.savedBy.session |
Typestring | null | DescriptionAI session identifier from the X-AI-Session-Id header. |
Fielddata.linkedDeployId |
Typestring | null | DescriptionMarker of the latest event involving the version. deploy:… — the version was saved or confirmed by a deploy. publish:<time> — the version was published via POST /v1/apps/:id/publish. Publishing overwrites the deploy marker. null — the version has had neither a deploy nor a publication. |
Fielddata.deployStatus |
Typestring | null | DescriptionHow the latest deploy of this version ended: success or failed. null if the version has never been deployed — for example, if it was saved manually and never passed to a deploy as source.versionId. Publishing does not change this field, but on some older published versions success was set by the publication, not by a deploy. |
Fielddata.note |
Typestring | null | DescriptionNote from the X-Note header at save time or from PATCH. For a version saved by a deploy, it holds the deploy's changelog field or, without one, the service string Auto-saved on deploy … with the same deploy marker as in linkedDeployId. |
Fielddata.serverContext |
Typeobject | null | DescriptionThe server managed by this application's key (vibe_app_*), if the version is linked to one. Server data is current as of the request. null if the version is not linked to a server. |
Fielddata.serverContext.serverId |
Typestring | DescriptionServer identifier. Get it via GET /v1/infra/servers. |
Fielddata.serverContext.serverName |
Typestring | DescriptionSystem name of the server. |
Fielddata.serverContext.serverDisplayName |
Typestring | DescriptionDisplay name of the server. An empty string if the server has none. |
Fielddata.serverContext.linkedApp |
Typeobject | null | DescriptionThe application the server's managing key is issued for. null if the server is managed by a personal key. |
Fielddata.serverContext.linkedApp.appId |
Typestring | DescriptionApplication identifier. Get it via GET /v1/apps. |
Fielddata.serverContext.linkedApp.title |
Typestring | DescriptionApplication title. |
Response example
HTTP 200:
{
"success": true,
"data": {
"versionId": "v1",
"filename": "2026-08-04T10-01-25-947Z-v1.tar.gz",
"contentType": "application/gzip",
"timestamp": "2026-08-04T10:01:25.947Z",
"size": 49504,
"sha256": "e28aaf8af203804c934e6881c94472a420174f58c9442ecef82dba44c6cf989b",
"tags": [],
"savedBy": {
"userId": "48bdfd33-5fbe-4ad1-a02c-9b5c7ae65f77",
"session": null
},
"linkedDeployId": null,
"deployStatus": null,
"note": "First version",
"serverContext": null
}
}
Error response example
404 — the application has no version with that identifier:
{
"success": false,
"error": {
"code": "VERSION_NOT_FOUND",
"message": "Version v99 not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_VERSION_ID |
DescriptionThe versionId format does not match v<non-negative integer>. |
| HTTP403 | CodeSOURCE_APP_ID_MISMATCH |
DescriptionThe call was made with an authorization key vibe_app_… issued for a different application. Such a key can access only its own application's snapshots, even when both applications were created by the same author. |
| HTTP403 | CodeNOT_AUTHORIZED |
DescriptionThe personal key belongs neither to the application author nor to a Bitrix24 account administrator and was not issued for this application. |
| HTTP404 | CodeAPP_NOT_FOUND |
DescriptionThe application does not exist, was deleted, or belongs to another portal. |
| HTTP404 | CodeVERSION_NOT_FOUND |
DescriptionA version with this versionId does not exist or was deleted. |
Full list of common API errors — Errors.