# 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:
- API Keys
- Applications
- Application Configuration
- Datasets
- Databases
- Map Styles
- Map Tile Sources
- Users
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.
# 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:
plain
: thestyle
property contains a MapboxGL style specification (opens new window).
# 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 |
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 |
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 |
---|---|---|---|---|
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 |
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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 |