# Flo.w REST API v1.1.5

This documentation has been generated automatically. View the Open API Specification v3.0 (opens new window). The API can also be explored using Swagger (opens new window).

Flo.w Engine exposes its services through a REST API. Standard CRUD (create/read/update/delete) operations are provided for the following resources:

Additional operations are provided for:

Map Server endpoints are also provided for use by map visualizations:

  • Base map styles
  • Map tiles
  • Map fonts
  • Map sprites

API Base URLs:

# Authenticating REST Requests

Unless specified otherwise, all REST requests must be authenticated. A Flo.w API key must be provided as a request header (preferred) or as a query parameter.

The supplied API key must provide appropriate access (read, write or execute) to the requested resource. A '401 Unauthorized' error will be returned if the API key is missing or does not provide the required level of access.

  • Specify a Flo.w API key as a request header. (headerApiKey)

    • Parameter Name: x-flow-api-key, in: header
  • Specify a Flo.w API key as a query parameter. (queryApiKey)

    • Parameter Name: api-key, in: query

# Server Configuration

Use the Flo.w Engine configuration endpoint to retrieve global server configuration and version information.

# Get server configuration

GET /api/v1/config

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/config \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Example responses

200 Response

{
  "key1": {},
  "key2": {},
  "version": {
    "tag": "v1.0.48",
    "hash": "9d9aa13",
    "timestamp": 1603280031
  }
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Configuration response ConfigDto
401 Unauthorized (opens new window) Unauthorized None

# Healthcheck

Use the Healthcheck endpoint to check Flo.w Engine server health.

# Get server healthcheck

GET /api/v1/healthcheck

Authentication

This operation does not require authentication

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/healthcheck \
  --header 'Accept: application/json'

# Example responses

200 Response

{
  "status": "OK"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Healthcheck response Inline
# Response Schema

Status Code 200

Name Type Required Restrictions Description
» status string false none none

# API Keys

API keys provide authenticated access to the Flo.w Engine REST API and must be supplied with most REST requests. See Authenticating REST Requests for details of how to specify an API key when making a request.

API keys are immutable

API keys cannot be modified once created. A new API key must be generated to modify access permissions.

API keys provide different levels of access depending on their type property:

  • master keys: Can access resources owned by any Flo.w application. Master keys are generally only available to system administrators and are used to create, modify and delete Flo.w applications.
  • app keys: Can access resources owned by a single Flo.w application. App keys are used by Flo.w application developers and systems that integrate with Flo.w Engine (for example, front-end web applications).
  • user keys: Can access resources owned by a specified Flo.w user (not currently used).

In addition to the broad levels of access described above, each API key also specifies an access control list (ACL) in its permissions property that provides finer grained access to classes of resources and the type of access granted (read, write and/or execute).

Access can be granted to the following resource classes:

  • auth: Authentication operations (log in, log out, change password etc.)
  • apikeys: API key CRUD operations.
  • appconfig: Application Config CRUD operations.
  • applications: Application CRUD operations.
  • users: User CRUD operations.
  • databases: Database CRUD operations.
  • datasets: Dataset CRUD and query operations.
  • uploads: Data Upload CRUD and data ingest operations.
  • tiles: Tile Source CRUD and Map Server operations.
  • styles: Map Style CRUD and Map Server operations.

Access levels:

  • read: CRUD get and getMany operations.
  • write: CRUD create, update and delete operations.
  • execute: Resource-specific 'extra' operations. For example, dataset querying or authentication operations.

# Create ApiKey

POST /api/v1/apikeys

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new ApiKey.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/apikeys \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","description":"string","type":"master","permissions":{},"userId":0}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "description": "string",
  "type": "master",
  "permissions": {},
  "userId": 0
}

# Parameters

Name In Type Required Description
body body ApiKey true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "description": "string",
  "type": "master",
  "permissions": {},
  "user": {},
  "userId": 0
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create ApiKey response ApiKey
401 Unauthorized (opens new window) Unauthorized None

# Get ApiKeys

GET /api/v1/apikeys

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of ApiKeys. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved ApiKeys by field values.
  • Sort retrieved ApiKeys by field values.
  • Join related resources.
  • Limit the number of ApiKeys retrieved.
  • Offset the ApiKeys retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/apikeys \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get ApiKeys response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiKey] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» application Application false read-only Related Application (specify join to load)
» applicationId string true read-only Application ID
» metadata object true none Resource metadata
» id string true none Resource ID
» description string true none Description
» type string true none API key type
» permissions object true none Permission ACLs
» user User false read-only Related User resource (user-type keys only)
» userId number false none Related User ID (user-type keys only)
# Enumerated Values
Property Value
type master
type app
type user

# Get ApiKey

GET /api/v1/apikeys/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified ApiKey. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/apikeys/apikey-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true ApiKey ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "description": "string",
  "type": "master",
  "permissions": {},
  "user": {},
  "userId": 0
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get ApiKey response ApiKey
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete ApiKey

DELETE /api/v1/apikeys/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified ApiKey.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/apikeys/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete ApiKey response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get metadata

GET /api/v1/apikeys/{id}/metadata

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get the complete metadata object for a resource.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/apikeys/string/metadata \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Get metadata by key

GET /api/v1/apikeys/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get resource metadata by key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/apikeys/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "prop1": {},
  "prop2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata by key response Inline
# Response Schema

# Set metadata by key

PUT /api/v1/apikeys/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Set resource metadata by key.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/apikeys/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{}'

# Body parameter

{}

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key
body body object true Metadata value

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Delete metadata by key

DELETE /api/v1/apikeys/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Delete resource metadata by key.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/apikeys/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Resource metadata response Inline
# Response Schema

# Applications

An Application is a logical container for other Flo.w Engine resources and provides multi-tenancy capability. A separate Application is generally created for each front-end web visualization.

REST requests are restricted to accessing resources 'owned' by the Application associated with the supplied API key. Only master API keys can access any resource and create, modify or delete Applications.

