For the complete documentation index, see llms.txt. This page is also available as Markdown.

Server

Server

Webhook endpoint for AWX callbacks

post

Webhook endpoint for AWX job status notifications.

Authorizations
X-API-KeystringRequired
Responses
200

Successful operation

No content

post/api/v1/server/awx/webhook
POST /api/v1/server/awx/webhook HTTP/1.1
X-API-Key: YOUR_API_KEY
Accept: */*

No content

Baseline a specific server

post

Bring a server back to baseline by its inventory ID.

Authorizations
X-API-KeystringRequired
Body
inventoryIdintegerOptionalExample: 12345
hostnamestringOptionalExample: server12345.dedi.i3d.netPattern: /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i
Responses
200

Back to baseline of server succesfully started.

application/json
post/api/v1/server/baseline
POST /api/v1/server/baseline HTTP/1.1
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "inventoryId": 12345,
  "hostname": "server12345.dedi.i3d.net"
}
{
  "server": {
    "metal_server_uuid": "550e8400-e29b-41d4-a716-446655440000",
    "inventory_id": 5678,
    "instance_type": {
      "id": 129,
      "name": "bm7.std.8"
    },
    "location": {
      "id": 18,
      "name": "EU: Rotterdam"
    },
    "created_at": "2024-01-01 12:00:00",
    "updated_at": "2024-01-01 12:00:00",
    "client": {
      "id": 42,
      "username": "john.doe@i3d.net"
    },
    "contract_id": "MY-CONTRACT-ID",
    "name": "my-server-name.example.com",
    "status": "delivered",
    "status_message": "No server discovered.",
    "os": {
      "id": 9,
      "slug": "debian-9",
      "name": "debian",
      "version": "9"
    },
    "ip_addresses": [
      {
        "ip_address": "127.0.0.1"
      }
    ],
    "tags": [
      "env:prod"
    ],
    "delivered_at": "2024-01-01 12:00:00",
    "released_at": "2024-01-01 12:00:00",
    "request_id": 1234,
    "client_server_request": {}
  }
}

List delivered servers

get

Retrieve an aggregated list of servers that are currently delivered to clients.

Authorizations
X-API-KeystringRequired
Responses
200

Successful operation

application/json
get/api/v1/server/delivered
GET /api/v1/server/delivered HTTP/1.1
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "deliveredServers": [
    {
      "clientId": 129,
      "clientName": "flexmetal-project2@i3d.net",
      "instanceTypeId": 129,
      "instanceTypeName": "bm9.hmm.16",
      "locationId": 129,
      "locationName": "EU: Rotterdam",
      "contractId": "PO12345",
      "numDelivered": 10
    }
  ]
}

Delete a specific server - use only for internal reasons, to force a release

delete

Delete a server by its UUID.

Authorizations
X-API-KeystringRequired
Path parameters
serverUuidstring · uuidRequired

UUID of the server

Example: 550e8400-e29b-41d4-a716-446655440000
Query parameters
forceReleaseintegerOptional

Try to (re-)release a server

Example: 1
Responses
200

Release of server succesful

application/json
delete/api/v1/server/{serverUuid}
DELETE /api/v1/server/{serverUuid} HTTP/1.1
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "server": {
    "metal_server_uuid": "550e8400-e29b-41d4-a716-446655440000",
    "inventory_id": 5678,
    "instance_type": {
      "id": 129,
      "name": "bm7.std.8"
    },
    "location": {
      "id": 18,
      "name": "EU: Rotterdam"
    },
    "created_at": "2024-01-01 12:00:00",
    "updated_at": "2024-01-01 12:00:00",
    "client": {
      "id": 42,
      "username": "john.doe@i3d.net"
    },
    "contract_id": "MY-CONTRACT-ID",
    "name": "my-server-name.example.com",
    "status": "delivered",
    "status_message": "No server discovered.",
    "os": {
      "id": 9,
      "slug": "debian-9",
      "name": "debian",
      "version": "9"
    },
    "ip_addresses": [
      {
        "ip_address": "127.0.0.1"
      }
    ],
    "tags": [
      "env:prod"
    ],
    "delivered_at": "2024-01-01 12:00:00",
    "released_at": "2024-01-01 12:00:00",
    "request_id": 1234,
    "client_server_request": {}
  }
}

List servers

get

Retrieve a list of servers with optional filters and pagination.

Authorizations
X-API-KeystringRequired
Query parameters
pageintegerOptional

Page number for pagination

Example: 1
perPageintegerOptional

Number of items per page

Example: 15
filterstringOptional

Filters for server listing * (e.g., client_id, metal_server_uuid, created_at, updated_at, delivered_at, released_at)

Example: client_id=42&created_at=2024-01-01
Responses
200

Successful operation

application/json
get/api/v1/server
GET /api/v1/server HTTP/1.1
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "servers": [
    {
      "metal_server_uuid": "550e8400-e29b-41d4-a716-446655440000",
      "inventory_id": 5678,
      "instance_type": {
        "id": 129,
        "name": "bm7.std.8"
      },
      "location": {
        "id": 18,
        "name": "EU: Rotterdam"
      },
      "created_at": "2024-01-01 12:00:00",
      "updated_at": "2024-01-01 12:00:00",
      "client": {
        "id": 42,
        "username": "john.doe@i3d.net"
      },
      "contract_id": "MY-CONTRACT-ID",
      "name": "my-server-name.example.com",
      "status": "delivered",
      "status_message": "No server discovered.",
      "os": {
        "id": 9,
        "slug": "debian-9",
        "name": "debian",
        "version": "9"
      },
      "ip_addresses": [
        {
          "ip_address": "127.0.0.1"
        }
      ],
      "tags": [
        "env:prod"
      ],
      "delivered_at": "2024-01-01 12:00:00",
      "released_at": "2024-01-01 12:00:00",
      "request_id": 1234,
      "client_server_request": {}
    }
  ],
  "paginator": {
    "from": "1",
    "to": "10",
    "total": "20",
    "current_page": "1",
    "last_page": "1",
    "first_page_url": "http://localhost:8100/api/v1/servers/1?page=1",
    "prev_page_url": null,
    "next_page_url": "http://localhost:8100/api/v1/orders/1?page=2",
    "last_page_url": "http://localhost:8100/api/v1/orders/1?page=3",
    "path": "http://localhost:8100/api/v1/orders/1",
    "per_page": "10"
  }
}

Create bare metal servers

post

create bare metal server

Authorizations
X-API-KeystringRequired
Body
metal_server_uuidstring · uuidOptional

UUID of the metal server

Example: 550e8400-e29b-41d4-a716-446655440000
inventory_idinteger · nullableOptional

ID of the inventory server

Example: 5678
created_atstring · date-timeOptionalExample: 2024-01-01 12:00:00
updated_atstring · date-time · nullableOptionalExample: 2024-01-01 12:00:00
contract_idstring · nullableOptionalExample: MY-CONTRACT-ID
namestringOptional

Name of the server

Example: my-server-name.example.com
statusstringOptional

Status of the server

Example: delivered
status_messagestring · nullableOptional

Normally empty, but can contain additional information; usually for failures

Example: No server discovered.
tagsstring[]Optional

Tags assigned to the server

Example: env:prod
delivered_atstring · date-time · nullableOptionalExample: 2024-01-01 12:00:00
released_atstring · date-time · nullableOptionalExample: 2024-01-01 12:00:00
request_idintegerOptionalExample: 1234
client_server_requestobject · nullableOptional

The raw request object

Responses
200

Successful operation

application/json
post/api/v1/server
POST /api/v1/server HTTP/1.1
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 662

{
  "metal_server_uuid": "550e8400-e29b-41d4-a716-446655440000",
  "inventory_id": 5678,
  "instance_type": {
    "id": 129,
    "name": "bm7.std.8"
  },
  "location": {
    "id": 18,
    "name": "EU: Rotterdam"
  },
  "created_at": "2024-01-01 12:00:00",
  "updated_at": "2024-01-01 12:00:00",
  "client": {
    "id": 42,
    "username": "john.doe@i3d.net"
  },
  "contract_id": "MY-CONTRACT-ID",
  "name": "my-server-name.example.com",
  "status": "delivered",
  "status_message": "No server discovered.",
  "os": {
    "id": 9,
    "slug": "debian-9",
    "name": "debian",
    "version": "9"
  },
  "ip_addresses": [
    {
      "ip_address": "127.0.0.1"
    }
  ],
  "tags": [
    "env:prod"
  ],
  "delivered_at": "2024-01-01 12:00:00",
  "released_at": "2024-01-01 12:00:00",
  "request_id": 1234,
  "client_server_request": {}
}
{
  "servers": [
    {
      "metal_server_uuid": "550e8400-e29b-41d4-a716-446655440000",
      "inventory_id": 5678,
      "instance_type": {
        "id": 129,
        "name": "bm7.std.8"
      },
      "location": {
        "id": 18,
        "name": "EU: Rotterdam"
      },
      "created_at": "2024-01-01 12:00:00",
      "updated_at": "2024-01-01 12:00:00",
      "client": {
        "id": 42,
        "username": "john.doe@i3d.net"
      },
      "contract_id": "MY-CONTRACT-ID",
      "name": "my-server-name.example.com",
      "status": "delivered",
      "status_message": "No server discovered.",
      "os": {
        "id": 9,
        "slug": "debian-9",
        "name": "debian",
        "version": "9"
      },
      "ip_addresses": [
        {
          "ip_address": "127.0.0.1"
        }
      ],
      "tags": [
        "env:prod"
      ],
      "delivered_at": "2024-01-01 12:00:00",
      "released_at": "2024-01-01 12:00:00",
      "request_id": 1234,
      "client_server_request": {}
    }
  ]
}

Last updated

Was this helpful?