Skip to content

Latest commit

 

History

History
132 lines (115 loc) · 8.24 KB

reference.md

File metadata and controls

132 lines (115 loc) · 8.24 KB

REST API Reference Guide v1.0

This document presents the currently available features and capabilities of the RESTful API. For further details on the implementation as well a complete list of the proposed features please refer to the Design Specification.

Authentication

Type Mechanism
Basic Authentication Basic HTTP Authorization with user and password
Token Based Authentication
- Acquiring Token /api/auth with Basic Authentication
- Authenticating with Token X-Auth-Token Header

HTTP Headers

Header Value
Authorization Basic base64_encoded(user:password)
X-Auth-Token Token provided by /api/auth
Accept application/json
Content-Type application/json

Listing and Querying Collections and Sub-Collections

Feature Path
Listing Available Collections /api
Listing Collections /api/<collection>
Listing Sub-Collections /api/<collection>/<id>/<sub-collection>
Querying Capability Query Parameters
Paging offset, limit
Sorting sort_by=attr, sort_order=asc|desc
Filtering sqlfilter="..."
Querying by Tag i.e. by_tag=/department/finance
Expanding Results expand=<what>, i.e. expand=resources,tags,service_templates,...
Selecting Attributes attributes=<atr1>,<atr2>,... i.e. attributes=id,name,type,...

Example Queries

Collection Queries:

Collection URL
Services /api/services
Service Templates /api/service_templates
Service Catalogs /api/service_catalogs
Clusters /api/clusters
Datastores /api/data_stores
Hosts /api/hosts
Providers /api/providers
Resource Pools /api/resource_pools
EVM Servers /api/servers
Templates /api/templates
Vms /api/vms
Zones /api/zones
Policies /api/policies
Policy Profiles /api/policy_profiles
Groups /api/groups
Roles /api/roles
Users /api/users
Requests /api/requests
Service Requests /api/service_requests
Request Tasks /api/request_tasks
Automation Requests /api/automation_requests
Provision Requests /api/provision_requests

Sub-Collection Queries

Sub-Collection URL
Service Templates /api/<collection>/<id>/service_templates
Tags /api/<collection>/<id>/tags
Service Requests /api/service_templates/<id>/service_requests
Service Request Tasks /api/service_requests/<id>/request_tasks
/api/service_requests/<id>/tasks (alias of request_tasks)
Automation Request Tasks /api/automation_requests/<id>/request_tasks
/api/automation_requests/<id>/tasks (alias of request_tasks)
Provision Request Tasks /api/provision_requests/<id>/request_tasks
/api/provision_requests/<id>/tasks (alias of request_tasks)

Available Actions

Action Method URL
Edit Service POST /api/services/<id>
Edit Service via PUT PUT /api/services/<id>
Edit Service via PATCH PATCH /api/services/<id>
Edit Service POST /api/services/<id>
Edit Services POST /api/services/
Assign Tags to Service POST /api/services/<id>/tags
Unassign Tags from Service POST /api/services/<id>/tags
Retire Service (now and future) POST /api/services/<id>
Retire Services (now and future) POST /api/services
Delete Service DELETE /api/services/<id>
Delete Services POST /api/services
Edit Service Template POST /api/service_templates/<id>
Edit Service Templates POST /api/service_templates
Assign Tags to Service Template POST /api/service_templates/<id>/tags
Unassign Tags from Service Template POST /api/service_templates/<id>/tags
Delete Service Template DELETE /api/service_templates/<id>
Delete Service Templates POST /api/service_templates
Add a new Service Catalog POST /api/service_catalogs
Add Service Catalogs POST /api/service_catalogs
Edit a Service Catalog POST /api/service_catalogs/<id>
Edit Service Catalogs POST /api/service_catalogs
Assign Service Templates POST /api/service_catalogs/<id>/service_templates
UnAssign Service Templates POST /api/service_catalogs/<id>/service_templates
Order Service POST /api/service_catalogs/<id>/service_templates
Order Services POST /api/service_catalogs/<id>/service_templates
Delete Service Catalog DELETE /api/service_catalogs/<id>
Delete Service Catalogs POST /api/service_catalogs
Automation Request POST /api/automation_requests
Automation Requests POST /api/automation_requests
Provision Request POST /api/provision_requests
Provision Requests POST /api/provision_requests