Skip to content

INTER-2639: fix: update docs links in v3 Server API schemas - #489

Merged
JuroUhlar merged 3 commits into
mainfrom
fix/v3-server-api-broken-links
Oct 8, 2026
Merged

JuroUhlar merged 3 commits into
mainfrom
fix/v3-server-api-broken-links

Conversation

@JuroUhlar

@JuroUhlar JuroUhlar commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Part of INTER-2639.

Fixes broken links in the v3 Server API schemas and moves every link from dev.fingerprint.com to docs.fingerprint.com. docs.fingerprint.com renders these schemas, so broken links show up there too.

Changes:

  • get-function#requestid, #visitorid and #linkedid now point to docs.fingerprint.com/reference/v3/js-agent-get-function. The old URL redirects to the v4 page, which doesn't have these anchors.
  • Migration guide links use the anchor IDs the page actually renders: #migrating-get-/events, #migrating-get-/events/search, #migrating-get-/visitors and #migrating-update-/events.
  • All other dev.fingerprint.com links now go directly to their final docs.fingerprint.com URL. Where a v3 page exists, they use it:
    • docs/glossary, regions, suspect-score, webhooks → docs/v3/...
    • docs/smart-signals-overview and smart-signals-reference → docs/v3/smart-signals-reference
    • reference/getevent, updateevent, getvisits, pro-server-api → reference/v3/server-api-*
    • reference/api-deprecation-policy, related-visitors-api → same path on docs.fingerprint.com

Every new URL returns 200 and every anchor exists on the live page (checked with curl). No dev.fingerprint.com links remain in these files.

Files changed: fingerprint-server-api-for-sdks.yaml (the source of fingerprint-server-api.yaml), fingerprint-server-api-readme-explorer.yaml and fingerprint-related-visitors-api-readme-explorer.yaml. The v4 schema doesn't change.

Checks: pnpm build, lintSchema, lintSchemaDist and test pass. Lint warnings are the same as on main, except for one new info-level description-duplication note.

This only changes descriptions, so there's no changeset.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S6AuB1xNKrrrmVKPX5vExu

Point `get-function` links at the v3 JS agent page, which still has the
`requestid`, `visitorid` and `linkedid` anchors. Move migration guide
links to docs.fingerprint.com and use the anchor IDs the page renders.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S6AuB1xNKrrrmVKPX5vExu
@changeset-bot

changeset-bot Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 0aebd57

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Schema Diff vs Published Schemas

  • Generated at: 2026-10-08T20:23:21.465Z
  • Published source: https://fingerprintjs.github.io/openapi/schemas
  • Compared schemas: 8
  • Changed schemas: 5

Detailed changed-lines patches were omitted because the complete report exceeds GitHub’s comment size limit.

fingerprint-related-visitors-api-readme-explorer.yaml

Published URL: https://fingerprintjs.github.io/openapi/schemas/fingerprint-related-visitors-api-readme-explorer.yaml
Summary: +0 added, -0 removed, ~3 modified

Added elements (0)

None

Removed elements (0)

None

Modified elements (3)
  • /info/description
  • /paths/~1related-visitors/get/description
  • /paths/~1related-visitors/get/parameters/0/description

fingerprint-server-api-compact.yaml

Published URL: https://fingerprintjs.github.io/openapi/schemas/fingerprint-server-api-compact.yaml
Summary: +0 added, -0 removed, ~27 modified

Added elements (0)

None

Removed elements (0)

None

Modified elements (27)
  • /components/schemas/DeprecatedGeolocation/description
  • /components/schemas/FactoryReset/properties/time/description
  • /components/schemas/Identification/properties/suspect/description
  • /components/schemas/MitMAttack/properties/result/description
  • /components/schemas/SuspectScore/properties/result/description
  • /components/schemas/WebhookFactoryReset/properties/time/description
  • /components/schemas/WebhookMitMAttack/properties/result/description
  • /components/schemas/WebhookSuspectScore/properties/result/description
  • /info/description
  • /paths/~1events~1search/get/description
  • /paths/~1events~1search/get/parameters/2/description
  • /paths/~1events~1search/get/parameters/5/description
  • /paths/~1events~1search/get/parameters/9/description
  • /paths/~1events~1{request_id}/get/description
  • /paths/~1events~1{request_id}/get/parameters/0/description
  • /paths/~1events~1{request_id}/put/description
  • /paths/~1events~1{request_id}/put/parameters/0/description
  • /paths/~1related-visitors/get/description
  • /paths/~1related-visitors/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/delete/description
  • /paths/~1visitors~1{visitor_id}/delete/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/1/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/2/description
  • /paths/~1webhook/trace/description
  • /tags/0/externalDocs/url

