diff --git a/lib/api-page.js b/lib/api-page.js
index 12ea5fdf..be6e05d7 100644
--- a/lib/api-page.js
+++ b/lib/api-page.js
@@ -15,6 +15,10 @@ const fs = require('fs')
const path = require('path')
const BASE_URL = 'https://api.tgcloud.io'
+// Replaced in lib/split-endpoints.js with an AsciiDoc xref. A hand-written
+// href cannot be used here: production drops the .html extension and then
+// rewrites leftover .html links to site-root paths, which 404 under /docs.
+const API_KEY_XREF_MARKER = '@@API_KEY_XREF@@'
// Deep enough for every schema in the current spec; only a guard against a
// pathological one. Recursion already stops when a definition repeats.
const MAX_DEPTH = 12
@@ -262,13 +266,7 @@ function renderAuthorizations (operation, pad) {
'
' + escapeHtml(scheme.description) + '. Send the key in the ' +
escapeHtml(scheme.name) + ' request ' + scheme.in + '.
'
)
- // The publisher only rewrites in-content links that carry Antora's xref
- // classes; without them this relative href is resolved against the site
- // root and loses the /docs base path.
- out.push(
- indent(pad + 4) +
- 'Create an API key'
- )
+ out.push(API_KEY_XREF_MARKER)
out.push(indent(pad + 2) + '')
}
}
@@ -654,4 +652,4 @@ function renderApiPage (endpoint) {
return out.join('\n')
}
-module.exports = { renderApiPage }
+module.exports = { renderApiPage, API_KEY_XREF_MARKER }
diff --git a/lib/split-endpoints.js b/lib/split-endpoints.js
index c27e625d..8a89e286 100644
--- a/lib/split-endpoints.js
+++ b/lib/split-endpoints.js
@@ -14,7 +14,8 @@
const fs = require('fs')
const path = require('path')
-const { renderApiPage } = require('./api-page')
+const { renderApiPage, API_KEY_XREF_MARKER } = require('./api-page')
+const API_KEY_XREF = 'xref:rest-api:create-api-key.adoc[Create an API key]'
const MODULE_DIR = path.join(__dirname, '..', 'modules/savanna/modules/rest-api')
const CATALOG = path.join(MODULE_DIR, '_catalog/endpoints.adoc')
@@ -151,16 +152,20 @@ function parseCatalog (text) {
}
function renderPage (endpoint, label) {
- return [
- '= ' + label,
- ':page-role: api-endpoint-detail',
- GENERATED,
- '',
- '++++',
- renderApiPage(endpoint),
- '++++',
- '',
- ].join('\n')
+ // The xref has to be AsciiDoc, not a raw .
+ // Production uses html_extension_style: drop, then rewrites any leftover
+ // .html href into a root-absolute path (/savanna/...). That URL 404s on
+ // www.tigergraph.com/docs because the /docs prefix is not part of the path.
+ // Antora resolves this xref to a relative, extensionless URL, which is what
+ // every other in-content link on the site already uses.
+ const chunks = renderApiPage(endpoint).split(API_KEY_XREF_MARKER)
+ const blocks = []
+ chunks.forEach((chunk, index) => {
+ blocks.push('++++', chunk.replace(/^\n/, '').replace(/\n$/, ''), '++++')
+ if (index === chunks.length - 1) return
+ blocks.push('', '[subs=macros]', '++++', API_KEY_XREF, '++++', '')
+ })
+ return ['= ' + label, ':page-role: api-endpoint-detail', GENERATED, '', ...blocks, ''].join('\n')
}
function renderNav (grouped) {
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/add-an-allowed-ip.adoc b/modules/savanna/modules/rest-api/pages/endpoints/add-an-allowed-ip.adoc
index 60c2c6f2..1ed32f9f 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/add-an-allowed-ip.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/add-an-allowed-ip.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/check-the-current-ip.adoc b/modules/savanna/modules/rest-api/pages/endpoints/check-the-current-ip.adoc
index e0d5897c..99eccfda 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/check-the-current-ip.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/check-the-current-ip.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-a-cloud-provider.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-a-cloud-provider.adoc
index fad3b91d..e4971152 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-a-cloud-provider.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-a-cloud-provider.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workgroup.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workgroup.adoc
index f9f2342d..d431aabd 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workgroup.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workgroup.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace-schedule.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace-schedule.adoc
index 0d18a9db..bbf41177 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace-schedule.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace-schedule.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace.adoc
index c08a9a32..b8d2e465 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-an-add-on-configuration.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-an-add-on-configuration.adoc
index 7c0e1b31..b8934de7 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-an-add-on-configuration.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-an-add-on-configuration.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/create-an-in-database-user.adoc b/modules/savanna/modules/rest-api/pages/endpoints/create-an-in-database-user.adoc
index d7c148c8..c164f598 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/create-an-in-database-user.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/create-an-in-database-user.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-backup.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-backup.adoc
index c9856414..fea7a1f8 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-backup.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-backup.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-cloud-provider.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-cloud-provider.adoc
index 9ff4f335..0b1b47ad 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-cloud-provider.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-cloud-provider.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-database.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-database.adoc
index a3f60831..cdee4e3a 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-database.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-database.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workgroup.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workgroup.adoc
index a6674613..ef5879e3 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workgroup.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workgroup.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace-schedule.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace-schedule.adoc
index 5cbda354..690ffde0 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace-schedule.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace-schedule.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace.adoc
index 0309f2fb..bba0e44b 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-add-on-configuration.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-add-on-configuration.adoc
index c8dcda87..9a0f796f 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-add-on-configuration.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-add-on-configuration.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-allowed-ip.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-allowed-ip.adoc
index bdd5d752..21aebb15 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-allowed-ip.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-allowed-ip.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-in-database-user.adoc b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-in-database-user.adoc
index 5ce5cbd5..02fa4f59 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/delete-an-in-database-user.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/delete-an-in-database-user.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/disable-the-allow-list.adoc b/modules/savanna/modules/rest-api/pages/endpoints/disable-the-allow-list.adoc
index 52300e7b..bcf7cfb1 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/disable-the-allow-list.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/disable-the-allow-list.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/enable-the-allow-list.adoc b/modules/savanna/modules/rest-api/pages/endpoints/enable-the-allow-list.adoc
index b432f406..bd97b23f 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/enable-the-allow-list.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/enable-the-allow-list.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-backup-restore-status.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-backup-restore-status.adoc
index 0b5f5d69..f7b3c476 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-backup-restore-status.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-backup-restore-status.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-backup-schedule.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-backup-schedule.adoc
index ce305460..9c4b74ea 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-backup-schedule.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-backup-schedule.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-cloud-provider-details.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-cloud-provider-details.adoc
index 86af329d..6c894e10 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-cloud-provider-details.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-cloud-provider-details.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-database-details.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-database-details.adoc
index 893b663f..5d4c73da 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-database-details.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-database-details.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-installed-add-on-details.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-installed-add-on-details.adoc
index c264aae9..c736605d 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-installed-add-on-details.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-installed-add-on-details.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-supported-workspace-options.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-supported-workspace-options.adoc
index 89619994..b6e54d55 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-supported-workspace-options.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-supported-workspace-options.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-workgroup-details.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-workgroup-details.adoc
index f289f7bc..c9600f71 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-workgroup-details.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-workgroup-details.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/get-workspace-details.adoc b/modules/savanna/modules/rest-api/pages/endpoints/get-workspace-details.adoc
index 223c714a..5aa68d13 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/get-workspace-details.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/get-workspace-details.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/install-an-add-on.adoc b/modules/savanna/modules/rest-api/pages/endpoints/install-an-add-on.adoc
index 340215ef..9d977a4c 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/install-an-add-on.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/install-an-add-on.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-configurations.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-configurations.adoc
index 707ed8ea..c0b6820c 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-configurations.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-configurations.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-workspaces.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-workspaces.adoc
index 30529311..a28bb7d9 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-workspaces.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-add-on-workspaces.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-allowed-ips.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-allowed-ips.adoc
index 5397f466..134cd964 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-allowed-ips.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-allowed-ips.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-available-add-ons.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-available-add-ons.adoc
index 3a71abd9..07142766 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-available-add-ons.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-available-add-ons.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-backups.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-backups.adoc
index b9340983..10cb30e7 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-backups.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-backups.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-cloud-providers.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-cloud-providers.adoc
index ab86cdc3..2399b3da 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-cloud-providers.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-cloud-providers.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-in-database-users.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-in-database-users.adoc
index 6d9b9a6e..4a19a7ec 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-in-database-users.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-in-database-users.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-installed-add-ons.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-installed-add-ons.adoc
index 0932917a..ce994971 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-installed-add-ons.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-installed-add-ons.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-public-cloud-providers.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-public-cloud-providers.adoc
index cbb7e716..55cfd017 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-public-cloud-providers.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-public-cloud-providers.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-workgroups.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-workgroups.adoc
index 58df1a65..3f5ebac4 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-workgroups.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-workgroups.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/list-workspace-schedules.adoc b/modules/savanna/modules/rest-api/pages/endpoints/list-workspace-schedules.adoc
index 170bdf9a..a4826816 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/list-workspace-schedules.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/list-workspace-schedules.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/pause-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/pause-a-workspace.adoc
index 49366dc3..c7d61a17 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/pause-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/pause-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/refresh-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/refresh-a-workspace.adoc
index 4bcae10a..87bbd836 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/refresh-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/refresh-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/restore-a-backup.adoc b/modules/savanna/modules/rest-api/pages/endpoints/restore-a-backup.adoc
index 57d37fa3..e3a23d2f 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/restore-a-backup.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/restore-a-backup.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/resume-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/resume-a-workspace.adoc
index 20951b25..913f41b8 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/resume-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/resume-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/set-backup-schedule.adoc b/modules/savanna/modules/rest-api/pages/endpoints/set-backup-schedule.adoc
index cd1d6787..209d08dd 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/set-backup-schedule.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/set-backup-schedule.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-a-cloud-provider.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-a-cloud-provider.adoc
index d14c7781..8c6b38d4 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-a-cloud-provider.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-a-cloud-provider.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-a-database.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-a-database.adoc
index c8b2ce73..3239ee0a 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-a-database.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-a-database.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workgroup.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workgroup.adoc
index 003a63fb..bd6edbf1 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workgroup.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workgroup.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace-schedule.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace-schedule.adoc
index 2a163c7f..1ae4acd6 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace-schedule.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace-schedule.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace.adoc
index 590dc18c..7e2c732a 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-a-workspace.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-an-add-on-configuration.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-an-add-on-configuration.adoc
index 8bfa55d2..1c1ca0f3 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-an-add-on-configuration.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-an-add-on-configuration.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-an-allowed-ip.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-an-allowed-ip.adoc
index ae2b9139..4f609f7e 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-an-allowed-ip.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-an-allowed-ip.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/update-an-in-database-users-password.adoc b/modules/savanna/modules/rest-api/pages/endpoints/update-an-in-database-users-password.adoc
index cd8e757b..587162ee 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/update-an-in-database-users-password.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/update-an-in-database-users-password.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/upgrade-a-cloud-provider.adoc b/modules/savanna/modules/rest-api/pages/endpoints/upgrade-a-cloud-provider.adoc
index 82554ed3..37df15c3 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/upgrade-a-cloud-provider.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/upgrade-a-cloud-provider.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++
diff --git a/modules/savanna/modules/rest-api/pages/endpoints/validate-a-cloud-provider.adoc b/modules/savanna/modules/rest-api/pages/endpoints/validate-a-cloud-provider.adoc
index 4f9d8b9d..26588c45 100644
--- a/modules/savanna/modules/rest-api/pages/endpoints/validate-a-cloud-provider.adoc
+++ b/modules/savanna/modules/rest-api/pages/endpoints/validate-a-cloud-provider.adoc
@@ -31,7 +31,14 @@
required
Authorization for TigerGraph Savanna. Send the key in the x-api-key request header.
- Create an API key
+++++
+
+[subs=macros]
+++++
+xref:rest-api:create-api-key.adoc[Create an API key]
+++++
+
+++++