# Get Application

GET /api/v1/applications/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified Application. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/applications/application-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Application ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string",
  "databases": []
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Application response Application
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update Application

PUT /api/v1/applications/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified Application using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/applications/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","name":"string","description":"string","contact":"string"}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string"
}

# Parameters

Name In Type Required Description
id path string true none
body body Application true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string",
  "databases": []
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update Application response Application
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete Application

DELETE /api/v1/applications/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified Application.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/applications/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete Application response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get Applications

GET /api/v1/applications

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Applications. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Applications by field values.
  • Sort retrieved Applications by field values.
  • Join related resources.
  • Limit the number of Applications retrieved.
  • Offset the Applications retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/applications \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Applications response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Application] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» metadata object true none Resource metadata
» id string true none Resource ID
» name string true none Application name
» description string true none Application description
» contact string true none Contact email
» databases [Database] false read-only Related Database resources (specify join to load)

# Create Application

POST /api/v1/applications

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new Application.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/applications \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","name":"string","description":"string","contact":"string"}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string"
}

# Parameters

Name In Type Required Description
body body Application true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string",
  "databases": []
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create Application response Application
401 Unauthorized (opens new window) Unauthorized None

# Get metadata

GET /api/v1/applications/{id}/metadata

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get the complete metadata object for a resource.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/applications/string/metadata \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Get metadata by key

GET /api/v1/applications/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get resource metadata by key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/applications/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "prop1": {},
  "prop2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata by key response Inline
# Response Schema

# Set metadata by key

PUT /api/v1/applications/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Set resource metadata by key.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/applications/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{}'

# Body parameter

{}

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key
body body object true Metadata value

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Delete metadata by key

DELETE /api/v1/applications/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Delete resource metadata by key.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/applications/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Resource metadata response Inline
# Response Schema

# Application Configuration

Use Application Configuration to store arbitrary application-specific configuration JSON. The configuration can be retrieved or modified by front-end applications using the operations below.

TIP

To prevent modification of the configuration from a front-end application, supply an API key that only has execute access for the appconfig resource type and use the Get Current AppConfig endpoint.

# Get current AppConfig

GET /api/v1/appconfig/current

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Returns configuration for the application associated with the supplied API key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/appconfig/current \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Example responses

200 Response

{
  "key1": {},
  "key2": {},
  "flow": {
    "key1": {},
    "key2": {},
    "version": {
      "tag": "v1.0.48",
      "hash": "9d9aa13",
      "timestamp": 1603280031
    }
  }
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Current AppConfig response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
» flow ConfigDto false none none
»» version object true none Server version
»»» tag string false none Version tag
»»» hash string false none Build hash
»»» timestamp number false none Build timestamp

# Get AppConfig

GET /api/v1/appconfig/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified AppConfig. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/appconfig/appconfig-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true AppConfig ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "applicationId": "string",
  "config": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get AppConfig response AppConfig
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update AppConfig

PUT /api/v1/appconfig/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified AppConfig using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/appconfig/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"config":{}}'

# Body parameter

{
  "config": {}
}

# Parameters

Name In Type Required Description
id path string true none
body body AppConfig true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "applicationId": "string",
  "config": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update AppConfig response AppConfig
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete AppConfig

DELETE /api/v1/appconfig/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified AppConfig.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/appconfig/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete AppConfig response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get AppConfigs

GET /api/v1/appconfig

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of AppConfigs. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved AppConfigs by field values.
  • Sort retrieved AppConfigs by field values.
  • Join related resources.
  • Limit the number of AppConfigs retrieved.
  • Offset the AppConfigs retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/appconfig \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get AppConfigs response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AppConfig] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» applicationId string true read-only Related Application ID
» config ConfigDto false none Application configuration

# Create AppConfig

POST /api/v1/appconfig

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new AppConfig.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/appconfig \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"config":{}}'

# Body parameter

{
  "config": {}
}

# Parameters

Name In Type Required Description
body body AppConfig true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "applicationId": "string",
  "config": {}
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create AppConfig response AppConfig
401 Unauthorized (opens new window) Unauthorized None

# Data Upload

Data upload operations provide the ability to upload geospatial data and monitor upload progress.

Uploading data creates a new Dataset and associated TileSource for serving the data as vector map tiles.

# Upload data file

POST /api/v1/uploads

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Upload a geospatial data file. For supported formats see here.

A response will be sent when the file has been uploaded but before it has been processed. Use the returned upload ID to track progress by calling the Get Upload operation.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/uploads \
  --header 'Accept: application/json' \
  --header 'Content-Type: multipart/form-data' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --header 'x-flow-api-key: API_KEY' \
  --form file=null \
  --form datasetId=string \
  --form name=string \
  --form description=string \
  --form attribution=string \
  --form sourceSrid=0 \
  --form targetSrid=0

# Body parameter

file: null
datasetId: string
name: string
description: string
attribution: string
sourceSrid: 0
targetSrid: 0

# Parameters

Name In Type Required Description
body body UploadDto true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "owner": {},
  "ownerId": 0,
  "id": "string",
  "fileName": "string",
  "path": "string",
  "options": {},
  "status": "string",
  "error": {},
  "size": 0
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Data Upload response Upload
401 Unauthorized (opens new window) Unauthorized None

# Get Uploads

GET /api/v1/uploads

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Uploads. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Uploads by field values.
  • Sort retrieved Uploads by field values.
  • Join related resources.
  • Limit the number of Uploads retrieved.
  • Offset the Uploads retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/uploads \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Uploads response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Upload] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» application Application false read-only Related Application (specify join to load)
» applicationId string true read-only Application ID
» owner User false read-only Related User (specify join to load)
» ownerId number false none User ID
» id string true none Resource ID
» fileName string true none Upload original filename
» path string true none Temporary upload path
» options object true none Upload options
» status string true read-only Upload status
» error object true read-only Upload error information
» size number true read-only Upload size in bytes

