Create a new service
Creates a service with optional bindings to interfaces or ports.
The id, created_at, updated_at, and source fields are generated server-side.
Bindings are specified without service_id or network_id - these are assigned automatically.
Binding Validation Rules
- Cross-host validation: All bindings must reference ports/interfaces that belong to the service's host. Bindings referencing entities from other hosts will be rejected.
- Deduplication: Duplicate bindings in the same request are automatically deduplicated.
- All-interfaces precedence: If a port binding with
interface_id: null(all interfaces) is included, any specific-interface bindings for the same port are automatically removed. - Conflict detection: Interface bindings conflict with port bindings on the same interface. A port binding on all interfaces conflicts with any interface binding.
User API key (Bearer scp_u_...). Create in Platform > API Keys.
In: header
Request Body
application/json
uuiduuidBindings to create with the service.
service_id and network_id are assigned by the server.
Response Body
application/json
application/json
curl -X POST "https://loading/api/v1/services" \ -H "Content-Type: application/json" \ -d '{ "host_id": "eb4e20fc-2b4a-4d0c-811f-48abcf12b89b", "name": "string", "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3", "service_definition": "string", "tags": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ] }'{
"meta": {
"api_version": 1,
"server_version": "0.13.5"
},
"success": true,
"data": {
"bindings": [
{
"created_at": "2026-01-12T14:59:13.664906Z",
"id": "942cd687-2e6b-488e-a36d-b40f5608a386",
"interface_id": "550e8400-e29b-41d4-a716-446655440005",
"network_id": "550e8400-e29b-41d4-a716-446655440002",
"port_id": "550e8400-e29b-41d4-a716-446655440006",
"service_id": "550e8400-e29b-41d4-a716-446655440007",
"type": "Port",
"updated_at": "2026-01-12T14:59:13.664906Z"
}
],
"created_at": "2026-01-15T10:30:00Z",
"host_id": "550e8400-e29b-41d4-a716-446655440003",
"id": "550e8400-e29b-41d4-a716-446655440007",
"name": "nginx",
"network_id": "550e8400-e29b-41d4-a716-446655440002",
"position": 0,
"service_definition": "Remote Desktop",
"source": {
"type": "Manual"
},
"tags": [],
"updated_at": "2026-01-15T10:30:00Z",
"virtualization": null
},
"error": "string"
}{
"success": true,
"error": "string"
}Bulk delete services
Previous Page
Update a service
Updates an existing service. All binding validation rules from service creation apply here as well. ## Binding Validation Rules - **Cross-host validation**: All bindings must reference ports/interfaces that belong to the service's host. Bindings referencing entities from other hosts will be rejected. - **Deduplication**: Duplicate bindings are automatically deduplicated. - **All-interfaces precedence**: If a port binding with `interface_id: null` (all interfaces) is included, any specific-interface bindings for the same port are automatically removed. - **Conflict detection**: Interface bindings conflict with port bindings on the same interface.