Remote Server Endpoints
List Remote Servers
Retrieve a paginated listing of the user's remote servers.
GET /api/remote-servers
Query Parameters
Parameter | Description | Default |
---|---|---|
per_page | Items per page | 15 |
Response
json
{
"data": [
{
"id": 1,
"user_id": 1,
"label": "Production Server",
"connection": {
"ip_address": "192.168.1.100",
"username": "admin",
"port": 22,
"is_database_password_set": true
},
"status": {
"connectivity": "connected",
"last_connected_at": "2024-08-07T00:00:00Z"
},
"created_at": "2024-08-07T00:00:00Z",
"updated_at": "2024-08-07T00:00:00Z"
}
],
"links": {
"first": "http://example.com/api/remote-servers?page=1",
"last": "http://example.com/api/remote-servers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://example.com/api/remote-servers",
"per_page": 15,
"to": 1,
"total": 1
}
}
Create Remote Server
Create a new remote server.
POST /api/remote-servers
Request Body
json
{
"label": "New Production Server",
"ip_address": "192.168.1.101",
"username": "admin",
"port": 22,
"database_password": "securepassword"
}
Response
json
{
"data": {
"id": 2,
"user_id": 1,
"label": "New Production Server",
"connection": {
"ip_address": "192.168.1.101",
"username": "admin",
"port": 22,
"is_database_password_set": true
},
"status": {
"connectivity": "unknown",
"last_connected_at": null
},
"created_at": "2024-08-07T01:00:00Z",
"updated_at": "2024-08-07T01:00:00Z"
}
}
Show Remote Server
Retrieve details of a specific remote server.
GET /api/remote-servers/{id}
Response
json
{
"data": {
"id": 1,
"user_id": 1,
"label": "Production Server",
"connection": {
"ip_address": "192.168.1.100",
"username": "admin",
"port": 22,
"is_database_password_set": true
},
"status": {
"connectivity": "connected",
"last_connected_at": "2024-08-07T00:00:00Z"
},
"created_at": "2024-08-07T00:00:00Z",
"updated_at": "2024-08-07T00:00:00Z"
}
}
Update Remote Server
Update an existing remote server.
PUT /api/remote-servers/{id}
Request Body
json
{
"label": "Updated Production Server",
"port": 2222
}
Response
json
{
"data": {
"id": 1,
"user_id": 1,
"label": "Updated Production Server",
"connection": {
"ip_address": "192.168.1.100",
"username": "admin",
"port": 2222,
"is_database_password_set": true
},
"status": {
"connectivity": "connected",
"last_connected_at": "2024-08-07T00:00:00Z"
},
"created_at": "2024-08-07T00:00:00Z",
"updated_at": "2024-08-07T02:00:00Z"
}
}
Delete Remote Server
Delete a remote server.
DELETE /api/remote-servers/{id}
Response
json
{
"message": "Remote server successfully deleted"
}
Error Responses
In case of errors, the API will return a JSON response with an error message:
json
{
"error": "Not Found",
"message": "Remote server not found"
}
or
json
{
"error": "Forbidden",
"message": "You are not authorized to access this remote server"
}
or
json
{
"error": "Validation Error",
"message": "The given data was invalid.",
"errors": {
"ip_address": [
"The ip address has already been taken."
]
}
}