Skip to main content
POST
/
projects
/
{projectIdOrName}
/
topic-destination-routes
Create a topic destination route
curl --request POST \
  --url https://api.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "topicId": "1234567890abcdef",
  "destinationId": "abcdef1234567890"
}
'
import requests

url = "https://api.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes"

payload = {
"topicId": "1234567890abcdef",
"destinationId": "abcdef1234567890"
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({topicId: '1234567890abcdef', destinationId: 'abcdef1234567890'})
};

fetch('https://api.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes', 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.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes",
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([
'topicId' => '1234567890abcdef',
'destinationId' => 'abcdef1234567890'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);

$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.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes"

payload := strings.NewReader("{\n \"topicId\": \"1234567890abcdef\",\n \"destinationId\": \"abcdef1234567890\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-Api-Key", "<api-key>")
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.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"topicId\": \"1234567890abcdef\",\n \"destinationId\": \"abcdef1234567890\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.withampersand.com/v1/projects/{projectIdOrName}/topic-destination-routes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"topicId\": \"1234567890abcdef\",\n \"destinationId\": \"abcdef1234567890\"\n}"

response = http.request(request)
puts response.read_body
{
  "id": "<string>",
  "topicId": "<string>",
  "destinationId": "<string>",
  "projectId": "<string>",
  "createTime": "2023-11-07T05:31:56Z"
}
{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}
{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}
{
"type": "about:blank",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Bad Request",
"status": 400,
"detail": "The input message is incorrect",
"instance": "123456-1234-1235-4567489798",
"issues": [
{
"type": "about:blank",
"detail": "exampleNumericProperty should be numeric",
"in": "path",
"name": "exampleNumericProperty",
"value": "abc"
},
{
"type": "about:blank",
"title": "Input isn't valid with respect to schema",
"detail": "examplePropertyWithPattern a2345678901 doesn't match pattern '^\\d{11}$'",
"in": "body",
"name": "items[0].examplePropertyWithPattern",
"value": "a2345678901"
}
]
}
{
"type": "urn:problem-type:exampleOrganization:exampleProblem",
"href": "https://www.belgif.be/specification/rest/api-guide/#standardized-problem-types",
"title": "Description of the type of problem that occurred",
"status": 400,
"detail": "Description of specific occurrence of the problem",
"instance": "urn:uuid:123e4567-e89b-12d3-a456-426614174000"
}

Authorizations

X-Api-Key
string
header
required

Path Parameters

projectIdOrName
string
required

The Ampersand project ID or project name.

Body

application/json
topicId
string
required

The ID of the topic.

destinationId
string
required

The ID of the destination.

Response

Created

id
string
required

The topic destination route ID.

topicId
string
required

The ID of the topic.

destinationId
string
required

The ID of the destination.

projectId
string
required

The Ampersand project ID.

createTime
string<date-time>
required

The time when the topic destination route was created.