# Get Upload

GET /api/v1/uploads/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified Upload. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/uploads/upload-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Upload ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "owner": {},
  "ownerId": 0,
  "id": "string",
  "fileName": "string",
  "path": "string",
  "options": {},
  "status": "string",
  "error": {},
  "size": 0
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Upload response Upload
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Datasets

Datasets are abstractions of geospatial and non-geospatial data that can be queried or exposed as vector map tiles. A dataset is typically stored as a Postgres/PostGIS database table but drivers are provided for alternative backing storage.

Datasets can be created directly using the Create Dataset operation or by uploading data using the Upload File operation.

Dataset types:

  • table: A table-backed Dataset. source is set to a database table name.
  • sql: A SQL-backed Dataset analogous to a database view. source is set to a SQL query.
  • rest: A Dataset backed by a third-party REST request. source is set to a URL.
  • lambda: A Dataset backed by an AWS Lambda function. source is set to an AWS Lambda ARN.

Datasets can be queried using a simplified syntax (GET request) or a rich syntax (POST request) that supports complex filtering, grouping and ordering operations. Query output can be formatted as JSON, GeoJSON or CSV.

# Create Dataset

POST /api/v1/datasets

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new Dataset.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/datasets \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"ownerId":0,"id":"string","type":"table","source":"string","name":"string","description":"string","databaseId":"string"}'

# Body parameter

{
  "metadata": {},
  "ownerId": 0,
  "id": "string",
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "databaseId": "string"
}

# Parameters

Name In Type Required Description
body body Dataset true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "owner": {},
  "ownerId": 0,
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "attributes": [],
  "bytes": 0,
  "databaseId": "string",
  "database": {}
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create Dataset response Dataset
401 Unauthorized (opens new window) Unauthorized None

# Get Datasets

GET /api/v1/datasets

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Datasets. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Datasets by field values.
  • Sort retrieved Datasets by field values.
  • Join related resources.
  • Limit the number of Datasets retrieved.
  • Offset the Datasets retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/datasets \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Datasets response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Dataset] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» metadata object true none Resource metadata
» owner User false read-only Related User (specify join to load)
» ownerId number false none User ID
» applicationId string true read-only Related Application ID
» id string true none Dataset ID
» application Application false read-only Related Application (specify join to load)
» type string true none Dataset type - table or SQL
» source string true none Source table name or SQL
» name string true none Dataset name
» description string true none Dataset description
» attributes [AttributeDto] false read-only Dataset attributes (autodetected)
» bytes number false read-only Dataset size (only applicable to table type)
» databaseId string true none Database ID
» database Database false read-only Related Database (specify join to load)
# Enumerated Values
Property Value
type table
type sql

# Update Dataset

PUT /api/v1/datasets/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified Dataset using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/datasets/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"ownerId":0,"id":"string","type":"table","source":"string","name":"string","description":"string","databaseId":"string"}'

# Body parameter

{
  "metadata": {},
  "ownerId": 0,
  "id": "string",
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "databaseId": "string"
}

# Parameters

Name In Type Required Description
id path string true none
body body Dataset true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "owner": {},
  "ownerId": 0,
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "attributes": [],
  "bytes": 0,
  "databaseId": "string",
  "database": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update Dataset response Dataset
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get Dataset

GET /api/v1/datasets/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified Dataset. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/datasets/dataset-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Dataset ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "owner": {},
  "ownerId": 0,
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "attributes": [],
  "bytes": 0,
  "databaseId": "string",
  "database": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Dataset response Dataset
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete Dataset

DELETE /api/v1/datasets/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified Dataset.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/datasets/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete Dataset response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Query Dataset (simple)

GET /api/v1/datasets/{id}/query

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Query the specified dataset using simplified query string syntax.

Specify query parameters to:

  • Select attributes to retrieve.
  • Filter results by attribute values.
  • Supply query parameters.
  • Sort results.
  • Limit the number of results retrieved.
  • Offset the results retrieved.

See Simplified Query Syntax.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/datasets/dataset-id/query \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Dataset ID
format query string false Response format
explain query boolean false Explain query
attributes query array[string] false Select attributes to return
filter query object false Filter results
sort query array[string] false Sort by attributes
limit query number false Limit number of results
offset query number false Offset results
filename query string false Specify download file name

# Detailed descriptions

filename: Specify download file name

Adds a Content-Disposition: attachment; filename="<filename>" header to the response. This hints that the response should be downloaded when the request is issued from a browser.

# Enumerated Values
Parameter Value
format json
format geojson
format csv

# Example responses

200 Response

[]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Query results Inline
404 Not Found (opens new window) Dataset not found None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
» anonymous any false none none

# Query Dataset (advanced)

POST /api/v1/datasets/{id}/query

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Query the specified dataset using advanced post body syntax.

Specify query parameters to:

  • Select attributes to retrieve.
  • Filter results by attribute values.
  • Perform grouping and aggregation.
  • Sort results.
  • Limit the number of results retrieved.
  • Offset the results retrieved.

See Dataset Query Definitions.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/datasets/dataset-id/query \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"attributes":[],"where":{},"order":[],"group":[],"sample":{},"limit":0,"offset":0,"distinct":[]}'

# Body parameter

{
  "attributes": [],
  "where": {},
  "order": [],
  "group": [],
  "sample": {},
  "limit": 0,
  "offset": 0,
  "distinct": []
}

# Parameters

Name In Type Required Description
id path string true Dataset ID
format query string false Response format
explain query boolean false Explain query
timeout query number false Query timeout (ms)
filename query string false Specify download file name
body body AdvancedQueryBodyDto true none

# Detailed descriptions

filename: Specify download file name

Adds a Content-Disposition: attachment; filename="<filename>" header to the response. This hints that the response should be downloaded when the request is issued from a browser.

# Enumerated Values
Parameter Value
format json
format geojson
format csv

# Example responses

200 Response

