Vitruvi API Overview

Introduction to Vitruvi APIs.

Vitruvi uses a RESTful API to interact with its services. It uses standard HTTP requests and responses with JSON objects.

Making Requests

Vitruvi uses simple HTTP requests with RESTful verbs (GET, POST, DELETE) to send and retrieve data. Authentication and authorization for requests is handled via basic HTTP authentication, JWT tokens (recommended) or access tokens.

GET or DELETE requests will usually include the identifier as part of the URL address. For example, retrieving information for a specific Work Item:
/api/v1/wbs/work_items/{id}/

Optional parameters will usually use a querystring key/value parameter after the URL. For example, getting the first 50 Work Items of a specific Work Order (Id=135 in this case):
/api/v1/wbs/work_items/?limit=50&offset=0&work_order=135

All POST requests should use the header Content-type: application/json along with any required data using a raw JSON-formatted body. POST requests do not generally accept form style key-value requests.

Failures will normally respond with a non-200 error code, usually 400 for errors in the request, or 500 for internal issues.

👍

Good to know!

HTTP 500 response errors are most commonly a result of bad syntax in the filter criteria or in the field selection query parameters.

It's highly recommended that each GET request should include the limit parameter. The response will contain the paginated results, and how to obtain the next/previous page.