[api-v3] Update Server API schema version v3.7.1 - #281
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014UgqDnqUR4FrS2RarTojEt
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014UgqDnqUR4FrS2RarTojEt
🦋 Changeset detectedLatest commit: 86c3afd The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Coverage report
Test suite run success83 tests passing in 11 suites. Report generated by 🧪jest coverage report action from 86c3afd Show full coverage report
|
sync.sh fetches the built fingerprint-server-api-compact.yaml (examples stripped, x-readme removed), not the raw schemas/fingerprint-server-api-for-sdks.yaml source. Replace the previously vendored file with a local build of the compact artifact from the openapi repo at the v3.7.1 release commit, since network egress to fingerprintjs.github.io is blocked in this environment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014UgqDnqUR4FrS2RarTojEt
The smoke test computed `start` as exactly `Date.now() - 90 days`,
which the API rejects once clock skew or request latency pushes it
past the 90-day limit ("start time cannot be older than 90 days").
Use an 89-day window instead, matching the fix already applied on
the v4 (main) line.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014UgqDnqUR4FrS2RarTojEt
There was a problem hiding this comment.
🟡 Changes recommended
The updated schema introduces misleading/deconflicting documentation that should be corrected (and aligned with existing README messaging) before merge.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Updates the Fingerprint Server API v3 OpenAPI schema to v3.7.1 and regenerates the published TypeScript API types, along with a small adjustment to functional smoke tests to avoid an API search-window validation error.
Changes:
- Sync
resources/fingerprint-server-api.yamlto v3.7.1 (new required fields, new error codes/responses, updated endpoint docs/parameters). - Regenerate
src/generatedApiTypes.tsfrom the updated schema. - Adjust functional smoke tests to use an 89-day search window instead of 90 days.
File summaries
| File | Description |
|---|---|
| tests/functional-tests/smokeTests.mjs | Updates smoke test time window to avoid server-side “start time too old” validation failures. |
| src/generatedApiTypes.ts | Regenerated TS types/docs based on the updated v3.7.1 OpenAPI schema. |
| resources/fingerprint-server-api.yaml | Main schema sync to v3.7.1 (docs, responses, and schema constraints). |
| .changeset/update-schema-v3.7.1.md | Declares a minor release with a summary of schema/type changes. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: JuroUhlar <11249993+JuroUhlar@users.noreply.github.com>
🚀 Following releases will be created using changesets from this PR:@fingerprintjs/fingerprintjs-pro-server-api@6.13.0Minor Changes
|
Syncs the v3 schema to v3.7.1 (from v3.5.2) and regenerates types.
Labels.labelnow requiredRequestReadTimeoutadded toErrorCode404/429/504documented onGET /events/searchandGET /visitors/{visitor_id}reversedefaults tofalse(newest first)GET /visitors/{visitor_id}returns at most one item invisits;limit/paginationKey/beforedeprecated in favor ofGET /events/searchThe schema diff also drops ~1500 lines of inline examples (absent from the published artifact); no effect on generated types.
Also fixes the smoke tests, which failed on a pre-existing 90-day search window (
400: invalid start time) — now 89 days, matching v4'sab99c5e.Checks:
pnpm build,lint,test(83),test:dtspass. Live smoke run needs CI.🤖 Generated with Claude Code
https://claude.ai/code/session_014UgqDnqUR4FrS2RarTojEt