Get matches
curl --request POST \
--url https://api-dev.narrative.io/data-shops/subscriptions/matches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "data_stream",
"data_stream_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_shop_id": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/data-shops/subscriptions/matches"
payload = {
"type": "data_stream",
"data_stream_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_shop_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'data_stream',
data_stream_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
offer_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
data_shop_id: '<string>'
})
};
fetch('https://api-dev.narrative.io/data-shops/subscriptions/matches', 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/data-shops/subscriptions/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'data_stream',
'data_stream_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'offer_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'data_shop_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-dev.narrative.io/data-shops/subscriptions/matches"
payload := strings.NewReader("{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-dev.narrative.io/data-shops/subscriptions/matches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/data-shops/subscriptions/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"records": [
{
"attributes": [
{
"id": 123,
"name": "<string>"
}
],
"dataset": {
"id": 123,
"company_id": 123,
"name": "<string>",
"description": "<string>"
},
"matching_access_rules": {
"id": 123,
"constraints": [
"<string>"
],
"pricing": 123
},
"non_matching_access_rules": {
"id": 123,
"constraints": [
"<string>"
],
"pricing": 123
},
"type": "attributes"
}
]
}Subscriptions
Get matches
Retrieve datasets matching a set of subscription constraints.
POST
/
data-shops
/
subscriptions
/
matches
Get matches
curl --request POST \
--url https://api-dev.narrative.io/data-shops/subscriptions/matches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "data_stream",
"data_stream_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_shop_id": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/data-shops/subscriptions/matches"
payload = {
"type": "data_stream",
"data_stream_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_shop_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'data_stream',
data_stream_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
offer_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
data_shop_id: '<string>'
})
};
fetch('https://api-dev.narrative.io/data-shops/subscriptions/matches', 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/data-shops/subscriptions/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'data_stream',
'data_stream_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'offer_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'data_shop_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-dev.narrative.io/data-shops/subscriptions/matches"
payload := strings.NewReader("{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-dev.narrative.io/data-shops/subscriptions/matches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/data-shops/subscriptions/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"data_stream\",\n \"data_stream_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offer_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"data_shop_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"records": [
{
"attributes": [
{
"id": 123,
"name": "<string>"
}
],
"dataset": {
"id": 123,
"company_id": 123,
"name": "<string>",
"description": "<string>"
},
"matching_access_rules": {
"id": 123,
"constraints": [
"<string>"
],
"pricing": 123
},
"non_matching_access_rules": {
"id": 123,
"constraints": [
"<string>"
],
"pricing": 123
},
"type": "attributes"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
- Option 1
- Option 2
A set of subscription constraints for which matches will be generated.
Details for the purchase of a data stream.
Available options:
data_stream Unique identifier for the data stream being purchased.
The provider offer being accepted as part of the purchase.
The hostname of the data shop from which the data stream is being purchased.
Minimum string length:
1Response
200 - application/json
OK
- Option 1
- Option 2
Show child attributes
Show child attributes
Was this page helpful?
⌘I

