API reference
3 endpoints, served at https://orbitwrite.com/api/v1. Each one lists the credentials it accepts, its parameters and every response it can give.
Requires linkTracking:read. Returns the workspace settings plus every channel that overrides them — read this to know how a link in a post you schedule will be tagged when it publishes.
An API key or OAuth access token as a bearer token, or a signed-in session.
organizationIdstringSession callers only — an API key already determines the workspace.
At least 1 character.
200LinkTrackingReadResultThe workspace settings and its channel overrides
workspaceLinkTrackingSettings | any | nullRequiredNull when the workspace has never configured link tracking — distinct from configured-and-disabled.
enabledbooleanRequiredparamsLinkTrackingParam[]RequiredAppended in order. Parameter names must be unique — a repeated name is a 400, not a silently dropped entry.
At most 10 items.
domainsstring[]RequiredHostnames to tag, subdomains included. Empty tags every link. Normalized on save (a pasted URL collapses to its host), so the response is what was stored.
At most 20 items.
accountsobject[]RequiredOnly channels carrying an override; every other channel inherits the workspace settings.
curl -X GET "https://orbitwrite.com/api/v1/link-tracking" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY"{
"workspace": {
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
],
"domains": [
"string"
]
},
"accounts": [
{
"accountId": "string",
"platform": "string",
"override": {
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
]
}
}
]
}Requires linkTracking:update. A full save of the three fields — the settings form always sends them whole, and a partial write would make an empty domain list indistinguishable from an untouched one.
An API key or OAuth access token as a bearer token, or a signed-in session.
enabledbooleanRequiredparamsLinkTrackingParam[]RequiredAppended in order. Parameter names must be unique — a repeated name is a 400, not a silently dropped entry.
At most 10 items.
domainsstring[]RequiredHostnames to tag, subdomains included. Empty tags every link. Normalized on save (a pasted URL collapses to its host), so the response is what was stored.
At most 20 items.
organizationIdstringSession callers only — an API key already determines the workspace.
At least 1 character.
200LinkTrackingUpdateResultThe saved settings, with domains as normalized
workspaceLinkTrackingSettingsRequiredenabledbooleanRequiredparamsLinkTrackingParam[]RequiredAppended in order. Parameter names must be unique — a repeated name is a 400, not a silently dropped entry.
At most 10 items.
domainsstring[]RequiredHostnames to tag, subdomains included. Empty tags every link. Normalized on save (a pasted URL collapses to its host), so the response is what was stored.
At most 20 items.
curl -X PUT "https://orbitwrite.com/api/v1/link-tracking" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
],
"domains": [
"string"
]
}'{
"workspace": {
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
],
"domains": [
"string"
]
}
}Requires linkTracking:update. A null field inherits the workspace value; params, when set, replaces the workspace list rather than merging. A null override — or one whose every field is null — clears the row back to full inheritance.
An API key or OAuth access token as a bearer token, or a signed-in session.
organizationIdstringSession callers only — an API key already determines the workspace.
At least 1 character.
accountIdstringRequiredAt least 1 character.
overrideLinkTrackingOverride | any | nullRequired200LinkTrackingAccountOverrideResultThe override as stored, or null when cleared
curl -X PUT "https://orbitwrite.com/api/v1/link-tracking/account" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "string",
"override": {
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
]
}
}'{
"override": {
"enabled": true,
"params": [
{
"key": "string",
"value": "string"
}
]
}
}