fix(docs): replace dead gnubok.app domain with app.gnubok.se across public docs (#683)

gnubok.app has no DNS delegation (the .app TLD returns no NS records for
it), so every https://gnubok.app/... link in the public docs was dead —
including the OAuth connector URL a Claude Connectors Directory reviewer
would paste from the new Connect-with-Claude page (#682), and the docs
links in the gnubok-mcp npm README that ships in the tarball.

app.gnubok.se is the live production domain (the MCP endpoint there
correctly answers 401 unauthenticated) and was already the default
GNUBOK_URL in the npm bridge and the branding-service appUrl fallback.

Mechanical swap: 55 occurrences across 11 files, all https:// URL form
(verified no emails or identifiers). Docs content only — no code paths.
Also resolves the greptile domain-mismatch finding on #682.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-06-06 13:00:27 +02:00
committed by GitHub
co-authored by Claude Opus 4.8
parent a894af11d0
commit 3c85082f3a
11 changed files with 55 additions and 55 deletions
+6 -6
View File
@@ -12,7 +12,7 @@ export const QUICKSTART_MD = `# Quickstart — send your first invoice
Test keys are scoped to a single sandbox company by default; this call confirms the auth works and returns the \`companyId\` you'll use in the rest of the cookbook.
\`\`\`bash
curl https://gnubok.app/api/v1/companies \\
curl https://app.gnubok.se/api/v1/companies \\
-H "Authorization: Bearer gnubok_sk_test_..."
\`\`\`
@@ -32,7 +32,7 @@ Save the \`id\` as \`COMPANY_ID\` for the next steps.
Every write supports \`?dry_run=true\` — the response shows the would-be record without committing. Use it in agent test loops to validate inputs before paying the side-effect cost.
\`\`\`bash
curl "https://gnubok.app/api/v1/companies/$COMPANY_ID/customers?dry_run=true" \\
curl "https://app.gnubok.se/api/v1/companies/$COMPANY_ID/customers?dry_run=true" \\
-H "Authorization: Bearer gnubok_sk_test_..." \\
-H "Idempotency-Key: $(uuidgen)" \\
-H "Content-Type: application/json" \\
@@ -70,7 +70,7 @@ Invoices are typed (B2B, EU-business, individual) and support mixed-rate VAT (pe
\`\`\`bash
INVOICE_IDEMP=$(uuidgen)
curl "https://gnubok.app/api/v1/companies/$COMPANY_ID/invoices" \\
curl "https://app.gnubok.se/api/v1/companies/$COMPANY_ID/invoices" \\
-H "Authorization: Bearer gnubok_sk_test_..." \\
-H "Idempotency-Key: $INVOICE_IDEMP" \\
-H "Content-Type: application/json" \\
@@ -106,7 +106,7 @@ Response includes the auto-allocated invoice number, the computed VAT lines, and
\`POST /invoices/{id}/send\` posts the verifikation, generates the PDF, and emails the customer in a single transaction. Strict-mode: if any step fails, none of them commit.
\`\`\`bash
curl -X POST "https://gnubok.app/api/v1/companies/$COMPANY_ID/invoices/$INVOICE_ID/send" \\
curl -X POST "https://app.gnubok.se/api/v1/companies/$COMPANY_ID/invoices/$INVOICE_ID/send" \\
-H "Authorization: Bearer gnubok_sk_test_..." \\
-H "Idempotency-Key: $(uuidgen)"
\`\`\`
@@ -125,7 +125,7 @@ Response carries the now-posted voucher number:
"request_id": "req_...",
"audit": {
"voucher_number": "F-2026-001",
"voucher_url": "https://gnubok.app/bookkeeping/...",
"voucher_url": "https://app.gnubok.se/bookkeeping/...",
"immutable_at": "2026-05-15T12:00:00Z"
}
}
@@ -137,7 +137,7 @@ Response carries the now-posted voucher number:
When the customer pays, mark the invoice paid. The engine generates the payment voucher (debit 1930 bank, credit 1510 AR) and links it to the invoice.
\`\`\`bash
curl -X POST "https://gnubok.app/api/v1/companies/$COMPANY_ID/invoices/$INVOICE_ID/mark-paid" \\
curl -X POST "https://app.gnubok.se/api/v1/companies/$COMPANY_ID/invoices/$INVOICE_ID/mark-paid" \\
-H "Authorization: Bearer gnubok_sk_test_..." \\
-H "Idempotency-Key: $(uuidgen)" \\
-H "Content-Type: application/json" \\