[]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Query results Inline
404 Not Found (opens new window) Dataset not found None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
» anonymous any false none none

# Get metadata

GET /api/v1/datasets/{id}/metadata

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get the complete metadata object for a resource.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/datasets/string/metadata \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Get metadata by key

GET /api/v1/datasets/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get resource metadata by key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/datasets/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "prop1": {},
  "prop2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata by key response Inline
# Response Schema

# Set metadata by key

PUT /api/v1/datasets/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Set resource metadata by key.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/datasets/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{}'

# Body parameter

{}

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key
body body object true Metadata value

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Delete metadata by key

DELETE /api/v1/datasets/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Delete resource metadata by key.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/datasets/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Resource metadata response Inline
# Response Schema

# Databases

A Database resource specifies a driver and connection details for connecting to an external database. Databases are associated with Datasets to specify how and where the underlying data for the Dataset is stored.

Each Flo.w Application will typically contain a single Database, which provides connection details to an application-specific physical database. However, an Application can also be associated with multiple databases. In this case, each Dataset may specify which Database to use for backing storage - the default Database will be used if not specified.

# Get drivers

GET /api/v1/databases/drivers

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Returns a list of available database drivers.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/databases/drivers \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Example responses

200 Response

[
  "string"
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) none Inline
# Response Schema

# Get Database

GET /api/v1/databases/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified Database. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/databases/database-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Database ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "db": "string",
  "default": true,
  "application": {},
  "applicationId": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Database response Database
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update Database

PUT /api/v1/databases/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified Database using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/databases/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"id":"string","type":"string","name":"string","description":"string","host":"string","port":0,"user":"string","password":"string","db":"string","default":true}'

# Body parameter

{
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "password": "string",
  "db": "string",
  "default": true
}

# Parameters

Name In Type Required Description
id path string true none
body body Database true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "db": "string",
  "default": true,
  "application": {},
  "applicationId": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update Database response Database
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete Database

DELETE /api/v1/databases/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified Database.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/databases/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete Database response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get Databases

GET /api/v1/databases

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Databases. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Databases by field values.
  • Sort retrieved Databases by field values.
  • Join related resources.
  • Limit the number of Databases retrieved.
  • Offset the Databases retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/databases \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Databases response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Database] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» id string true none Resource ID
» type string true none Database type
» name string true none Database name
» description string true none Database description
» host string true none Database connection: host address
» port number true none Database connection: port number
» user string true none Database connection: user
» password string true write-only Database connection: password
» db string true none Database connection: database name
» default boolean true none Default Database for Application
» application Application false read-only Related Application resource (specify join to load)
» applicationId string true read-only Related Application ID

# Create Database

POST /api/v1/databases

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new Database.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/databases \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"id":"string","type":"string","name":"string","description":"string","host":"string","port":0,"user":"string","password":"string","db":"string","default":true}'

# Body parameter

{
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "password": "string",
  "db": "string",
  "default": true
}

# Parameters

Name In Type Required Description
body body Database true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "db": "string",
  "default": true,
  "application": {},
  "applicationId": "string"
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create Database response Database
401 Unauthorized (opens new window) Unauthorized None

# Map Styles

A Map Style is used by the Map Server to provide base maps for visualizations.

During creation of a new Application, a copy of one of the standard base map styles will typically be made:

  • 'positron': a simple light base map showing place names and transport.
  • 'darkmatter': a simple dark base map showing place names and transport.
  • 'fjord': a simple blue base map showing place names and transport.
  • 'osm-bright': a detailed base map showing land use and points of interest.

Support is provided for alternative style formats. Currently, a single format is supported:

# Get Style

GET /api/v1/styles/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified Style. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/styles/style-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Style ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Style response Style
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update Style

PUT /api/v1/styles/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified Style using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/styles/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"applicationId":"string","id":"string","name":"string","description":"string","type":"plain","style":{}}'

# Body parameter

{
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Parameters

Name In Type Required Description
id path string true none
body body Style true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update Style response Style
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete Style

DELETE /api/v1/styles/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified Style.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/styles/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete Style response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get Styles

GET /api/v1/styles

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Styles. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Styles by field values.
  • Sort retrieved Styles by field values.
  • Join related resources.
  • Limit the number of Styles retrieved.
  • Offset the Styles retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/styles \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Styles response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Style] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» metadata object true none Resource metadata
» applicationId string true none Related Application ID
» id string true none Resource ID
» application Application false read-only Related Application resource (specify join to load)
» name string true none Style name
» description string true none Style description
» type string true none Style type. Currently only plain (MapboxGL style specification) is supported)
» style object true none Style JSON definition
# Enumerated Values
Property Value
type plain

# Create Style

POST /api/v1/styles

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new Style.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/styles \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"applicationId":"string","id":"string","name":"string","description":"string","type":"plain","style":{}}'

# Body parameter

{
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Parameters

Name In Type Required Description
body body Style true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create Style response Style
401 Unauthorized (opens new window) Unauthorized None

# Map Tile Sources

Map Tile Sources are used by the Map Server and specify available vector map tiles.

Two types of Tile Source are supported:

  • 'dataset': Tile data is provided from a Flo.w Dataset. The source property specifies the Dataset ID.
  • 'tilelive': Tile data is provided from a TileLive (opens new window) source. The source property specifies the TileLive URI. This type of Tile Source is typically used to expose mbtiles (opens new window) files as vector map tiles.

# Get drivers

GET /api/v1/tilesources/drivers

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Returns a list of available tile drivers.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/tilesources/drivers \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Example responses

200 Response

[
  "string"
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) none Inline
# Response Schema

# Get TileSource

GET /api/v1/tilesources/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified TileSource. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/tilesources/tilesource-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true TileSource ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get TileSource response TileSource
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update TileSource

PUT /api/v1/tilesources/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified TileSource using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","application":{},"type":"string","source":"string","attribution":"string","minZoom":0,"maxZoom":0,"extentLngLat":[],"headers":{}}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Parameters

Name In Type Required Description
id path string true none
body body TileSource true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update TileSource response TileSource
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete TileSource

DELETE /api/v1/tilesources/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified TileSource.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete TileSource response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get TileSources

GET /api/v1/tilesources

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of TileSources. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved TileSources by field values.
  • Sort retrieved TileSources by field values.
  • Join related resources.
  • Limit the number of TileSources retrieved.
  • Offset the TileSources retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/tilesources \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get TileSources response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TileSource] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» metadata object true none Resource metadata
