Skip to content

docs: update links for local evaluation and edge proxy docs#7961

Open
nattiechan wants to merge 7 commits into
Flagsmith:mainfrom
nattiechan:docs/edge-proxy-improvements
Open

docs: update links for local evaluation and edge proxy docs#7961
nattiechan wants to merge 7 commits into
Flagsmith:mainfrom
nattiechan:docs/edge-proxy-improvements

Conversation

@nattiechan

@nattiechan nattiechan commented Jul 8, 2026

Copy link
Copy Markdown

Thanks for submitting a PR! Please check the boxes below:

  • I have read the Contributing Guide.
  • I have added information to docs/ if required so people know about the feature.
  • I have filled in the "Changes" section below.
  • I have filled in the "How did you test this code" section below.

Changes

Based on my experience implementing Flagsmith Client SDK, and Server SDK via edge proxy, I decided to update some of the documentation around local evaluation and edge proxy to clear up some confusion I had during the implementation. The contribution stemmed from this discord message: https://discord.com/channels/517647859495993347/917719343930957846/1521555745798226093

  • Update links for local evaluation and caveats to a more specific section for more context
  • Add a bullet point on identity override troubleshooting for edge proxy

I also updated the openAPI docs accordingly per README in /docs, though unsure if I have done it correctly.

How did you test this code?

Ran server locally via make serve to visualize the changes locally.

@nattiechan nattiechan requested a review from a team as a code owner July 8, 2026 01:45
@nattiechan nattiechan requested review from matthewelwell and removed request for a team July 8, 2026 01:45
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

@nattiechan is attempting to deploy a commit to the Flagsmith Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates documentation link targets from an older integration-overview URL structure to SDK-specific anchors for Local Evaluation Mode and Environment Document references across several docs pages. It also adds new Edge Proxy api_url documentation and troubleshooting content, introduces a new SDK API tag page with sidebar wiring, and regenerates encoded API payloads and JSON schemas for multiple SDK API reference pages.

Estimated code review effort: 2 (Simple) | ~15 minutes

Changes

File(s) Summary
billing-api-usage.md, governance-and-compliance/api-usage.md, defensive-coding.md, efficient-api-usage.md, getting-started/glossary.md, integrating-with-flagsmith/sdks/index.md, performance/edge-proxy.md Updated Local Evaluation Mode / Environment Document link targets to SDK-specific anchors
deployment-self-hosting/edge-proxy.md Added api_url config documentation and a troubleshooting bullet
sdk-api/sdk.tag.mdx, sdk-api/sidebar.ts Added new SDK API tag page and sidebar link
sdk-api/flagsmith-api.info.mdx, sdk-api/sdk-v-1-environment-document.api.mdx, sdk-api/sdk-v-1-flags.api.mdx, sdk-api/sdk-v-1-get-identities.api.mdx, sdk-api/sdk-v-1-post-identities.api.mdx Regenerated encoded API payloads and updated response/request JSON schemas

Sequence Diagram(s)

Not applicable — this PR consists of documentation link/content updates and regenerated API reference schemas with no observable runtime interaction flow.

Related issues: None specified.

Related PRs: None specified.

Suggested labels: documentation

Suggested reviewers: None specified.


Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the docs Documentation updates label Jul 8, 2026
The current link does not link to relevant
content, so this commit fixes the issue
- Add default info to `api_url` config
- Add more info on identity override
troubleshooting
Update the links to local evaluation mode
to be more specific depending on the
context
There is a more comprehensive link in SDK overview,
so using that one instead
@nattiechan nattiechan force-pushed the docs/edge-proxy-improvements branch from 0a9a01e to 5dad1e3 Compare July 8, 2026 01:50

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 9f45b787-8937-428e-85c2-af8abc9a2a9f

📥 Commits

Reviewing files that changed from the base of the PR and between da194ca and 0a9a01e.

📒 Files selected for processing (15)
  • docs/docs/administration-and-security/billing-api-usage.md
  • docs/docs/administration-and-security/governance-and-compliance/api-usage.md
  • docs/docs/best-practices/defensive-coding.md
  • docs/docs/best-practices/efficient-api-usage.md
  • docs/docs/deployment-self-hosting/edge-proxy.md
  • docs/docs/getting-started/glossary.md
  • docs/docs/integrating-with-flagsmith/sdks/index.md
  • docs/docs/performance/edge-proxy.md
  • docs/docs/sdk-api/flagsmith-api.info.mdx
  • docs/docs/sdk-api/sdk-v-1-environment-document.api.mdx
  • docs/docs/sdk-api/sdk-v-1-flags.api.mdx
  • docs/docs/sdk-api/sdk-v-1-get-identities.api.mdx
  • docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx
  • docs/docs/sdk-api/sdk.tag.mdx
  • docs/docs/sdk-api/sidebar.ts

