GET /api/models
List all hardware models

Examples

GET /api/models?include_permissions=true
200
{
  "total": 2,
  "subtotal": 2,
  "page": 1,
  "per_page": 20,
  "search": null,
  "can_create": true,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "info": "Virtual Machine",
      "created_at": "2019-09-11 10:40:36 -0400",
      "updated_at": "2019-09-11 10:40:36 -0400",
      "vendor_class": null,
      "hardware_model": null,
      "id": 980190962,
      "name": "KVM",
      "can_edit": true,
      "can_delete": true,
      "hosts_count": 0
    },
    {
      "info": null,
      "created_at": "2019-09-11 10:40:36 -0400",
      "updated_at": "2019-09-11 10:40:36 -0400",
      "vendor_class": "Sun-Fire-V210",
      "hardware_model": "SUN4U",
      "id": 139037058,
      "name": "SUN V210",
      "can_edit": true,
      "can_delete": true,
      "hosts_count": 0
    }
  ]
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

search
optional

filter results

Validations:

  • Must be a String

order
optional

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
optional

Page number, starting at 1

Validations:

  • Must be a number.

per_page
optional

Number of results per page to return

Validations:

  • Must be a number.

Search fields

Field name Type Possible values
hardware_model string
info text
name string
vendor_class string

GET /api/models/:id
Show a hardware model

Examples

GET /api/models/980190962-KVM
200
{
  "info": "Virtual Machine",
  "created_at": "2019-09-11 14:48:32 UTC",
  "updated_at": "2019-09-11 14:48:32 UTC",
  "vendor_class": null,
  "hardware_model": null,
  "id": 980190962,
  "name": "KVM",
  "can_edit": true,
  "can_delete": true,
  "hosts_count": 0
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.


POST /api/models
Create a hardware model

Examples

POST /api/models
{
  "model": {
    "name": "new model"
  }
}
201
{
  "info": null,
  "created_at": "2019-09-11 14:48:52 UTC",
  "updated_at": "2019-09-11 14:48:52 UTC",
  "vendor_class": null,
  "hardware_model": null,
  "id": 980190965,
  "name": "new model",
  "hosts_count": 0
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

model
required

Validations:

  • Must be a Hash

model[name]
required

Validations:

  • Must be a String

model[info]
optional , nil allowed

Validations:

  • Must be a String

model[vendor_class]
optional , nil allowed

Validations:

  • Must be a String

model[hardware_model]
optional , nil allowed

Validations:

  • Must be a String


PUT /api/models/:id
Update a hardware model

Examples

PUT /api/models/980190962-KVM
{
  "name": "KVM",
  "model": {
    "name": "KVM"
  }
}
200
{
  "info": "Virtual Machine",
  "created_at": "2019-09-11 14:48:32 UTC",
  "updated_at": "2019-09-11 14:48:32 UTC",
  "vendor_class": null,
  "hardware_model": null,
  "id": 980190962,
  "name": "KVM",
  "hosts_count": 0
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be a String

model
required

Validations:

  • Must be a Hash

model[name]
optional

Validations:

  • Must be a String

model[info]
optional , nil allowed

Validations:

  • Must be a String

model[vendor_class]
optional , nil allowed

Validations:

  • Must be a String

model[hardware_model]
optional , nil allowed

Validations:

  • Must be a String


DELETE /api/models/:id
Delete a hardware model

Examples

DELETE /api/models/980190962-KVM
{
  "model": {}
}
200
{
  "id": 980190962,
  "name": "KVM",
  "info": "Virtual Machine",
  "created_at": "2019-09-11T14:48:32.036Z",
  "updated_at": "2019-09-11T14:48:32.036Z",
  "vendor_class": null,
  "hardware_model": null
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be a String