fingerprint-server-api-readme-explorer.yaml

Published URL: https://fingerprintjs.github.io/openapi/schemas/fingerprint-server-api-readme-explorer.yaml
Summary: +0 added, -0 removed, ~20 modified

Added elements (0)

None

Removed elements (0)

None

Modified elements (20)
  • /components/schemas/DeprecatedGeolocation/description
  • /components/schemas/FactoryReset/properties/time/description
  • /components/schemas/Identification/properties/suspect/description
  • /components/schemas/MitMAttack/properties/result/description
  • /components/schemas/SuspectScore/properties/result/description
  • /info/description
  • /paths/~1events~1search/get/description
  • /paths/~1events~1search/get/parameters/2/description
  • /paths/~1events~1search/get/parameters/5/description
  • /paths/~1events~1search/get/parameters/9/description
  • /paths/~1events~1{request_id}/get/description
  • /paths/~1events~1{request_id}/get/parameters/0/description
  • /paths/~1events~1{request_id}/put/description
  • /paths/~1events~1{request_id}/put/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/delete/description
  • /paths/~1visitors~1{visitor_id}/delete/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/1/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/2/description

fingerprint-server-api-schema-for-sdks.yaml

Published URL: https://fingerprintjs.github.io/openapi/schemas/fingerprint-server-api-schema-for-sdks.yaml
Summary: +0 added, -0 removed, ~26 modified

Added elements (0)

None

Removed elements (0)

None

Modified elements (26)
  • /components/schemas/DeprecatedGeolocation/description
  • /components/schemas/FactoryReset/properties/time/description
  • /components/schemas/Identification/properties/suspect/description
  • /components/schemas/MitMAttack/properties/result/description
  • /components/schemas/SuspectScore/properties/result/description
  • /components/schemas/WebhookFactoryReset/properties/time/description
  • /components/schemas/WebhookMitMAttack/properties/result/description
  • /components/schemas/WebhookSuspectScore/properties/result/description
  • /info/description
  • /paths/~1events~1search/get/description
  • /paths/~1events~1search/get/parameters/2/description
  • /paths/~1events~1search/get/parameters/5/description
  • /paths/~1events~1search/get/parameters/9/description
  • /paths/~1events~1{request_id}/get/description
  • /paths/~1events~1{request_id}/get/parameters/0/description
  • /paths/~1events~1{request_id}/put/description
  • /paths/~1events~1{request_id}/put/parameters/0/description
  • /paths/~1related-visitors/get/description
  • /paths/~1related-visitors/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/delete/description
  • /paths/~1visitors~1{visitor_id}/delete/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/1/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/2/description
  • /paths/~1webhook/trace/description

fingerprint-server-api.yaml

Published URL: https://fingerprintjs.github.io/openapi/schemas/fingerprint-server-api.yaml
Summary: +0 added, -0 removed, ~27 modified

Added elements (0)

None

Removed elements (0)

None

Modified elements (27)
  • /components/schemas/DeprecatedGeolocation/description
  • /components/schemas/FactoryReset/properties/time/description
  • /components/schemas/Identification/properties/suspect/description
  • /components/schemas/MitMAttack/properties/result/description
  • /components/schemas/SuspectScore/properties/result/description
  • /components/schemas/WebhookFactoryReset/properties/time/description
  • /components/schemas/WebhookMitMAttack/properties/result/description
  • /components/schemas/WebhookSuspectScore/properties/result/description
  • /info/description
  • /paths/~1events~1search/get/description
  • /paths/~1events~1search/get/parameters/2/description
  • /paths/~1events~1search/get/parameters/5/description
  • /paths/~1events~1search/get/parameters/9/description
  • /paths/~1events~1{request_id}/get/description
  • /paths/~1events~1{request_id}/get/parameters/0/description
  • /paths/~1events~1{request_id}/put/description
  • /paths/~1events~1{request_id}/put/parameters/0/description
  • /paths/~1related-visitors/get/description
  • /paths/~1related-visitors/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/delete/description
  • /paths/~1visitors~1{visitor_id}/delete/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/0/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/1/description
  • /paths/~1visitors~1{visitor_id}/get/parameters/2/description
  • /paths/~1webhook/trace/description
  • /tags/0/externalDocs/url

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only updates are consistent across the affected v3 schemas and leave API behavior unchanged.

0 open findings

What changed in this PR

Updates broken documentation links in deprecated v3 Server API schemas without changing API behavior.

Changes:

  • Redirects JavaScript Agent references to v3 documentation.
  • Corrects migration guide domains and anchors.
