Projects API
The First Level Labs Projects API provides programmatic access to projects, releases and product metrics across the 1L.lc ecosystem.
https://api.1l.lc/v1
Authentication
The Projects API uses API keys to authenticate requests. Include your key in the Authorization header using the Bearer authentication scheme.
Authorization: Bearer fl_live_xxxxxxxxxxxxxxxxx
List projects
Returns a paginated list of projects available to the authenticated account.
/projects
Example request
curl https://api.1l.lc/v1/projects \ -H "Authorization: Bearer fl_live_xxxxxxxxx"
Response
{
"object": "list",
"data": [
{
"id": "prj_mobile_01",
"name": "Mobile Suite",
"type": "mobile_app",
"platforms": [
"ios",
"android"
],
"status": "active"
},
{
"id": "prj_api_02",
"name": "Projects API",
"type": "api_service",
"platforms": [],
"status": "active"
}
],
"has_more": false
}
Get a project
Retrieves detailed information about a single First Level Labs project.
/projects/{project_id}
Example request
const response = await fetch( "https://api.1l.lc/v1/projects/prj_mobile_01", { headers: { Authorization: "Bearer fl_live_xxxxxxxxx" } } ); const project = await response.json(); console.log(project);
{
"id": "prj_mobile_01",
"name": "Mobile Suite",
"description":
"A collection of productivity apps.",
"type": "mobile_app",
"platforms": [
"ios",
"android"
],
"status": "active",
"created_at":
"2026-02-14T09:32:18Z",
"updated_at":
"2026-08-12T14:21:03Z"
}
Project releases
Returns published releases associated with a project.
/projects/{project_id}/releases
curl https://api.1l.lc/v1/projects/prj_mobile_01/releases \ -H "Authorization: Bearer fl_live_xxxxxxxxx"
{
"object": "list",
"data": [
{
"id": "rel_2026_08_12",
"version": "2.4.0",
"status": "published",
"released_at":
"2026-08-12T14:21:03Z"
},
{
"id": "rel_2026_07_28",
"version": "2.3.2",
"status": "published",
"released_at":
"2026-07-28T10:04:11Z"
}
]
}
Project metrics
Returns high-level usage metrics for a project. Metrics are aggregated and do not expose individual user information.
/projects/{project_id}/metrics
curl https://api.1l.lc/v1/projects/prj_mobile_01/metrics \ -H "Authorization: Bearer fl_live_xxxxxxxxx"
{
"project_id": "prj_mobile_01",
"period": "30d",
"metrics": {
"active_users": 18420,
"downloads": 42781,
"api_requests": 981204,
"crash_free_rate": 99.97
}
}
Project object
A project represents a software product or service maintained by First Level Labs.
| Field | Type | Description |
|---|---|---|
| id | string | Unique project identifier. |
| name | string | Human-readable project name. |
| description | string | Short project description. |
| type | string | Project category. |
| platforms | array | Supported platforms. |
| status | string | Current project status. |
| created_at | datetime | Project creation timestamp. |
| updated_at | datetime | Last modification timestamp. |
Release object
A release represents a published version of a project.
| Field | Type | Description |
|---|---|---|
| id | string | Unique release identifier. |
| version | string | Semantic version number. |
| status | string | Release lifecycle state. |
| released_at | datetime | Publication timestamp. |
Pagination
List endpoints return a maximum of 50 objects per request.
Use the limit and cursor parameters
to paginate through larger collections.
/projects?limit=25
{
"object": "list",
"data": [],
"has_more": true,
"next_cursor":
"cur_01J9X7..."
}
Errors
The API uses standard HTTP status codes. Error responses include a machine-readable error code and a human-readable message.
{
"error": {
"code": "project_not_found",
"message":
"The requested project does not exist."
}
}
| Status | Meaning |
|---|---|
| 400 | Invalid request. |
| 401 | Authentication required or invalid. |
| 403 | Insufficient permissions. |
| 404 | Resource not found. |
| 429 | Rate limit exceeded. |
| 500 | Internal server error. |