curl -X POST "https://api.danubeai.com/v1/skill-submissions" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "pdf-processing",
"skill_md_content": "---\ndescription: Extract and process PDF documents\n---\n\n# PDF Processing\n\n## Steps\n1. Parse the PDF file\n2. Extract text content\n3. Return structured data",
"scripts": [
{"name": "extract.py", "content": "import fitz\n\ndef extract(path):\n doc = fitz.open(path)\n return [p.get_text() for p in doc]"}
]
}'
{
"id": "sub_abc123",
"skill_name": "pdf-processing",
"status": "pending",
"submitted_at": "2026-02-24T12:00:00Z",
"reviewed_at": null,
"reviewer_notes": null,
"skill_id": null
}
Skill Submissions
Submit Skill for Review
Submit a skill for public review
POST
/
v1
/
skill-submissions
curl -X POST "https://api.danubeai.com/v1/skill-submissions" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "pdf-processing",
"skill_md_content": "---\ndescription: Extract and process PDF documents\n---\n\n# PDF Processing\n\n## Steps\n1. Parse the PDF file\n2. Extract text content\n3. Return structured data",
"scripts": [
{"name": "extract.py", "content": "import fitz\n\ndef extract(path):\n doc = fitz.open(path)\n return [p.get_text() for p in doc]"}
]
}'
{
"id": "sub_abc123",
"skill_name": "pdf-processing",
"status": "pending",
"submitted_at": "2026-02-24T12:00:00Z",
"reviewed_at": null,
"reviewer_notes": null,
"skill_id": null
}
Overview
Submits a skill for review before it can be published publicly. The skill content is validated before the submission is created. Once approved by an admin, the skill is created as a public skill. Auth: Requires JWT authentication.Body Parameters
string
required
Skill name (e.g. “pdf-processing”)
string
required
The SKILL.md markdown content with instructions. Should include YAML frontmatter with a
description field.array
default:[]
array
default:[]
array
default:[]
string
Optional service UUID to associate the skill with
string
License identifier (e.g. “MIT”, “Apache-2.0”)
string
Compatibility notes
Response
string
Submission UUID
string
Skill name
string
Submission status:
"pending", "approved", or "rejected"string
ISO 8601 timestamp
Example
curl -X POST "https://api.danubeai.com/v1/skill-submissions" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "pdf-processing",
"skill_md_content": "---\ndescription: Extract and process PDF documents\n---\n\n# PDF Processing\n\n## Steps\n1. Parse the PDF file\n2. Extract text content\n3. Return structured data",
"scripts": [
{"name": "extract.py", "content": "import fitz\n\ndef extract(path):\n doc = fitz.open(path)\n return [p.get_text() for p in doc]"}
]
}'
{
"id": "sub_abc123",
"skill_name": "pdf-processing",
"status": "pending",
"submitted_at": "2026-02-24T12:00:00Z",
"reviewed_at": null,
"reviewer_notes": null,
"skill_id": null
}
