curl --request GET \
--url https://api-dev.narrative.io/v2/connections/{connection_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-dev.narrative.io/v2/connections/{connection_id}"
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/v2/connections/{connection_id}', 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/v2/connections/{connection_id}",
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/v2/connections/{connection_id}"
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/v2/connections/{connection_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/v2/connections/{connection_id}")
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{
"type": "connections_dataset",
"id": "21691f26-f308-4e98-896c-579db27da04b",
"app": {
"id": 500,
"name": "S3 Connector"
},
"created_at": "2026-07-14T00:00:00Z",
"dataset_id": 42,
"installation_id": 9000,
"quick_settings": {
"bucket_suffix": "/my-subscription",
"number_of_files": "5"
},
"profile_id": "d555f07f-f140-40d2-91af-e6aa54f7488b",
"profile": {
"id": "d555f07f-f140-40d2-91af-e6aa54f7488b",
"name": "Production"
},
"status": "active"
}{
"error": "Unauthorized",
"error_description": "You are not authorized to use this endpoint."
}Get a connection
Returns one active connection belonging to the calling company. An app token only reaches its own app’s connections.
curl --request GET \
--url https://api-dev.narrative.io/v2/connections/{connection_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-dev.narrative.io/v2/connections/{connection_id}"
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/v2/connections/{connection_id}', 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/v2/connections/{connection_id}",
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/v2/connections/{connection_id}"
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/v2/connections/{connection_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/v2/connections/{connection_id}")
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{
"type": "connections_dataset",
"id": "21691f26-f308-4e98-896c-579db27da04b",
"app": {
"id": 500,
"name": "S3 Connector"
},
"created_at": "2026-07-14T00:00:00Z",
"dataset_id": 42,
"installation_id": 9000,
"quick_settings": {
"bucket_suffix": "/my-subscription",
"number_of_files": "5"
},
"profile_id": "d555f07f-f140-40d2-91af-e6aa54f7488b",
"profile": {
"id": "d555f07f-f140-40d2-91af-e6aa54f7488b",
"name": "Production"
},
"status": "active"
}{
"error": "Unauthorized",
"error_description": "You are not authorized to use this endpoint."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier for a connection.
Response
OK
- Option 1
- Option 2
A connection from a dataset or a model to a connector app. type says which, and only the matching id field (dataset_id or model_id) is sent.
connections_dataset The connector app the data is sent to.
Show child attributes
Show child attributes
The dataset whose data is sent to the connector.
The app installation the profile belongs to.
The same value as profile.id. Prefer profile.id; this field is kept for older clients.
The app profile the connection was created against.
Show child attributes
Show child attributes
Archived connections are never returned by these endpoints, so a response always says active.
active, archived The settings the connection was created with, returned as sent. Their shape belongs to the connector app, so it differs from one connector to the next. null when the connection was created without settings.
Was this page helpful?