Comment thread docs/docs/best-practices/defensive-coding.md
Comment thread docs/docs/deployment-self-hosting/edge-proxy.md Outdated
@nattiechan nattiechan marked this pull request as draft July 8, 2026 01:50
@nattiechan nattiechan marked this pull request as ready for review July 8, 2026 01:54

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d10c31f1-548e-46db-90cc-06ec405d61aa

📥 Commits

Reviewing files that changed from the base of the PR and between 0a9a01e and 05459ee.

📒 Files selected for processing (15)
  • docs/docs/administration-and-security/billing-api-usage.md
  • docs/docs/administration-and-security/governance-and-compliance/api-usage.md
  • docs/docs/best-practices/defensive-coding.md
  • docs/docs/best-practices/efficient-api-usage.md
  • docs/docs/deployment-self-hosting/edge-proxy.md
  • docs/docs/getting-started/glossary.md
  • docs/docs/integrating-with-flagsmith/sdks/index.md
  • docs/docs/performance/edge-proxy.md
  • docs/docs/sdk-api/flagsmith-api.info.mdx
  • docs/docs/sdk-api/sdk-v-1-environment-document.api.mdx
  • docs/docs/sdk-api/sdk-v-1-flags.api.mdx
  • docs/docs/sdk-api/sdk-v-1-get-identities.api.mdx
  • docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx
  • docs/docs/sdk-api/sdk.tag.mdx
  • docs/docs/sdk-api/sidebar.ts

