!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
# Upload a new skill zip
file = client.files.upload(file=Path("updated-skill.zip"))
# Update the skill (creates a new version)
updated_skill = client.agent.skills.update(
skill_id="<skill-id>",
file_id=file.id,
description="Updated invoice extraction with improved accuracy"
)
print(f"Updated skill: {updated_skill.id} (v{updated_skill.version})")
import { VlmRun } from "vlmrun";
const client = new VlmRun({
baseURL: "https://api.vlm.run/v1",
apiKey: "<VLMRUN_API_KEY>"
});
// Upload a new skill zip
const file = await client.files.upload({ filePath: "updated-skill.zip" });
// Update the skill (creates a new version)
const updatedSkill = await client.agent.skills.update({
skillId: "<skill-id>",
fileId: file.id,
description: "Updated invoice extraction with improved accuracy"
});
console.log(updatedSkill);
curl -X POST "https://api.vlm.run/v1/skills/<skill-id>/update" \
-H "Authorization: Bearer <VLMRUN_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"file_id": "<file-id>",
"description": "Updated invoice extraction with improved accuracy"
}'
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"skill_version": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "completed"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Skills
Update Skill
Create a new version of an existing skill.
This creates a NEW database record with:
- A new unique ID
- The same name as the original skill
- A new auto-generated version (format: YYYYMMDD-<8-char-sha256>)
Workflow:
1. Upload new skill zip via POST /v1/files -> get file_id
2. Call this endpoint with the original skill_id and new file_id to create a new version
POST
/
v1
/
skills
/
{skill_id}
/
update
!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
# Upload a new skill zip
file = client.files.upload(file=Path("updated-skill.zip"))
# Update the skill (creates a new version)
updated_skill = client.agent.skills.update(
skill_id="<skill-id>",
file_id=file.id,
description="Updated invoice extraction with improved accuracy"
)
print(f"Updated skill: {updated_skill.id} (v{updated_skill.version})")
import { VlmRun } from "vlmrun";
const client = new VlmRun({
baseURL: "https://api.vlm.run/v1",
apiKey: "<VLMRUN_API_KEY>"
});
// Upload a new skill zip
const file = await client.files.upload({ filePath: "updated-skill.zip" });
// Update the skill (creates a new version)
const updatedSkill = await client.agent.skills.update({
skillId: "<skill-id>",
fileId: file.id,
description: "Updated invoice extraction with improved accuracy"
});
console.log(updatedSkill);
curl -X POST "https://api.vlm.run/v1/skills/<skill-id>/update" \
-H "Authorization: Bearer <VLMRUN_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"file_id": "<file-id>",
"description": "Updated invoice extraction with improved accuracy"
}'
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"skill_version": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "completed"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
# Upload a new skill zip
file = client.files.upload(file=Path("updated-skill.zip"))
# Update the skill (creates a new version)
updated_skill = client.agent.skills.update(
skill_id="<skill-id>",
file_id=file.id,
description="Updated invoice extraction with improved accuracy"
)
print(f"Updated skill: {updated_skill.id} (v{updated_skill.version})")
import { VlmRun } from "vlmrun";
const client = new VlmRun({
baseURL: "https://api.vlm.run/v1",
apiKey: "<VLMRUN_API_KEY>"
});
// Upload a new skill zip
const file = await client.files.upload({ filePath: "updated-skill.zip" });
// Update the skill (creates a new version)
const updatedSkill = await client.agent.skills.update({
skillId: "<skill-id>",
fileId: file.id,
description: "Updated invoice extraction with improved accuracy"
});
console.log(updatedSkill);
curl -X POST "https://api.vlm.run/v1/skills/<skill-id>/update" \
-H "Authorization: Bearer <VLMRUN_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"file_id": "<file-id>",
"description": "Updated invoice extraction with improved accuracy"
}'
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Response
Successful Response
Response for skill creation.
ID of the created skill
Name of the skill (may differ from request if LLM-generated)
Description of the skill (may differ from request if LLM-generated)
Auto-generated version of the skill (e.g. '20260512-abc12345')
Date and time when the skill was created
Date and time when the skill was updated
Status of the skill creation