File Description
schemas/​fingerprint-server-api-for-sdks.yaml Updates v3 SDK schema documentation links.
schemas/​fingerprint-server-api-readme-explorer.yaml Updates corresponding ReadMe explorer links.
schemas/​fingerprint-related-visitors-api-readme-explorer.yaml Fixes migration and visitor ID links.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

Replace the remaining dev.fingerprint.com links with their final
docs.fingerprint.com URLs. Use v3 pages where they exist (glossary,
regions, smart signals, Suspect Score, webhooks, Server API v3 reference).
smart-signals-overview now lives at smart-signals-reference.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S6AuB1xNKrrrmVKPX5vExu
@JuroUhlar JuroUhlar changed the title fix: update broken docs links in v3 Server API schemas fix: update docs links in v3 Server API schemas Oct 8, 2026
@JuroUhlar
JuroUhlar requested a balanced review from Copilot October 8, 2026 14:48

Copy link
Copy Markdown
Contributor Author

Lint, build and test failed on e730f76 in the live Server API checks:

❌ Updating event 1791469706860.y973Md in All signals, with delete and related visitors sub_RjeYym86kKpVlk was expected to fail with status 409, not succeed with undefined

I don't think this PR causes it. The test sends a real update request to the live API, and the result depends on that event's state in the test subscription, not on the schema. This PR only changes link URLs in descriptions. The same job passed on the previous commit (864ef65), which had the same kind of change. Lint, build, schema lint and unit tests pass locally on this commit. I'm re-running the failed job once to confirm.


Generated by Claude Code

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only URL updates are consistent across the affected v3 schemas with no unresolved issues.

0 open findings

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

@mcnulty-fp

Copy link
Copy Markdown
Contributor

Lint, build and test failed on e730f76 in the live Server API checks:

❌ Updating event 1791469706860.y973Md in All signals, with delete and related visitors sub_RjeYym86kKpVlk was expected to fail with status 409, not succeed with undefined

I don't think this PR causes it. The test sends a real update request to the live API, and the result depends on that event's state in the test subscription, not on the schema. This PR only changes link URLs in descriptions. The same job passed on the previous commit (864ef65), which had the same kind of change. Lint, build, schema lint and unit tests pass locally on this commit. I'm re-running the failed job once to confirm.

Generated by Claude Code

Looks like some test flake that is worth fixing or tracking as a known issue.

Copy link
Copy Markdown
Contributor Author

Agreed. The cause is a timing race in validateUpdateEventError409SchemaV4 (bin/validationScenarios/v4-errors.ts:307); v3-errors.ts has the same pattern. The test creates a fresh event and updates it right away, and it expects 409 state_not_ready. When the backend finishes processing the event before the update arrives, the update succeeds and the test fails.

One possible fix: if the update succeeds, log a warning and skip the live check for that subscription instead of failing. The example-file check still covers the schema. A retry with a new event would also work, but it can still race.

This is unrelated to this PR's change, so I'd handle it in a separate PR or issue. I'll check with the PR author which they prefer.


Generated by Claude Code

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ This PR doesn't contain any changesets. If there are user-facing changes, don't forget to run:

pnpm run changeset

to create a changeset.

@JuroUhlar

Copy link
Copy Markdown
Contributor Author

Agreed. The cause is a timing race in validateUpdateEventError409SchemaV4 (bin/validationScenarios/v4-errors.ts:307); v3-errors.ts has the same pattern. The test creates a fresh event and updates it right away, and it expects 409 state_not_ready. When the backend finishes processing the event before the update arrives, the update succeeds and the test fails.

One possible fix: if the update succeeds, log a warning and skip the live check for that subscription instead of failing. The example-file check still covers the schema. A retry with a new event would also work, but it can still race.

This is unrelated to this PR's change, so I'd handle it in a separate PR or issue. I'll check with the PR author which they prefer.

Generated by Claude Code

Sorry for the slop reply, Claude got away from me. But he is right, I will try fixing it in a separate PR. The link updates themeselces should be ready for review, did some spot checks and lgtm.

@JuroUhlar
JuroUhlar marked this pull request as ready for review October 8, 2026 20:28
@JuroUhlar
JuroUhlar requested a review from a team as a code owner October 8, 2026 20:28
@JuroUhlar
JuroUhlar merged commit 5d12390 into main Oct 8, 2026
6 checks passed
@JuroUhlar
JuroUhlar deleted the fix/v3-server-api-broken-links branch October 8, 2026 20:30
@JuroUhlar JuroUhlar changed the title fix: update docs links in v3 Server API schemas INTER-2639: fix: update docs links in v3 Server API schemas Oct 9, 2026

This branch was successfully deployed

1 active deployment
test — 0aebd57d Deployed Oct 8, 2026 by JuroUhlar via Lint, build and test #1470
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants