curl --request GET \
--url https://api-dev.narrative.io/attributes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-dev.narrative.io/attributes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-dev.narrative.io/attributes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-dev.narrative.io/attributes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-dev.narrative.io/attributes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-dev.narrative.io/attributes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/attributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"prev_page": null,
"current_page": 1,
"next_page": null,
"total_records": 1,
"total_pages": 1,
"records": [
{
"id": 123456789,
"name": "price",
"description": "The price of an order, product, or a price component. Currency field accepts ISO 4217 currency codes",
"display_name": "Price",
"type": "object",
"properties": {
"value": {
"order": 0,
"display_name": "Value",
"type": "double",
"validations": [
"$this.value >= 0.0"
]
},
"iso_4217_currency": {
"order": 1,
"display_name": "Currency",
"type": "string",
"enum": [
"USD",
"GBP",
"JPY"
]
}
},
"tags": [
"ecommerce",
"transaction"
],
"required": [
"value",
"iso_4217_currency"
]
}
]
}Get attributes
Return all attributes.
Authentication is optional. Anonymous callers get the shared view of every attribute. With a valid
bearer token, attributes owned by the caller’s company are returned as AttributeOwnedResponse and
everything else as AttributeSharedResponse. A token that is present but invalid is rejected
rather than falling back to the anonymous view.
When neither page nor per_page is supplied, every record is returned in a single page.
curl --request GET \
--url https://api-dev.narrative.io/attributes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-dev.narrative.io/attributes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-dev.narrative.io/attributes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-dev.narrative.io/attributes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-dev.narrative.io/attributes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-dev.narrative.io/attributes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/attributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"prev_page": null,
"current_page": 1,
"next_page": null,
"total_records": 1,
"total_pages": 1,
"records": [
{
"id": 123456789,
"name": "price",
"description": "The price of an order, product, or a price component. Currency field accepts ISO 4217 currency codes",
"display_name": "Price",
"type": "object",
"properties": {
"value": {
"order": 0,
"display_name": "Value",
"type": "double",
"validations": [
"$this.value >= 0.0"
]
},
"iso_4217_currency": {
"order": 1,
"display_name": "Currency",
"type": "string",
"enum": [
"USD",
"GBP",
"JPY"
]
}
},
"tags": [
"ecommerce",
"transaction"
],
"required": [
"value",
"iso_4217_currency"
]
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Number of page. Stars from the first (1) page.
Number of records to return.
When true (the default), $ref type references are resolved and the referenced attribute's type
definition is returned in their place. When false, the raw $ref node is returned as stored.
Free-text search term. When provided, attributes are ranked by their relevance to the search term.
Optional minimum relevance score, in the half-open interval (0, 1]. By default no threshold is
applied and all matches are returned, ranked by relevance. Supply min_score to restrict the
results to attributes scoring at or above the given value; below-threshold attributes are then
excluded from both the results and the total count. Can only be supplied together with q;
supplying it without q returns 400.
x <= 1Response
OK
One page of attributes. When the request carries no paging parameters, every record is returned in a single page.
An attribute models a standardized data point available for sale on the Narrative marketplace.
Narrative automatically turns data points from provider datasets into attributes so that buyers can purchase well-formed, standardized data from any supplier on the marketplace.
The response will be one of two types:
- AttributeOwnedResponse: When the requesting company owns the attribute (includes company_id and collaborators)
- AttributeSharedResponse: When the requesting company does not own the attribute
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
- Option 19
- Option 20
- Option 21
- Option 22
- Option 23
- Option 24
- Option 25
- Option 26
- Option 27
- Option 28
- Option 29
- Option 30
- Option 31
- Option 32
- Option 33
- Option 34
- Option 35
- Option 36
- Option 37
- Option 38
- Option 39
- Option 40
- Option 41
- Option 42
- Option 43
- Option 44
- Option 45
- Option 46
- Option 47
- Option 48
- Option 49
- Option 50
- Option 51
- Option 52
- Option 53
- Option 54
- Option 55
- Option 56
- Option 57
- Option 58
- Option 59
- Option 60
- Option 61
- Option 62
- Option 63
- Option 64
- Option 65
- Option 66
- Option 67
- Option 68
- Option 69
- Option 70
- Option 71
- Option 72
- Option 73
- Option 74
- Option 75
- Option 76
- Option 77
- Option 78
- Option 79
- Option 80
- Option 81
- Option 82
- Option 83
- Option 84
- Option 85
- Option 86
Show child attributes
Show child attributes
{
"id": 123456789,
"name": "price",
"description": "The price of an order, product, or a price component. Currency field accepts ISO 4217 currency codes",
"display_name": "Price",
"type": "object",
"company_id": 12345,
"collaborators": {
"view": {
"type": "inclusion",
"company_ids": [12345, 67890]
},
"map": {
"type": "inclusion",
"company_ids": [12345]
}
},
"tags": ["ecommerce", "transaction"]
}
The number of requested page.
1
Total amount of accessible Access Rules
15000
Total amount of pages.
10
The number of the previous page, or null on the first page. Can also refer to the latest existing page if a page beyond the last one was requested.
1
The number of the next page, or null on the last page.
42
Was this page helpful?

