Get page group link
curl --request GET \
--url https://api.tryarchitect.com/v0/pages/{page_id}/link \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tryarchitect.com/v0/pages/{page_id}/link"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.tryarchitect.com/v0/pages/{page_id}/link', 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.tryarchitect.com/v0/pages/{page_id}/link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.tryarchitect.com/v0/pages/{page_id}/link"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.tryarchitect.com/v0/pages/{page_id}/link")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryarchitect.com/v0/pages/{page_id}/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"domain": "<string>",
"path": "<string>"
}{
"code": "VALIDATION_ERROR",
"detail": "body - name: Name is required; email: Invalid email address",
"details": [
{
"field": "body",
"issues": [
{
"code": "validation_failed",
"message": "name: Name is required",
"path": [
"name"
]
}
]
}
],
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 400,
"title": "Bad Request",
"type": "https://api.tryarchitect.com/errors/validation_error"
}{
"code": "UNAUTHORIZED",
"detail": "Authentication is required",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 401,
"title": "Unauthorized",
"type": "https://api.tryarchitect.com/errors/unauthorized"
}{
"code": "FORBIDDEN",
"detail": "Multi-tenant API keys are not supported",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 403,
"title": "Forbidden",
"type": "https://api.tryarchitect.com/errors/forbidden"
}{
"code": "NOT_FOUND",
"detail": "Audience not found",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 404,
"title": "Not Found",
"type": "https://api.tryarchitect.com/errors/not_found"
}{
"code": "RATE_LIMITED",
"detail": "Rate limit exceeded",
"details": {
"limit": 100,
"remaining": 0,
"resetTime": 1713225600000,
"retryAfter": 60
},
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 429,
"title": "Too Many Requests",
"type": "https://api.tryarchitect.com/errors/rate_limited"
}{
"code": "INTERNAL",
"detail": "An unexpected error occurred",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 500,
"title": "Internal Server Error",
"type": "https://api.tryarchitect.com/errors/internal"
}{
"code": "SERVICE_UNAVAILABLE",
"detail": "The service is temporarily unavailable",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 503,
"title": "Service Unavailable",
"type": "https://api.tryarchitect.com/errors/service_unavailable"
}Pages
Get page group link
Generate a shareable link for a page group. Fails if the page-group version is not yet published.
GET
/
v0
/
pages
/
{page_id}
/
link
Get page group link
curl --request GET \
--url https://api.tryarchitect.com/v0/pages/{page_id}/link \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tryarchitect.com/v0/pages/{page_id}/link"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.tryarchitect.com/v0/pages/{page_id}/link', 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.tryarchitect.com/v0/pages/{page_id}/link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.tryarchitect.com/v0/pages/{page_id}/link"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.tryarchitect.com/v0/pages/{page_id}/link")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryarchitect.com/v0/pages/{page_id}/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"domain": "<string>",
"path": "<string>"
}{
"code": "VALIDATION_ERROR",
"detail": "body - name: Name is required; email: Invalid email address",
"details": [
{
"field": "body",
"issues": [
{
"code": "validation_failed",
"message": "name: Name is required",
"path": [
"name"
]
}
]
}
],
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 400,
"title": "Bad Request",
"type": "https://api.tryarchitect.com/errors/validation_error"
}{
"code": "UNAUTHORIZED",
"detail": "Authentication is required",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 401,
"title": "Unauthorized",
"type": "https://api.tryarchitect.com/errors/unauthorized"
}{
"code": "FORBIDDEN",
"detail": "Multi-tenant API keys are not supported",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 403,
"title": "Forbidden",
"type": "https://api.tryarchitect.com/errors/forbidden"
}{
"code": "NOT_FOUND",
"detail": "Audience not found",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 404,
"title": "Not Found",
"type": "https://api.tryarchitect.com/errors/not_found"
}{
"code": "RATE_LIMITED",
"detail": "Rate limit exceeded",
"details": {
"limit": 100,
"remaining": 0,
"resetTime": 1713225600000,
"retryAfter": 60
},
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 429,
"title": "Too Many Requests",
"type": "https://api.tryarchitect.com/errors/rate_limited"
}{
"code": "INTERNAL",
"detail": "An unexpected error occurred",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 500,
"title": "Internal Server Error",
"type": "https://api.tryarchitect.com/errors/internal"
}{
"code": "SERVICE_UNAVAILABLE",
"detail": "The service is temporarily unavailable",
"requestId": "req_01j5k9m7n8p9q2r3s4t5v6w7x8",
"status": 503,
"title": "Service Unavailable",
"type": "https://api.tryarchitect.com/errors/service_unavailable"
}Authorizations
API key authentication for the External Actor Gateway
Path Parameters
page_id parameter
Query Parameters
Optional tenant domain ID for custom domain. If not provided, uses fallback subdomain.
Related topics
Get page link by IDGet pageGet audience linkHow to route between multiple pagesCreating Personalized ABM PagesWas this page helpful?
⌘I

