REST API Reference
Use the YaliCode API to run code, manage projects, and integrate with your tools.
Authentication
Authenticate API requests with an API key. Generate one in Settings > API Keys. Pass it in the Authorization header:
Authorization: Bearer yc_live_xxxxxxxxxxxxExecute code
POST /api/execute
{
"language": "python",
"code": "print('hello')",
"stdin": "",
"timeout": 10,
"version": "3.12"
}
Response:
{
"stdout": "hello\n",
"stderr": "",
"exit_code": 0,
"execution_time_ms": 123,
"memory_used": "12MB"
}List projects
GET /api/projects
Response:
[
{
"id": "uuid",
"title": "My Project",
"slug": "my-project",
"language": "python",
"visibility": "public",
"created_at": "2026-01-01T00:00:00Z"
}
]Get project
GET /api/projects/:id
Response includes project metadata and all files.Create project
POST /api/projects
{
"title": "New Project",
"language": "javascript",
"visibility": "public"
}Save files
PUT /api/projects/:id/files
{
"files": [
{ "path": "main.py", "content": "print('hello')" }
]
}Rate limits
API requests are rate-limited based on your plan. Free: 20 executions/day. Starter: 100/day. Pro: 500/day. Business: 2000/day. Rate limit headers are included in every response.