» applicationId string true read-only Related Application ID
» id string true none Resource ID
» application Application false none Related Application resource (specify join to load)
» type string true none Tile source type
» source string true none Data source
» attribution string true none Tile source attribution text
» minZoom number true none Minimum zoom level
» maxZoom number true none Maximum zoom level
» extentLngLat [number] true none Override tile source extent
» headers object true none Tile source response headers

# Create TileSource

POST /api/v1/tilesources

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new TileSource.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/tilesources \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","application":{},"type":"string","source":"string","attribution":"string","minZoom":0,"maxZoom":0,"extentLngLat":[],"headers":{}}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Parameters

Name In Type Required Description
body body TileSource true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create TileSource response TileSource
401 Unauthorized (opens new window) Unauthorized None

# Get metadata

GET /api/v1/tilesources/{id}/metadata

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get the complete metadata object for a resource.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string/metadata \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Get metadata by key

GET /api/v1/tilesources/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get resource metadata by key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "prop1": {},
  "prop2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata by key response Inline
# Response Schema

# Set metadata by key

PUT /api/v1/tilesources/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Set resource metadata by key.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{}'

# Body parameter

{}

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key
body body object true Metadata value

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Delete metadata by key

DELETE /api/v1/tilesources/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Delete resource metadata by key.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/tilesources/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Resource metadata response Inline
# Response Schema

# Users

The User resource together with Authentication endpoints provide user management and authentication services required by many front-end applications.

Note that the primary mechanism for authentication with Flo.w Engine is by API key. The use of Users and the Authentication endpoints is optional and provided as a service to applications if user-based authentication is required.

# Get current User

GET /api/v1/auth/users/me

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Returns the User associated with the supplied Authorization bearer token.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/users/me \
  --header 'Accept: application/json' \
  --header 'Authentication: Bearer <jwt token>' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
Authentication header string true Authorization bearer token

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Current User response User
401 Unauthorized (opens new window) Unauthorized None

# Get User

GET /api/v1/auth/users/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve the specified User. Specify query parameters to:

  • Select fields to retrieve.
  • Join related resources.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/users/user-id \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true User ID
fields query array[string] false Select resource fields
join query array[string] false Join related resources

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get User response User
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Update User

PUT /api/v1/auth/users/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Update the specified User using the body of the request. Partial updates are supported.

Note that id, applicationId, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","email":"string","firstName":"string","lastName":"string","password":"string","roles":[],"emailVerified":true,"enabled":true}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "password": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true
}

# Parameters

Name In Type Required Description
id path string true none
body body User true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Update User response User
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Delete User

DELETE /api/v1/auth/users/{id}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Delete the specified User.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true none

# Responses

Status Meaning Description Schema
200 OK (opens new window) Delete User response None
401 Unauthorized (opens new window) Unauthorized None
404 Not Found (opens new window) Resource not found None

# Get Users

GET /api/v1/auth/users

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: read

Retrieve an array of Users. Specify query parameters to:

  • Select fields to retrieve.
  • Filter retrieved Users by field values.
  • Sort retrieved Users by field values.
  • Join related resources.
  • Limit the number of Users retrieved.
  • Offset the Users retrieved.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/users \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
fields query array[string] false Select resource fields
filter query object false Filter by resource fields
sort query array[string] false Select sort by field
join query array[string] false Join related resources
limit query integer false Limit number of resources
offset query integer false Offset resources

# Example responses

200 Response

[
  {}
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Get Users response Inline
401 Unauthorized (opens new window) Unauthorized None
# Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [User] false none none
» createdAt string(date-time) true read-only Creation timestamp
» updatedAt string(date-time) true read-only Last update timestamp
» application Application false read-only Related Application (specify join to load)
» applicationId string true read-only Application ID
» metadata object true none Resource metadata
» id string true none Resource ID
» email string true none User email address
» firstName string true none User first name
» lastName string true none User last name
» password string true write-only User password
» roles [string] true none Application-specific roles
» emailVerified boolean true none User email is verified
» enabled boolean true none User is enabled
» verificationToken string true read-only User email verification token
» passwordResetToken string true read-only User password reset token

# Create User

POST /api/v1/auth/users

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: write

Create a new User.

Note that `applicationId`, 'createdAt' and 'updatedAt' are set automatically and will be overwritten if supplied.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/users \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"metadata":{},"id":"string","email":"string","firstName":"string","lastName":"string","password":"string","roles":[],"emailVerified":true,"enabled":true}'

# Body parameter

{
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "password": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true
}

# Parameters

Name In Type Required Description
body body User true none

# Example responses

201 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Responses

Status Meaning Description Schema
201 Created (opens new window) Create User response User
401 Unauthorized (opens new window) Unauthorized None

# Get metadata

GET /api/v1/auth/users/{id}/metadata

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get the complete metadata object for a resource.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string/metadata \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Get metadata by key

GET /api/v1/auth/users/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Get resource metadata by key.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "prop1": {},
  "prop2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata by key response Inline
# Response Schema

# Set metadata by key

PUT /api/v1/auth/users/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Set resource metadata by key.

# Code samples

curl --request PUT \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{}'

# Body parameter

{}

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key
body body object true Metadata value

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Metadata response Inline
# Response Schema

# Delete metadata by key

DELETE /api/v1/auth/users/{id}/metadata/{key}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey, headerApiKey, queryApiKey

Delete resource metadata by key.

# Code samples