hide_title: true
hide_table_of_contents: true
api: eJztWNtu2zgQ/RWC+5BdQLaT7kMBoVusm6SA0VsQp8UCTpDS4thiLZEsSTlRDf37YkjJlpy4cS8LFNi82dLM8MxwzhmKK6o0GOaEkiNOY2r54np5dK2VddeCg3TCCbA0ohxsYoRGQxrTkX81KwkjhQUTEQuOuBSEIc4w4WxEmOTEgDMCllC/mmVsbvs0ogY+F2DdC8VLGq/8X2GA09iZAiKaKOlAOnzFtM5E4vENPllce0VtkkLO8FcX1McB02KwPBpsgA8+knqt/qW8lO8tcOLUBpdHRGbKECZJ7VZ66NYpA0Q4WyeEsF2pgcZUTT9B4mhEtcHi+QLFKxrcZwIM/qttrTNCztFXuAw2lUOrKqIhtk9Ulu9mNJ6sqHCQ27vZnYM2YEE6SxhZQNlbsqwAollTc6KNWgoOnDBLhNSFIzcpSJIYYE7IOVGGFJqH3610H87Mh79eQPm1xC48hldQrvO69gi7ydXeU6UyYJJW0fqRLPKpL8r6iZAO5vWjnN2+Bjl3KY2fHB4eRlswOnGyjFZX28A+eCwBmrSiaa+9gN0NWEeoqqjVvJNWobol2EYzwt3xYMISzBhWPpyE/a/xt1q4Zf/haLQm1Hlgk/dsc/O2d3Nz05spk/cKk4FMFMeQj2R9JOsjWX8FsuZF5oRmxg08STlz7JGej/R8pOevQM/ga7WSNnTJk8PDu11Lf/rJOKzo6dyihEthw1/f8cDXDQ88IixTck5uhEs9qdfH+p/PaR+6ZR42N9qL11bIeRZkifw+A+YKA8Q65uAPFK3CSOBkWvp0X+I6OSY0Pnn1cCp1tAcAbILW9hHhMBO4LPMKg7FJBkvI9qleqwwNm9tlw3JJlsPXivsW36+psqIsy7otv/YAWeTYxeOL4duT4fkJjeib968vRh+G56PhxWmHhaWGk6dPT9Gj2np+DytoDbNG0XJ4WVe1wuXZNIN2yg0ZN+antQ22SfC89rv7Falsq+Buku+hgzVUMsYFGz3cSrVpkk029wPtqAP2jN+hZiFPgM50+w4qbI04Zq1KhKe1J/H/dYB958Rp708zS3aLfyNi6y3cOQ2CGvtxUEXUQlIY4UpfqVO5FEbJHKQjw7ORr2w8ufKZeYWc4M0Nhs7BpQpvcvAKBzePYZnoPQOA4hpmCcb6JQqT0ZimzmkbD9C8P2v0q5+o/M4V0EbdjvF0Nzwb+cJ3wwCfQ/9bYp3yeR3ralOCMY610H33FmLDCS1e+e0TGDUFxv0GBFmk//Ra3r1guIVDGRwABCTXSkhn++QZI6mB2V8HTUpcJbabziDJ8ARgBwas+00X00wkPaZFbx3m4PlLITlRhSO5MvBswJ73sYveMOvAfHMiw8KlyogvfvjfSeLbERuxZA72gzxlViQIoIUWF8Ju8tuEhEYbzxK1ALll/COpXWC83pThpwcrXIq9HI5AQcgaChJtYCZuyWXwuKSeoHhKOt/cPJ7eslxnsH00aYlZLbmTjuhtvW90Ldxctg6U+MDzc+sRJj5TviBtjffdj40fUaRkyHd5tJsqBzYQDz+wsGeHZyPbJ8cpJAu/a3u0wcHzzdJcJQXywlcz7HY4brLEHzchZwKZbQutlXF/dwldRTQTCaB8xatmL1+MT8jr+mnUrfGL8Unvz95xxgobdBjVKmey5W35giyPCL4gu2+iV5sj8Y9eStf96eDWDXTGBA6kIGerWkUn2Ly4QUfrfGpMqLwpCm48oasVNuh7k1UVPv5cgPFiHdElMwJPAl66o6b3sb9CZx2HVHr+5ITmvrP2uGdD4Q0hhkkC2u1w9p8JVXtInL0bX9CITuuL+Fxx9GlFjtp/Amx2h89hZNY/WoOdybKF5D75DaAX0Plg67qtVkExqmptv6y/P3d4rDUlWONGXlVV9S+yWqHx
api: eJztWFlv4zYQ/iuE+pC2sOykfVgg2C7qzQEYeyLHokCySGhpHHMjUSpJOXEN//fODCWLcpxN9ij2oXmTyLk53zeUFlFRgpFOFXqURruRTa8vZjsXZWHdhUpBO+UU2KgXpWATo0oSRLERb03mQorKgukJC064KSgjnJHK2Z6QOhUGnFEwg3prkskr20djBv6uwLqXRTqPdhf8qgygf2cq6EVJoR3apy1ZlplKOL7BJ0u+F5FNppBLeuoGdTmQpRrMdgZt4INLUfvqn+tzfWohFa5o4+KIxKQwGK6o1eYcunWFAYGZ1AlR2G5eAvopxp8gcfheGioeFwiD8eoTBYbealmLjvQV6SqXQVs5klriKtvmRPX83STaPUM7DnJ7N7sjKA1YVLZY9GuYxzOZVSBK2dRcYDgzDCIV0gqly8qJmylokRjA+ukrgVlWZeqfg3QfzozNX6DPzyV2wjG8QqEmrwuOsJtcra3wgK+4BKslXeXj7sq4KDKQOlyqvXbUsixaflyP4wO79pFoq5puWo9jg4tNBmsLy2Uv6NWzoC7djNejGdFhcDDehTRGzh9Owv7X8QcdG8h/2Bmt8HPkwcOaIRRv45ubmxhxk8eVyUAnRUomn7D5hM0nbP4AbOZV5lQpjRswJrGR5BMan9D4hMYfgEava8tCW98Uv21v323S6Ltfc71HRm+AALx5t3DlBse2b/obUrynZwV2+Y1yU8bw6o7+/SHMpgNxf7i9R8HYouHMs5D4eYJZVMg51mEKvxBHVUZjWuM5p3tIfnJK6Hj/1cOp1NYeCKA1Wsv3RAoTRW4lEwrZFhlSZfaY6gVlaBAelo3KpWUOnyvuW9pfQQV7KMvqlu+m8au4PD4Zvt0fHu1filg0z+caN96cvj4ZfRgejYYnB7QZvrdZrFwDUg/BobGBSx2NEEuouv/s2QFpLNfWN8ArqvOtfQYKh/XxLMm9HGcQ1q5BdSt+UMtQv3nNC26TL6PYryPUOlRxTA4bYl1Ltem2NpvNgXZohpqPj7pxxEjqTMWvwNTaaJTWFolifmA2+J8Mvq+cVOFxNDPo/qHRkN/qxO6dIp7FeYygOQtJZfAAuDAHeqZMoXMUFsP3Iy7k7tlHzoyZ9Yx+35DpHNy0oN859B+Hzkq6Kb5tGBwR+TAzMJZd4Mccyk2dK+3uYADpFfRRpz9pyK+fFPmdn0EtNR6gAoXG1W5iP6Y55rtkYwZt75bqFdddkdUpyJQr53kw+isOtGMvuBYHjjVkfAE6LQtsH9sXz6WYGpj8sdWklBaJ7aYzSDIa+XaAwHA/ldUYB3GMocQrM1svDhXecwu8JuZ41X0+kC/6dPxvpHVgvjiRYYWHY9Q/PO03JjFMc6XZ7jelYtQM0fy4XMbSqoQiC9IgR9QffH4ENpLhvi+uQa8Jf0vOJ2QvRvM0TFGSutNfhjwTNaDCMYsj91ace43ziCFH96Wj9ofiwa3MywzWLykBG9WcedZhrbX9hpi2O/dK+j3JcFtboqwnBVcjZGjGBMGhFxHCfLKznfsBtGXFHn1M0WcVdTLq4snvTSG55iN7RA/gAa9c425FaOFS+qP2t06Z8K0Tr5eK8G6rsiyM+7MLc8wKoQDERihbH+TL433xul7tdQuMW/Hv8V4mK+tplcgnlzrQRnoSsx1BG6IlofV6LNqb8bf+aK6b08GtG5SZVDQpPMktalI8o86lA9pZ5VPHREQ6Jf5EmcWCuvPUZMslLWOzGeZe1JNG0RxnJu41jU/N5dtqz6cS872HxLmtHvEzjQaYNzFMEijdPcr8tbAMOf/9u+MTFB7XP9dztIargeVe+OLDlnfA7Cdg/RCMZZzTQSSbSNkHfQ2d77au2mLh6QKr2cjP6s/QezRWhOKl6SA/4oT8F3jekSs=

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the affected docs file and nearby source specs/definitions.
git ls-files | rg -n 'docs/docs/sdk-api/sdk-v-1-post-identities\.api\.mdx|sdk-v-1-post-identities|identities|trait_value|traits'

