Page tree
Skip to end of metadata
Go to start of metadata

This document provides reference materials for using the dRofus REST API for data from a given database. For the database management REST API, se this: Admin system REST API

This API is providing an Open API specification describing the API. We also have an interactive GUI that lets you explore this API and try it out in the browser. Since we expose and document how to get database/project specific properties we require you to login to see the documentation. See Authentication below.

Provide feedback

Do not hesitate to contact us and provide feedback on what use cases you would like to use the API for.

URLS

The API is currently deployed to the following locations. More will follow. The API documentation will expose project specific properties so you need to log in to see it. Please see Authentication section below for how to connect with your dRofus username and password.

Authentication

Currently we use basic authentication (username and password). Username is on the form <db-name>/[project-id/]user-name[/language], where: 

NameMeaning
db-nameThe database-name as you would enter in dRofus Client
project-idId of project. Usually '01'. This is optional only if database only contains one project
user-nameThe name you log on with in dRofus client
languageThe language you want to see data in. Optional, and default is the language configured for the database

We will provide more authentication methods in the future


Queries

We model our query-syntax on the OData standard, but currently only support a small subset of it. 

ArgumentDescriptionSample
$selectA comma-separated list of columns to return. 'id' will always be returned$select=name,architect_no
$orderbyA comma-separated list of columns to sort by. Sorting direction can be specified using asc or desc.  Default is asc. If no orderby is specified, the result is sorted by id$orderby=name,architect_no desc, 
$filter

Used to restrict which rows are returned.  A column can have a criteria to filter by. The value for filter can be quoted to handle embedded spaces and strings. Currently only 'and' can be used to combine multiple filters. 

Operators:
OperatorDescription
EqEquals
NeNot equal
LtLess than
GtGreater than
LeLess than or equal
GeGreater than or equal
InIs a member of
ContainsString contains a sub-string

$filter=created gt '2019-1-1'

$filter=name in ('kitchen', 'office')

$filter=id in (1001, 1003, 1005)

$filter=contains(name,'kitch')


$topMax number of rows to return. Default is 1000. If more data is available than is returned, the result will contain a RFC5988 header value$top=123
$skipHow many rows to skip on result-set. Default is 0. Can be combined with $top to implement paging$skip=100

RFC5988

Rfc5988 is an internet standard for navigating between pages in result-sets. Essentially it looks like this, and contains the full link for additonal data: 

<http://localhost/rooms?$skip=1&$top=1>; rel=\"next\">

Examples

Examples of how to use the API:

  • No labels