curl --request DELETE \
  --url https://flow.emu-analytics.net/api/v1/auth/users/string/metadata/string \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Resource ID
key path string true Metadata key

# Example responses

200 Response

{
  "key1": {},
  "key2": {}
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Resource metadata response Inline
# Response Schema

# Authentication

Authentication endpoints together with the User resource provide user management and authentication services required by many front-end applications.

Note that the primary mechanism for authentication with Flo.w Engine is by API key. The use of Users and the Authentication endpoints is optional and provided as a service to applications if user-based authentication is required.

# Log In

POST /api/v1/auth/login

Authentication

This operation does not require authentication

Log in using the supplied credentials.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/login \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"email":"string","password":"string","applicationId":"string"}'

# Body parameter

{
  "email": "string",
  "password": "string",
  "applicationId": "string"
}

# Parameters

Name In Type Required Description
body body LoginDto true none

# Example responses

200 Response

{
  "accessToken": "string",
  "refreshToken": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Current User response AuthLoginResponse
401 Unauthorized (opens new window) Unauthorized None

# Log Out

POST /api/v1/auth/logout

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Log out and invalidate the associated refresh token.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/logout \
  --header 'Authentication: Bearer <jwt token>' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"refreshToken":"string"}'

# Body parameter

{
  "refreshToken": "string"
}

# Parameters

Name In Type Required Description
Authentication header string true Authorization bearer token
body body object true none
» refreshToken body string false Refresh token to invalidate

# Responses

Status Meaning Description Schema
204 No Content (opens new window) Log Out response None
401 Unauthorized (opens new window) Unauthorized None

# Refresh authentication token

POST /api/v1/auth/refresh

Authentication

This operation does not require authentication

Supply a valid refresh token to retrieve a refreshed JWT authentication token.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/refresh \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"refreshToken":"string","applicationId":"string"}'

# Body parameter

{
  "refreshToken": "string",
  "applicationId": "string"
}

# Parameters

Name In Type Required Description
body body object true none
» refreshToken body string false none
» applicationId body string false none

# Example responses

200 Response

"string"

# Responses

Status Meaning Description Schema
200 OK (opens new window) Refreshed JWT authentication token string

# Change password

POST /api/v1/auth/changepassword

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Change the password of the User identified by the supplied Authorization token.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/changepassword \
  --header 'Authentication: Bearer <jwt token>' \
  --header 'Content-Type: application/json' \
  --header 'x-flow-api-key: API_KEY' \
  --data '{"password":"string","newPassword":"string"}'

# Body parameter

{
  "password": "string",
  "newPassword": "string"
}

# Parameters

Name In Type Required Description
Authentication header string true Authorization bearer token
body body ChangePasswordDto true none

# Responses

Status Meaning Description Schema
204 No Content (opens new window) Change Password response None

# Sign up new user

POST /api/v1/auth/signup

Authentication

This operation does not require authentication

Creates a new User. Note that the supplied email address must be approved for sign-up.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/signup \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"firstName":"string","lastName":"string","email":"string","password":"string","applicationId":"string","confirmUrl":"string","redirectUrl":"string"}'

# Body parameter

{
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "password": "string",
  "applicationId": "string",
  "confirmUrl": "string",
  "redirectUrl": "string"
}

# Parameters

Name In Type Required Description
body body SignupDto true none

# Example responses

200 Response

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Sign Up response User
401 Unauthorized (opens new window) Unauthorized None

# Confirm sign-up

GET /api/v1/auth/confirmsignup

Authentication

This operation does not require authentication

This endpoint is supplied in the sign-up confirmation email sent to new users.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/api/v1/auth/confirmsignup

# Parameters

Name In Type Required Description
redirect path string true Redirection URL
token path string true Sign-up verification token

# Responses

Status Meaning Description Schema
302 Found (opens new window) Redirect to specified URL on successful sign-up None
401 Unauthorized (opens new window) Unauthorized None

# Request password reset

POST /api/v1/auth/requestpasswordreset

Authentication

This operation does not require authentication

Request a password reset email.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/requestpasswordreset \
  --header 'Content-Type: application/json' \
  --data '{"email":"string","applicationId":"string","redirectUrl":"string"}'

# Body parameter

{
  "email": "string",
  "applicationId": "string",
  "redirectUrl": "string"
}

# Parameters

Name In Type Required Description
body body RequestPasswordResetDto true none

# Responses

Status Meaning Description Schema
204 No Content (opens new window) Request password reset response None
401 Unauthorized (opens new window) Unauthorized None

# Reset password

POST /api/v1/auth/resetpassword

Authentication

This operation does not require authentication

Reset a password in response to a password-reset request. This endpoint is supplied in the password-reset email sent to a user.

# Code samples

curl --request POST \
  --url https://flow.emu-analytics.net/api/v1/auth/resetpassword \
  --header 'Content-Type: application/json' \
  --data '{"email":"string","password":"string","applicationId":"string","token":"string"}'

# Body parameter

{
  "email": "string",
  "password": "string",
  "applicationId": "string",
  "token": "string"
}

# Parameters

Name In Type Required Description
body body ResetPasswordDto true none

# Responses

Status Meaning Description Schema
204 No Content (opens new window) Reset password response None
401 Unauthorized (opens new window) Unauthorized None

# Map Endpoints

WARNING

Map endpoints are designed to be consumed by a front-end map visualization and are not designed to be called directly from a front-end application or service.

Map Server endpoints provide:

  • Base map styles
  • Vector map tiles
  • Map fonts
  • Map sprites

# Get map style

GET /maps/{id}.json

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Retrieve the MapboxGL map style specification for the specified Style.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/maps/style-id.json \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Map Style ID

# Example responses

200 Response

{}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Requested map style Inline
# Response Schema

# Get installed map fonts

GET /fonts.json

Authentication

This operation does not require authentication

Returns a list of installed map fonts.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/fonts.json \
  --header 'Accept: application/json'

# Example responses

200 Response

[
  "string"
]

# Responses

Status Meaning Description Schema
200 OK (opens new window) Installed font list Inline
# Response Schema

# Get map font

GET /fonts/{fontstack}/{range}.pbf

Authentication

This operation does not require authentication

Returns the specified map font.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/fonts/Metropolis%20Regular%2CNoto%20Sans%20Regular/0-255.pbf \
  --header 'Accept: application/protobuf'

# Parameters

Name In Type Required Description
fontstack path string true Font stack
range path string true Range

# Example responses

200 Response

# Responses

Status Meaning Description Schema
200 OK (opens new window) Requested map font binary

# Get map sprite file

GET /sprites/{path}

Authentication

This operation does not require authentication

Get a map sprite file.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/sprites/sprite-file \
  --header 'Accept: application/json'

# Parameters

Name In Type Required Description
path path string true Path to sprite file

# Example responses

200 Response

null

# Responses

Status Meaning Description Schema
200 OK (opens new window) Requested sprite file binary

# Get map tile

GET /tiles/{id}/{z}/{x}/{y}.{ext}

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Get the requested map tile.

# Code samples

curl --request GET \
  --url 'https://flow.emu-analytics.net/tiles/tile-source-id/z/x/y.ext?explain=false' \
  --header 'Accept: application/x-protobuf' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Tile Source ID
x path number true X coordinate
y path number true Y coordinate
z path number true Z coordinate
ext path string true Tile extension
explain query boolean true Explain tile query

# Example responses

200 Response

null

# Responses

Status Meaning Description Schema
200 OK (opens new window) Requested map tile binary

# Get Tile Source TileJSON

GET /tiles/{id}/index.json

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Get the TileJSON specification for the specified Tile Source.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/tiles/tile-source-id/index.json \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Tile Source ID

# Example responses

200 Response

{}

# Responses

Status Meaning Description Schema
200 OK (opens new window) Requested TileJSON specification Inline
# Response Schema

# Get preview map style

GET /tiles/{id}/style.json

Authentication

You must supply an API key to perform this operation.

Authorization methods: headerApiKey, queryApiKey
Required access: execute

Retrieves a preview map style for the specified Tile Source.

# Code samples

curl --request GET \
  --url https://flow.emu-analytics.net/tiles/tile-source-id/style.json \
  --header 'Accept: application/json' \
  --header 'x-flow-api-key: API_KEY'

# Parameters

Name In Type Required Description
id path string true Tile Source ID

# Example responses

200 Response

{}

# Responses

Status Meaning Description Schema
200 OK (opens new window) MapboxGL style specification Inline
# Response Schema

# Schemas

# ConfigDto

{
  "version": {}
}

# Properties

Name Type Required Restrictions Description
version object true none Server version
» tag string false none Version tag
» hash string false none Build hash
» timestamp number false none Build timestamp

# Database

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "host": "string",
  "port": 0,
  "user": "string",
  "password": "string",
  "db": "string",
  "default": true,
  "application": {},
  "applicationId": "string"
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
id string true none Resource ID
type string true none Database type
name string true none Database name
description string true none Database description
host string true none Database connection: host address
port number true none Database connection: port number
user string true none Database connection: user
password string true write-only Database connection: password
db string true none Database connection: database name
default boolean true none Default Database for Application
application Application false read-only Related Application resource (specify join to load)
applicationId string true read-only Related Application ID

# Application

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "id": "string",
  "name": "string",
  "description": "string",
  "contact": "string",
  "databases": []
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
metadata object true none Resource metadata
id string true none Resource ID
name string true none Application name
description string true none Application description
contact string true none Contact email
databases [Database] false read-only Related Database resources (specify join to load)

# User

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "password": "string",
  "roles": [],
  "emailVerified": true,
  "enabled": true,
  "verificationToken": "string",
  "passwordResetToken": "string"
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
application Application false read-only Related Application (specify join to load)
applicationId string true read-only Application ID
metadata object true none Resource metadata
id string true none Resource ID
email string true none User email address
firstName string true none User first name
lastName string true none User last name
password string true write-only User password
roles [string] true none Application-specific roles
emailVerified boolean true none User email is verified
enabled boolean true none User is enabled
verificationToken string true read-only User email verification token
passwordResetToken string true read-only User password reset token

# AttributeDto

{
  "attribute": "string",
  "type": "string",
  "dbType": "string",
  "primaryKey": true,
  "default": "string",
  "nullable": true,
  "description": true,
  "isGeometry": true,
  "extent": [],
  "extentLngLat": []
}

# Properties

Name Type Required Restrictions Description
attribute string true none Attribute ID
type string true none Attribute type
dbType string true none Native database type
primaryKey boolean true none Attribute is primary key
default string true none Default value
nullable boolean true none Attribute can be null
description boolean true none Attribute description
isGeometry boolean false none Attribute is a geometry type
extent [number] false none Extent in original SRS
extentLngLat [number] false none Extent in WSG84

# Dataset

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "owner": {},
  "ownerId": 0,
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "table",
  "source": "string",
  "name": "string",
  "description": "string",
  "attributes": [],
  "bytes": 0,
  "databaseId": "string",
  "database": {}
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
metadata object true none Resource metadata
owner User false read-only Related User (specify join to load)
ownerId number false none User ID
applicationId string true read-only Related Application ID
id string true none Dataset ID
application Application false read-only Related Application (specify join to load)
type string true none Dataset type - table or SQL
source string true none Source table name or SQL
name string true none Dataset name
description string true none Dataset description
attributes [AttributeDto] false read-only Dataset attributes (autodetected)
bytes number false read-only Dataset size (only applicable to table type)
databaseId string true none Database ID
database Database false read-only Related Database (specify join to load)
# Enumerated Values
Property Value
type table
type sql

# SimpleQueryDto

{
  "format": "json",
  "explain": false,
  "attributes": [],
  "filter": {},
  "sort": [],
  "limit": 10,
  "offset": 0,
  "filename": "string"
}