Repository: Flagsmith/flagsmith

Length of output: 5927


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the OpenAPI/spec and serializer definitions for the trait value limit.
for f in \
  api/environments/identities/traits/openapi.py \
  api/environments/identities/traits/serializers.py \
  api/environments/identities/traits/constants.py \
  api/util/engine_models/identities/traits/types.py \
  api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py \
  docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx
do
  echo "===== $f ====="
  wc -l "$f"
done

echo "===== rg trait_value / maxLength ====="
rg -n "trait_value|maxLength|2000" \
  api/environments/identities/traits/openapi.py \
  api/environments/identities/traits/serializers.py \
  api/environments/identities/traits/constants.py \
  api/util/engine_models/identities/traits/types.py \
  api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py \
  docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx

Repository: Flagsmith/flagsmith

Length of output: 8186


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "===== api/environments/identities/traits/constants.py ====="
cat -n api/environments/identities/traits/constants.py

echo "===== api/environments/identities/traits/serializers.py ====="
cat -n api/environments/identities/traits/serializers.py

echo "===== api/environments/identities/traits/openapi.py ====="
cat -n api/environments/identities/traits/openapi.py

echo "===== api/util/engine_models/identities/traits/types.py ====="
cat -n api/util/engine_models/identities/traits/types.py

echo "===== api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py ====="
cat -n api/tests/unit/environments/identities/traits/test_unit_traits_serializers.py

Repository: Flagsmith/flagsmith

Length of output: 11146


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "===== usages of TRAIT_STRING_VALUE_MAX_LENGTH ====="
rg -n "TRAIT_STRING_VALUE_MAX_LENGTH|StringConstraints|max_length=2000|2000" api docs frontend

echo "===== TraitValueField definition ====="
fd -a 'fields.py' api/environments/identities/traits api/util/engine_models/identities/traits
cat -n api/environments/identities/traits/fields.py

echo "===== SDK serializer and view usage ====="
rg -n "SDKBulkCreateUpdateTraitSerializer|TraitValueField|TraitValueFieldExtension|traits" api/environments api/tests/unit/environments api/tests/integration/environments

Repository: Flagsmith/flagsmith

Length of output: 50376


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "===== usages of TRAIT_STRING_VALUE_MAX_LENGTH ====="
rg -n "TRAIT_STRING_VALUE_MAX_LENGTH|StringConstraints|max_length=2000|2000" api docs frontend

echo "===== TraitValueField definition ====="
cat -n api/environments/identities/traits/fields.py

echo "===== SDK serializer and view usage ====="
rg -n "SDKBulkCreateUpdateTraitSerializer|TraitValueField|TraitValueFieldExtension|traits" api/environments api/tests/unit api/tests/integration

Repository: Flagsmith/flagsmith

Length of output: 50376


Restore the 2000-character limit for traits[].trait_value
docs/docs/sdk-api/sdk-v-1-post-identities.api.mdx:57-65 now advertises arbitrary-length strings, but the API still caps string traits at 2000 characters. Update the schema to match the server-side limit, or widen the validator too.

🧰 Tools
🪛 Betterleaks (1.6.0)

[high] 8-8: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant