Nuvolar API
Welcome to the Nuvolar API. This API provides access to the Nuvolar content analysis services.
Domains ¶
A domain is a logical contents repository consisting of different medias like PDFs, Open Format documents, Microsoft Office documents, videos, text files.
List domains ¶
List domainsGET/domains
Get a list of available domains for your account.
Example URI
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"name": "Domain 1",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"logo": "https://backend.nuvolar.it/api/v2/domains/ac6a8620-123e-11e8-924e-1f859a90ac04/logo.png",
"enabled": false,
"nuvolarized": true,
"language": "en_GB",
"uuid": "ac6a8620-123e-11e8-924e-1f859a90ac04"
},
{
"name": "Domain 2",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"logo": "https://backend.nuvolar.it/api/v2/domains/a7925120-123e-11e8-b44e-fdc488b4e238/logo.png",
"enabled": false,
"nuvolarized": true,
"language": "it_IT",
"uuid": "a7925120-123e-11e8-b44e-fdc488b4e238"
},
...
],
"links": {
"first": "https://backend.nuvolar.it/api/v2/domains?page=0",
"last": "https://backend.nuvolar.it/api/v2/domains?page=6",
"prev": null,
"next": "https://backend.nuvolar.it/api/v2/domains?page=1"
},
"meta": {
"current_page": 0,
"from": 0,
"to": 4,
"last_page": 6,
"path": "https://backend.nuvolar.it/api/v2/domains",
"per_page": 5,
"total": 31
}
}
401
Body
Unauthenticated.
Get a domain ¶
Get a domainGET/domains/{id}
Return an object representing the requested domain.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain to retrieve.
200
Headers
Content-Type: application/json
Body
{
"data": {
"uuid": "7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9",
"title": "My domain title",
"language": "it_IT",
"logo": "https://yourcompany.com/your_logo.png",
"description": "My domain's description",
"enabled": false,
"contents": {
"count": 0,
"storage_allocation": 0
},
"quotas": {
"queries": 0
}
}
}
401
Body
Unauthenticated.
403
Body
Quota exceeded.
404
Body
Not found.
Create domains ¶
Create domainsPOST/domains
Create a new domain. When creating a domain you must provide a title and a language. Optionally you can also pass through a logo (as a valid image URL), a simple user password for Nuvolar interface interactions, a description and the initial status for the domain (enabled or not).
Example URI
Headers
Content-Type: application/json
Body
{
"title": "New domain title",
"language": "it_IT",
"logo": "https://yourcompany.com/your_logo.png",
"description": "My domain's description",
"enabled": true
}
200
Headers
Content-Type: application/json
Body
{
"data": {
"uuid": "e392da70-0fdf-11e8-bb1f-258d043dfb6d",
"title": "New domain title",
"language": "it_IT",
"logo": "https://yourcompany.com/your_logo.png",
"description": "My domain's description",
"enabled": true,
"contents": {
"count": 0,
"storage_allocation": 0
},
"quotas": {
"queries": 0
}
}
}
401
Body
Unauthenticated.
403
Body
Quota exceeded.
Update domains ¶
Update domainsPUT/domains/{id}
Update a domain.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain to update.
Headers
Content-Type: application/json
Body
{
"enabled": false
}
200
Headers
Content-Type: application/json
Body
{
"data": {
"uuid": "7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9",
"title": "My domain title",
"language": "it_IT",
"logo": "https://yourcompany.com/your_logo.png",
"description": "My domain's description",
"enabled": false,
"contents": {
"count": 0,
"storage_allocation": 0
},
"quotas": {
"queries": 0
}
}
}
Delete domains ¶
Delete domainsDELETE/domains/{id}
Delete a domain.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain to delete.
200
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Contents ¶
A content is a file to be analyzed, indexed and possibly stored into the Nuvolar backend.
Get contents ¶
Get contentsGET/domains/contents
Get a list of contents belonging to the specified domain.
Example URI
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"mime_type": "video",
"title": "Content 1",
"author": "David Finch",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222"
},
{
"mime_type": "video",
"title": "Content 2",
"author": "Joseph Green",
"creation_date": "2017-12-05 13:00:05",
"uuid": "a32d7340-122d-11e8-86b1-0fd0c796e4a6"
},
{
"mime_type": "video",
"title": "Content 3",
"author": "Mary White",
"creation_date": "2017-08-07 11:00:02",
"uuid": "efd82270-122c-11e8-bcaf-bb1d762cf37f"
},
...
],
"links": {
"first": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=0",
"last": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=4",
"prev": null,
"next": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=1"
},
"meta": {
"current_page": 0,
"from": 0,
"to": 4,
"last_page": 4,
"path": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents",
"per_page": 5,
"total": 23
}
}
Get a content ¶
Get a contentGET/domains/contents/
Return an object representing the requested content.
Example URI
200
Headers
Content-Type: application/json
Body
{
"data": {
"mime_type": "video",
"title": "My awesome video",
"author": "Mr. White",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222",
"thumbnails": {
"low": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=low",
"width": 120,
"height": 90
},
"medium": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=medium",
"width": 320,
"height": 180
},
"high": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=high",
"width": 480,
"height": 360
}
},
"attributes": {
"abstract": "",
"length": "00:12:42",
"custom": [
"collection": "family"
]
},
"categories": [
"amateur",
"videos"
],
"tags": [
"dog",
"garden",
"sun",
"family",
"summer",
"funny"
]
}
}
Create contents ¶
Create contentsPOST/domains/contents
Create a new content.
Example URI
Headers
Content-Type: application/json
Body
{
"title": "My awesome video",
"categories": [
"amateur",
"videos"
],
"source": "https://www.my.cnd/that_file.mp4"
}
200
Headers
Content-Type: application/json
Body
{
"data": {
"mime_type": "video",
"title": "My awesome video",
"author": "Mr. White",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222",
"thumbnails": {
"low": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=low",
"width": 120,
"height": 90
},
"medium": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=medium",
"width": 320,
"height": 180
},
"high": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=high",
"width": 480,
"height": 360
}
},
"attributes": {
"abstract": "",
"length": "00:12:42",
"custom": [
"collection": "family"
]
},
"categories": [
"amateur",
"videos"
],
"tags": [
"dog",
"garden",
"sun",
"family",
"summer",
"funny"
]
}
}
Update contents ¶
Update contentsPUT/domains/{domain_id}/contents/{content_id}
Update a content.
Example URI
- domain_id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain to update.
- content_id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the content to update.
Headers
Content-Type: application/json
Body
{
"title": "My awesome video, reloaded",
}
200
Headers
Content-Type: application/json
Body
{
"data": {
"mime_type": "video",
"title": "My awesome video",
"author": "Mr. White",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222",
"thumbnails": {
"low": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=low",
"width": 120,
"height": 90
},
"medium": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=medium",
"width": 320,
"height": 180
},
"high": {
"url": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222/thumbnail?type=high",
"width": 480,
"height": 360
}
},
"attributes": {
"abstract": "",
"length": "00:12:42",
"custom": [
"collection": "family"
]
},
"categories": [
"amateur",
"videos"
],
"tags": [
"dog",
"garden",
"sun",
"family",
"summer",
"funny"
]
}
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Delete contents ¶
Delete contentsDELETE/domains/{id}
Delete a content.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the content to delete.
200
401
Body
Unauthenticated.
403
Body
Access denied.
Search & Discovery ¶
Nuvolar provides several search & discovery services. The most common ones are full text search and tags search.
Full text search ¶
Full text searchPOST/search/fulltext/domains/fulltext
Perform a full text search against the specified domain and return matching content results.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain.
Headers
Content-Type: application/json
Body
{
"query": "my search"
}
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"mime_type": "video",
"title": "Content 1",
"author": "David Finch",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222"
},
{
"mime_type": "video",
"title": "Content 2",
"author": "Joseph Green",
"creation_date": "2017-12-05 13:00:05",
"uuid": "a32d7340-122d-11e8-86b1-0fd0c796e4a6",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/a32d7340-122d-11e8-86b1-0fd0c796e4a6"
},
{
"mime_type": "video",
"title": "Content 3",
"author": "Mary White",
"creation_date": "2017-08-07 11:00:02",
"uuid": "efd82270-122c-11e8-bcaf-bb1d762cf37f",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/efd82270-122c-11e8-bcaf-bb1d762cf37f"
},
...
],
"links": {
"first": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=0",
"last": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=4",
"prev": null,
"next": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=1"
},
"meta": {
"current_page": 0,
"from": 0,
"to": 4,
"last_page": 4,
"path": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents",
"per_page": 5,
"total": 23
}
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Terms ¶
Get terms ¶
Get termsGET/domains/terms
Get a list of terms belonging to the domain with their rank score.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain.
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"term": "dog",
"rank": "98.85",
},
{
"term": "cat",
"rank": "56.73",
},
{
"term": "garden",
"rank": "12.44",
},
]
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Get rank ¶
Get rankGET/domains/terms/{term}/rank
Return the rank score for a given term.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain.
- term
string
(required) Example: dogTerm to query.
200
Headers
Content-Type: application/json
Body
{
"rank": 98.85
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Correlations ¶
Terms correlations ¶
Terms correlationsGET/domains/correlations/
Get a list of terms contained in specified domain correlated to the term provided.
Example URI
- id
string
(required) Example: dogTerm.
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"term": "dog",
"correlation": "98.85",
},
{
"term": "cat",
"correlation": "56.73",
},
{
"term": "garden",
"correlation": "12.44",
},
]
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.
Documents correlation ¶
Documents correlationGET/domains/correlations/{term}/contents
Get a list of contents correlated with the given term.
Example URI
- id
string
(required) Example: 7b96bbf0-11a5-11e8-909d-a1f6c92fc1c9Id of the domain.
- term
string
(required) Example: dogTerm to query.
200
Headers
Content-Type: application/json
Body
{
"data": [
{
"mime_type": "video",
"title": "Content 1",
"author": "David Finch",
"creation_date": "2017-11-14 12:00:08",
"uuid": "ae1654d0-122d-11e8-ac70-b9cafc1ae222",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/ae1654d0-122d-11e8-ac70-b9cafc1ae222"
},
{
"mime_type": "video",
"title": "Content 2",
"author": "Joseph Green",
"creation_date": "2017-12-05 13:00:05",
"uuid": "a32d7340-122d-11e8-86b1-0fd0c796e4a6",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/a32d7340-122d-11e8-86b1-0fd0c796e4a6"
},
{
"mime_type": "video",
"title": "Content 3",
"author": "Mary White",
"creation_date": "2017-08-07 11:00:02",
"uuid": "efd82270-122c-11e8-bcaf-bb1d762cf37f",
"url": https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents/efd82270-122c-11e8-bcaf-bb1d762cf37f"
},
...
],
"links": {
"first": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=0",
"last": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=4",
"prev": null,
"next": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents?page=1"
},
"meta": {
"current_page": 0,
"from": 0,
"to": 4,
"last_page": 4,
"path": "https://backend.nuvolar.it/api/v2/domains/c9cec0a0-119d-11e8-80c4-2dddfbbc8e80/contents",
"per_page": 5,
"total": 23
}
}
401
Body
Unauthenticated.
403
Body
Access denied.
404
Body
Not found.