# Properties

Name Type Required Restrictions Description
format string false none Response format
explain boolean false none Explain query
attributes [string] false none Select attributes to return
filter object false none Filter results
sort [string] false none Sort by attributes
limit number false none Limit number of results
offset number false none Offset results
filename string false none Specify download file name

Adds a Content-Disposition: attachment; filename="<filename>" header to the response.
This hints that the response should be downloaded when the request is issued from a browser.
# Enumerated Values
Property Value
format json
format geojson
format csv

# SamplingOptionsDto

{
  "percentage": 0,
  "method": "string",
  "seed": 0
}

# Properties

Name Type Required Restrictions Description
percentage number true none Sampling percentage
method string false none Sampling method
seed number false none Random seed

# AdvancedQueryBodyDto

{
  "attributes": [],
  "where": {},
  "order": [],
  "group": [],
  "sample": {},
  "limit": 0,
  "offset": 0,
  "distinct": []
}

# Properties

Name Type Required Restrictions Description
attributes [string] false none Select attributes to return
where object false none Filter results
order [string] false none Sort by attributes
group [string] false none Group by attributes
sample SamplingOptionsDto false none Table sampling options
limit number false none Limit number of results
offset number false none Offset results
distinct [string] false none Select DISTINCT ON attributes

# ApiKey

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "metadata": {},
  "id": "string",
  "description": "string",
  "type": "master",
  "permissions": {},
  "user": {},
  "userId": 0
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
application Application false read-only Related Application (specify join to load)
applicationId string true read-only Application ID
metadata object true none Resource metadata
id string true none Resource ID
description string true none Description
type string true none API key type
permissions object true none Permission ACLs
user User false read-only Related User resource (user-type keys only)
userId number false none Related User ID (user-type keys only)
# Enumerated Values
Property Value
type master
type app
type user

# AppConfig

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "applicationId": "string",
  "config": {}
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
applicationId string true read-only Related Application ID
config ConfigDto false none Application configuration

# Style

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "name": "string",
  "description": "string",
  "type": "plain",
  "style": {}
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
metadata object true none Resource metadata
applicationId string true none Related Application ID
id string true none Resource ID
application Application false read-only Related Application resource (specify join to load)
name string true none Style name
description string true none Style description
type string true none Style type. Currently only plain (MapboxGL style specification) is supported)
style object true none Style JSON definition
# Enumerated Values
Property Value
type plain

# TileSource

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "metadata": {},
  "applicationId": "string",
  "id": "string",
  "application": {},
  "type": "string",
  "source": "string",
  "attribution": "string",
  "minZoom": 0,
  "maxZoom": 0,
  "extentLngLat": [],
  "headers": {}
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
metadata object true none Resource metadata
applicationId string true read-only Related Application ID
id string true none Resource ID
application Application false none Related Application resource (specify join to load)
type string true none Tile source type
source string true none Data source
attribution string true none Tile source attribution text
minZoom number true none Minimum zoom level
maxZoom number true none Maximum zoom level
extentLngLat [number] true none Override tile source extent
headers object true none Tile source response headers

# UploadDto

{
  "file": null,
  "datasetId": "string",
  "name": "string",
  "description": "string",
  "attribution": "string",
  "sourceSrid": 0,
  "targetSrid": 0
}

# Properties

Name Type Required Restrictions Description
file file true none The file to upload
» file string(binary) false none Binary data
datasetId string false none Dataset ID
name string false none Dataset name
description string false none Dataset description
attribution string false none Tile source attribution text
sourceSrid number false none Source SRS ID
targetSrid number false none Target SRS ID

# Upload

{
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "application": {},
  "applicationId": "string",
  "owner": {},
  "ownerId": 0,
  "id": "string",
  "fileName": "string",
  "path": "string",
  "options": {},
  "status": "string",
  "error": {},
  "size": 0
}

# Properties

Name Type Required Restrictions Description
createdAt string(date-time) true read-only Creation timestamp
updatedAt string(date-time) true read-only Last update timestamp
application Application false read-only Related Application (specify join to load)
applicationId string true read-only Application ID
owner User false read-only Related User (specify join to load)
ownerId number false none User ID
id string true none Resource ID
fileName string true none Upload original filename
path string true none Temporary upload path
options object true none Upload options
status string true read-only Upload status
error object true read-only Upload error information
size number true read-only Upload size in bytes

# LoginDto

{
  "email": "string",
  "password": "string",
  "applicationId": "string"
}

# Properties

Name Type Required Restrictions Description
email string true none User email address
password string true none Supplied password
applicationId string true none Application ID

# AuthLoginResponse

{
  "accessToken": "string",
  "refreshToken": "string"
}

# Properties

Name Type Required Restrictions Description
accessToken string true none JWT bearer token
refreshToken string true none Opaque refresh token

# ChangePasswordDto

{
  "password": "string",
  "newPassword": "string"
}

# Properties

Name Type Required Restrictions Description
password string true none Current password
newPassword string true none New password

# SignupDto

{
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "password": "string",
  "applicationId": "string",
  "confirmUrl": "string",
  "redirectUrl": "string"
}

# Properties

Name Type Required Restrictions Description
firstName string true none User first name
lastName string true none User last name
email string true none User email address
password string true none User password
applicationId string true none Application ID
confirmUrl string true none Confirmation URL (supplied in confirmation email)
redirectUrl string true none Redirect URL (on successful confirmation)

# RequestPasswordResetDto

{
  "email": "string",
  "applicationId": "string",
  "redirectUrl": "string"
}

# Properties

Name Type Required Restrictions Description
email string true none User email address
applicationId string true none Application ID
redirectUrl string true none Redirect URL

# ResetPasswordDto

{
  "email": "string",
  "password": "string",
  "applicationId": "string",
  "token": "string"
}

# Properties

Name Type Required Restrictions Description
email string true none User email address
password string true none New password
applicationId string true none Application ID
token string true none Password reset token