Skip to main content

Applications API

The Applications API provides endpoints for managing NetPad applications, releases, and permissions.

Endpoints

MethodEndpointDescription
GET/api/applicationsList all applications
POST/api/applicationsCreate a new application
GET/api/applications/:idGet application details
PUT/api/applications/:idUpdate an application
DELETE/api/applications/:idDelete an application
GET/api/applications/:id/releasesList application releases
POST/api/applications/:id/releasesCreate a new release
GET/api/applications/:id/permissionsGet application permissions
PUT/api/applications/:id/permissionsUpdate application permissions

List Applications

GET /api/applications

Query Parameters:

ParameterTypeDescription
pagenumberPage number (default: 1)
pageSizenumberItems per page (default: 20)
searchstringSearch by name
statusstringFilter by status: draft, published, archived

Example Request:

curl -X GET "https://your-domain.com/api/applications?status=published" \
-H "Authorization: Bearer np_live_your_api_key"

Example Response:

{
"success": true,
"data": [
{
"id": "app_abc123",
"name": "Customer Portal",
"description": "Customer self-service portal",
"status": "published",
"version": "1.2.0",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-20T14:45:00.000Z"
}
],
"pagination": {
"total": 1,
"page": 1,
"pageSize": 20,
"totalPages": 1
}
}

Create Application

POST /api/applications

Request Body:

{
"name": "My Application",
"description": "Application description",
"config": {
"theme": "default",
"features": ["forms", "workflows"]
}
}

Example Request:

curl -X POST "https://your-domain.com/api/applications" \
-H "Authorization: Bearer np_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"name": "My Application", "description": "A new application"}'

Get Application

GET /api/applications/:id

Example Request:

curl -X GET "https://your-domain.com/api/applications/app_abc123" \
-H "Authorization: Bearer np_live_your_api_key"

Update Application

PUT /api/applications/:id

Request Body:

{
"name": "Updated Name",
"description": "Updated description",
"status": "published"
}

Delete Application

DELETE /api/applications/:id
warning

Deleting an application is irreversible. All associated data, releases, and configurations will be permanently removed.

Application Releases

List Releases

GET /api/applications/:id/releases

Create Release

POST /api/applications/:id/releases

Request Body:

{
"version": "1.3.0",
"notes": "Release notes for this version",
"changes": [
"Added new dashboard widgets",
"Fixed form submission bug"
]
}

Permissions

Get Permissions

GET /api/applications/:id/permissions

Update Permissions

PUT /api/applications/:id/permissions

Request Body:

{
"public": false,
"allowedOrganizations": ["org_123", "org_456"],
"allowedUsers": ["user_789"]
}