Private Cloud APIs
All available Ninox Private Cloud API endpoints
Content in curly brackets
{ }
signifies a placeholder. Both the curly brackets and the content within must be replaced for the request to work.
Get multiple workspaces
GET
https://{private-cloud}.ninoxdb.de/v1/teams
Retrieves data from multiple teams
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The workspace ids and workspace names are displayed in the response
{
"id": "u14mwnoutm14yrcnf",
"name": "Private Cloud Test Team"
},
{
"id": "s7qijy0myyie9xitp",
"name": "Private Cloud Test Team_1"
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a single workspace
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}
Retrieves data from a single team
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The workspace id and workspace name are displayed in the response
{
"id": "u14mwnoutm14yrcnf",
"name": "Private Cloud Test Team"
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get multiple databases
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases
Retrieves data from multiple databases
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The database id and name are displayed in the response
[
{
"id": "pnum1qq8tpao",
"name": "Private Cloud Test Database"
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a schema for a single database
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}
Retrieves data from a schema for a single database
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a schema for a database is displayed in the response
{
"settings": {
"name": "Private Cloud Test Database",
"icon": "database",
"color": "#9da9ce",
"bgType": "image",
"backgroundClass": "background-file",
"backgroundTimestamp": 1631793054608
},
"schema": {
"seq": 58,
"version": 10,
"nextTypeId": 4,
"types": {
},
"afterOpenBehavior": "restoreNavigation",
"fileSync": "full"
}
}
404 A "Database Not Found" message is displayed in the response
{"message":"Database Not Found"}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a schema for multiple views
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/views
Retrieves data from a schema for multiple views in a database
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a schema for views is displayed in the response
[
{
"id": "DXaXkMZ54PN7Qstd",
"order": 10,
"type": "A",
"caption": "(all)",
"config": {
"type": "A"
},
"seq": 2
},
{
"id": "k3G0efinn6PL2vjJ",
"order": 10,
"type": "C",
"caption": "(all)",
"config": {
"type": "C"
},
"seq": 56
},
{
"id": "yCuVS0Uw23MePfDN",
"order": 10,
"type": "B",
"caption": "(all)",
"config": {
"type": "B",
"sort": 1,
"descending": false,
"cols": [
]
},
"seq": 43
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/views
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Execute a read-only query with GET
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/query
Executes a read-only query in a database
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Query Parameters
Name | Type | Description |
---|---|---|
query* | string | string of a query | e.g., (select Contact).'First Name' |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The first names of records in a specified table are displayed in the response
[
"Naeem",
"Anna"
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/query?query=(select Contact).'First Name'
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Execute a read-only query with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/query
Executes a read-only query in a database
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
query* | string | string of a query | e.g., (select Contact).'First Name' |
200 The first names of records in a specified table are displayed in the response
[
"Naeem",
"Anna"
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/query
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '{
"query": "(select Contact).'First Name'"
}'
Execute a writable query
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/exec
Executes a writable query in a database
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
query* | string | string of a query | e.g., |
200 The user name is displayed in the response
[
"root"
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/exec
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '{
"query": "users()"
}'
Get a schema for multiple tables
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables
Retrieves data from a schema for multiple tables
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a schema for tables is displayed in the response
[
{
"id": "B",
"name": "Contact",
"fields": [
]
},
{
"id": "D",
"name": "Contact_1",
"fields": [
]
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a schema for a single table
GET
https://{private-cloud}.ninoxdb.de/v1/teams{teamid}/databases/{dbid}/tables/{tid}
Retrieves data from a schema for a single table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a schema for a table is displayed in the response
{
"id": "D",
"name": "Contact_1",
"fields": [
{
"id": "A",
"name": "First name",
"type": "string"
}
]
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a schema of multiple views
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/views
Retrieves data from a schema for multiple views of a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a schema for multiple views is displayed in the response
[
{
"id": "yCuVS0Uw23MePfDN",
"order": 10,
"type": "B",
"caption": "(all)",
"config": {
"type": "B",
"sort": 1,
"descending": false,
"cols": [
]
},
"seq": 43
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/views
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a shared view
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/views/{viewid}/share
Retrieves a shared view of a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
viewid* | string | view id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 A shared view URL is displayed in the response
{
"url": "https://anastasiya.ninoxdb.de/share/z571nojpwo86dhd6ycystohgl7oj72h0jb0v",
"options": {
}
}
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/views/yCuVS0Uw23MePfDN/share
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Create/update a shared view with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/views/{viewid}/share
Creates/updates a shared view of a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
viewid* | string | view id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 An updated or newly created URL of a shared view is displayed in the response{
{
"url": "https://anastasiya.ninoxdb.de/share/z571nojpwo86dhd6ycystohgl7oj72h0jb0v",
"options": {
}
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/views/yCuVS0Uw23MePfDN/share
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Delete a shared view
DELETE
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/views/{viewid}/share
Deletes a shared view of a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
viewid* | string | view id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
204 The response is empty
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/views/yCuVS0Uw23MePfDN/share
-X DELETE
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get multiple records
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records
Retrieves data from multiple records in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Query Parameters
Name | Type | Description |
---|---|---|
choiceStyle | string | ids | names |
style | string | ids | names |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from records is displayed in the response
[
{
"id": 5,
"sequence": 47,
"createdAt": "2021-09-13T18:24:26",
"createdBy": "root",
"modifiedAt": "2021-09-15T16:04:19",
"modifiedBy": "a01n83X86",
"fields": {
}
},
{
"id": 11,
"sequence": 60,
"createdAt": "2021-09-20T18:58:12",
"createdBy": "a01n83X86",
"modifiedAt": "2021-09-20T18:58:12",
"modifiedBy": "a01n83X86",
"fields": {
}
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a single record
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}
Retrieves data from a single record in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Query Parameters
Name | Type | Description |
---|---|---|
choiceStyle | string | ids | names |
style | string | ids | names |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Data from a record is displayed in the response
[
{
"id": 1,
"sequence": 4,
"createdAt": "2021-09-13T18:24:26",
"createdBy": "root",
"modifiedAt": "2021-09-13T18:24:26",
"modifiedBy": "root",
"fields": {
}
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/1
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Update a single record with PUT
PUT
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}
Updates a single record in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
fields* | object | object of a field | e.g., "First name": "Jane" |
200 Updated data from a record is displayed in the response
{
"id": 1,
"sequence": 79,
"createdAt": "2021-09-21T14:32:42",
"createdBy": "root",
"modifiedAt": "2021-09-22T21:12:01",
"modifiedBy": "a01n83X86",
"fields": {
"First name": "Jane"
}
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/records/1
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '{
"fields": {
"First name": "Jane"
}
}'
Look up/search a single record with GET
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records
Looks up/searches a single record in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Query Parameters
Name | Type | Description |
---|---|---|
filters | object | object of filters | e.g., "L": "Jane" |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200: OK Data from a record is displayed in the response
[
{
"_id": 21,
"_sq": 164,
"_cu": 0,
"_cd": "",
"_mu": "root",
"_md": "2022-02-04T16:26:56",
"A": "K0021",
"B": 2,
"D": "Garza",
"K": "Julissa.Garza@torvus.com",
"L": "Jane",
"V": "Kundin Kopie.jpg",
"W": [
13,
18
],
"C1": 2,
"D1": 3,
"H1": 1,
"I1": [
3
]
}
]
To identify which filters are mapped to which ids, send a
GET
request to retrieve the schema of a single table.
To look up a record with
GET
, make sure the endpoint is/records
. The result will be the same as in Look up/search a single record with POST.
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/w41fzot5t5wt/tables/A/records
-X GET
-H "Content-Type": "application/json"
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-D '{
"filters": {
"L": "Jane"
}
}'
Alternative notation
An alternative notation of the example sample request above is to include the parameter filters
in the URL and leave D
(data) empty.
https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/w41fzot5t5wt/tables/A/records?filters={"L":"Jane"}
Look up/search a single record with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/record
Looks up/searches a single record in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Query Parameters
Name | Type | Description |
---|---|---|
style | string | ids | names |
choiceStyle | string | ids | names |
dateStyle | string | ids | names |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
filters | object | object of filters | e.g.,"L": "Jane" |
200 Data from a record is displayed in the response
{
"id": 1,
"sequence": 79,
"createdAt": "2021-09-21T14:32:42",
"createdBy": "root",
"modifiedAt": "2021-09-22T21:12:01",
"modifiedBy": "a01n83X86",
"fields": {
"First name": "Jane",
"Last name": "Morris",
"Birthday": "1990-07-12",
"Concatenate of City": "Leed",
"Job title": "Declarant",
"Organization": "DJFK Software",
"Department": "Export",
"First of Address": "jkgdkf@mail.com"
}
}
To identify which filters are mapped to which ids, send a
GET
request to retrieve the schema of a single table.
To look up a record with
POST
, make sure the endpoint is/record
. The result will be the same as in Look up/search a single record with GET.
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/record
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '{
"filters": {
"L": "Jane"
}
}'
Alternative notation
An alternative notation of the example sample request above is to include the parameter filters
in the URL and leave D
(data) empty.
https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/record?filters={"L":"Jane"}
Create/update multiple records with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records
Creates/updates multiple records in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
fields, rid | array | array of fields and record ids | e.g.,
|
200 Data from an existing and from a newly created record is displayed in the response
[
{
"id": 2,
"sequence": 62,
"createdAt": "2021-09-21T14:32:42",
"createdBy": "root",
"modifiedAt": "2021-09-22T21:28:33",
"modifiedBy": "a01n83X86",
"fields": {
"First name": "Dennis",
}
},
{
"id": 9,
"createdAt": "2021-09-22T21:28:33",
"createdBy": "a01n83X86",
"modifiedAt": "2021-09-22T21:28:33",
"modifiedBy": "a01n83X86",
"fields": {
"First name": "Naeem"
}
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/records
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '[{
"id": 2,
"fields": {
"First name": "Dennis"
}
},{
"fields": {
"First name": "Jody"
}
}]'
To update an existing record, specify a record id and the fields you wish to update in a record.
To create a new record, do not specify the record id, only specify the fields you wish to create in a record.
Upsert (update/insert) multiple records with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records
Updates records if they exist or inserts new records in a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
_upsert | boolean | true | "_upsert" |
fields, rid* | array | array of fields and record ids | e.g.,
|
200: OK Data from an existing or from a newly created record is displayed in the response
[
{
"_id": 43,
"_cu": "Pe0uKAG9M",
"_cd": "2023-09-18T11:25:09",
"_mu": "Pe0uKAG9M",
"_md": "2023-09-18T11:25:09",
"A": "Person",
"E": "Alfred",
"G": "Becker",
"O": ""
},
{
"_id": 44,
"_cu": "Pe0uKAG9M",
"_cd": "2023-09-18T11:25:09",
"_mu": "Pe0uKAG9M",
"_md": "2023-09-18T11:25:09",
"A": "Person",
"E": "Caroline",
"G": "Schultz",
"O": ""
},
{
"_id": 45,
"_cu": "Pe0uKAG9M",
"_cd": "2023-09-18T11:25:09",
"_mu": "Pe0uKAG9M",
"_md": "2023-09-18T11:25:09",
"A": "Person",
"E": "Hans",
"G": "Copeland",
"O": ""
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/c1w72a5wl28zzmpn9/databases/m8u2w3ulmgt3/tables/A/records
-X POST
-H "Authorization": "Bearer 90472720-5244-11ee-966b-d50b6af8825c"
-H "Content-Type": "application/json"
-D '[{
"_upsert": true,
"_id": 43,
"E": "Alfred",
"G": "Becker"
}, {
"_upsert": true,
"_id": 44,
"E": "Caroline",
"G": "Schultz"
}, {
"_upsert": true,
"_id": 45,
"E": "Hans",
"G": "Copeland"
}]'
Use the
upsert
database operation when you need to update a single record or multiple records of the same record ID. This is especially useful when multiple tables are related to each other.For example,
upsert
allows you to sync changes between multiple tables while maintaining the record IDs:
Get changes in a table with sequence number from a source table.
Apply those changes to a target table with Upsert (update/insert) multiple records with POST.
Get changes in a database with sequence number
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/changes?sinceSq={sequence}
Retrieves changes in a database starting with a specified sequence number
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
Query Parameters
Name | Type | Description |
---|---|---|
sinceSq={sequence}* | integer | changes since sequence number | e.g., sinceSq=1 |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200: OK Updates of all records in all tables in a database are displayed in the response
{
"config": {},
"nextRids": {
"A": 3
},
"updates": {
"A1": {
"_id": "A1",
"_cu": "clh3u4m7qjzzaiyjg",
"_cd": 1695043902780,
"_mu": "clh3u4m7qjzzaiyjg",
"_md": 1695043902780
},
"A2": {
"_id": "A2",
"_cu": "clh3u4m7qjzzaiyjg",
"_cd": 1695043904692,
"_mu": "clh3u4m7qjzzaiyjg",
"_md": 1695043904692
}
},
"removes": [],
"files": [],
"views": {
"x3A7FgN7yeYYDQaZ": {
"id": "x3A7FgN7yeYYDQaZ",
"order": 10,
"type": "A",
"caption": "(all)",
"config": {
"type": "A"
},
"seq": 2
}
},
"reports": {},
"seq": 4
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/c1w72a5wl28zzmpn9/databases/k6lj89vm8vsl/changes?sinceSq=1
-X GET
-H "Authorization": "Bearer 90472720-5244-11ee-966b-d50b6af8825c"
-H "Content-Type": "application/json"
Get changes in a table with sequence number
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/changes?sinceSq={sequence}
Retrieves changes in a table starting with a specified sequence number
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Query Parameters
Name | Type | Description |
---|---|---|
sinceSq={sequence}* | integer | changes since sequence number | e.g., sinceSq=1 |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200: OK Updates of all records in a table are displayed in the response
{
"nextRid": 3,
"updates": {
"A1": {
"_id": "A1",
"_cu": "clh3u4m7qjzzaiyjg",
"_cd": 1694768352272,
"_mu": "clh3u4m7qjzzaiyjg",
"_md": 1694768352272,
"A": "1",
"O": ""
},
"A2": {
"_id": "A2",
"_cu": "clh3u4m7qjzzaiyjg",
"_cd": 1694768417713,
"_mu": "clh3u4m7qjzzaiyjg",
"_md": 1694768417713,
"A": "1",
"O": ""
}
},
"removes": [],
"files": [],
"views": {},
"reports": {},
"seq": 7
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/c1w72a5wl28zzmpn9/databases/qjheo7dnp4fk/tables/A/changes?sinceSq=1
-X GET
-H "Authorization": "Bearer 90472720-5244-11ee-966b-d50b6af8825c"
-H "Content-Type": "application/json"
Get changes in a single record with sequence number
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/changes?sinceSq={sequence}
Retrieves changes in a single record starting with a specified sequence number
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Query Parameters
Name | Type | Description |
---|---|---|
sinceSq={sequence}* | integer | changes since sequence number | e.g., sinceSq=1 |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200: OK Updates of a single record in a table are displayed in the response
{
"nextRid": 46,
"updates": {
"A8": {
"_id": "A8",
"_cu": "EPZ2zSxuC7jt6WF2D",
"_mu": "clh3u4m7qjzzaiyjg",
"_md": 1695028569023,
"A": "1",
"B": "1",
"D": 647733600000,
"E": "Alfred ",
"G": "Morris",
"J": "DJFK Software",
"K": "Export",
"L": "Declarant"
}
},
"removes": [],
"files": [],
"seq": 234
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/c1w72a5wl28zzmpn9/databases/m8u2w3ulmgt3/tables/A/records/8/changes?sinceSq=1
-X GET
-H "Authorization": "Bearer 90472720-5244-11ee-966b-d50b6af8825c"
-H "Content-Type": "application/json"
Delete a single record
DELETE
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}
Deletes a single record from a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
204 The response is empty
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/records/1
-X DELETE
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Delete multiple records
DELETE
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records
Deletes multiple records from a table
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
rid* | array | array of record ids |
204 The response is empty
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/D/records
-X DELETE
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
-D '[7,8]'
Get a single file
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}
Retrieves a single file from a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 A file from a record is displayed in the response
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/iStock-184877012.jpeg
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Upload a single file with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files
Uploads a single file to a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | multipart/form-data |
Request Body
Name | Type | Description |
---|---|---|
file* | string | string of a file as multipart/form-data |
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "multipart/form-data"
-F 'file=@"/Users/anastasiya/Downloads/iStock-184877012.jpeg"'
Delete a single file
DELETE
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}
Deletes a single file in a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
204 The response is empty
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/iStock-184877012.jpeg
-X DELETE
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get metadata for multiple files
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files
Retrieves metadata for multiple files from a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | multipart/form-data |
200 Metadata for files is displayed in the response
[
{
"name": "iStock-184877012.jpeg",
"contentType": "image/jpeg",
"size": 9771508,
"modifiedDate": 1631615786262,
"modifiedUser": "root",
"seq": 21
},
{
"name": "mobile-phone.jpeg",
"contentType": "image/jpeg",
"size": 3392328,
"modifiedDate": 1631615768535,
"modifiedUser": "root",
"seq": 20
}
]
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get metadata for a single file
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}/metadata
Retrieves metadata for a single file from a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 Metadata for a file is displayed in the response
{
"name": "123.jpeg",
"contentType": "image/jpeg",
"size": 3392328,
"modifiedDate": 1631615768535,
"modifiedUser": "root",
"seq": 36
}
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/123.jpeg/metadata
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a thumbnail for a single file
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}/thumb.jpg
Retrieves a thumbnail for a single file from a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The thumbnail of a file is displayed in the response
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/123jpeg/thumb.jpg
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Get a share link of a single file
GET
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}/share
Retrieves a single shared file from a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The URL of an existing shared file is displayed in the response
https://anastasiya.ninoxdb.de/share/w5qcx0sa2c7rdbm3swr12yi93a9oi771db1h
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/iStock-184877012.jpeg/share
-X GET
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Create/update a share link of a single file with POST
POST
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables/{tid}/records/{rid}/files/{file}/share
Upload a single shared file to a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
200 The URL of a newly uploaded shared file is displayed in the response
https://anastasiya.ninoxdb.de/share/y24l3gw7ljknc7jyiwqdeas4288antvwvlri
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/mobile-phone.jpeg/share
-X POST
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"
Delete a share link of a single file
DELETE
https://{private-cloud}.ninoxdb.de/v1/teams/{teamid}/databases/{dbid}/tables{tid}/records/{rid}/files/{file}/share
Deletes a single shared file in a record
Path Parameters
Name | Type | Description |
---|---|---|
teamid* | string | workspace id |
dbid* | string | database id |
tid* | string | table id |
rid* | string | record id |
file* | string | file name |
Headers
Name | Type | Description |
---|---|---|
Authorization* | string | Bearer {accessToken} |
Content-Type | string | application/json |
204 The response is empty
Sample request
curl https://anastasiya.ninoxdb.de/v1/teams/u14mwnoutm14yrcnf/databases/pnum1qq8tpao/tables/B/records/5/files/iStock-184877012.jpeg/share
-X DELETE
-H "Authorization": "Bearer e66e5190-14ad-11ec-aa6f-3502731d486c"
-H "Content-Type": "application/json"