Skip to content

feat: ApiExecutor docs#1241

Open
SoulPancake wants to merge 6 commits intomainfrom
feat/apiexecutor-docs
Open

feat: ApiExecutor docs#1241
SoulPancake wants to merge 6 commits intomainfrom
feat/apiexecutor-docs

Conversation

@SoulPancake
Copy link
Copy Markdown
Member

@SoulPancake SoulPancake commented Apr 14, 2026

Description

What problem is being solved?

How is it being solved?

What changes are made to solve it?

References

Review Checklist

  • I have clicked on "allow edits by maintainers".
  • I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
  • The correct base branch is being used, if not main
  • I have added tests to validate that the change in functionality is working as expected

Summary by CodeRabbit

  • Documentation
    • Updated configuration documentation to reflect latest version (v1.14.1) with new options and adjusted defaults.
    • Added new guide for calling raw API endpoints using SDK API Executors, including examples across multiple languages, streaming requests, and error handling patterns.
    • Enhanced navigation with new "Calling Other Endpoints" section.

@SoulPancake SoulPancake requested review from a team as code owners April 14, 2026 13:42
Copilot AI review requested due to automatic review settings April 14, 2026 13:42
@SoulPancake SoulPancake requested a review from a team as a code owner April 14, 2026 13:42
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 14, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5f8f2fdf-377b-4c26-a134-77f0595d3f72

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

Documentation updates that introduce comprehensive OpenFGA v1.14.1 configuration reference, add guidance for invoking API endpoints via SDK API Executors, and extend navigation with new documentation sections.

Changes

Cohort / File(s) Summary
Configuration Documentation
docs/content/getting-started/setup-openfga/configuration.mdx
Updated configuration options documentation from v1.8.9 to v1.14.1 with adjusted defaults (resolveNodeBreadthLimit, playground.enabled), new options (listObjectsPipelineEnabled, readChangesMaxPageSize, authzen.baseURL, datastore secondary connection settings, OTEL tracing aliases), reorganized cache invalidation and throttling controls, and added iterator sharing and planner configuration options.
API Executor Documentation
docs/content/interacting/raw-api-requests.mdx
New page documenting how to invoke OpenFGA endpoints not yet available as SDK methods, including request construction examples across multiple languages, path parameter templating with URL encoding, response decoding patterns, streaming request handling, error handling, and links to per-SDK reference implementations.
Navigation & Sidebar Updates
docs/content/interacting/overview.mdx, docs/sidebars.js, static/llms.txt
Added navigation card and sidebar entry linking to new "Calling Other Endpoints" documentation, extended LLM documentation index with Authorization for Agents section, AuthZEN API link, and Modeling ABAC reference.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~20 minutes

Possibly related PRs

  • feat: AuthZen docs #1210: AuthZEN documentation directly relates to the new authzen.baseURL configuration option and experimentals flag changes introduced in configuration updates.
  • Add Duplicate Writes documentation #1105: Also modifies docs/content/getting-started/setup-openfga/configuration.mdx with configuration schema version and option updates.

Suggested reviewers

  • rhamzeh
  • aaguiarz
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: ApiExecutor docs' accurately describes the main change—adding documentation for the ApiExecutor feature across multiple files and sidebars.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/apiexecutor-docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/content/interacting/raw-api-requests.mdx (2)

725-729: Consider adding a JavaScript SDK example link for parity.

This section lists examples for four SDKs; adding JS here would match the tabs above and improve completeness.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/content/interacting/raw-api-requests.mdx` around lines 725 - 729, Add a
JavaScript SDK example link to the SDK examples list to match the other SDK
entries: insert a new list item like "-
[JavaScript](https://github.com/openfga/js-sdk/tree/main/example)" (label
"JavaScript") alongside the existing Go/.NET/Python/Java lines so the tabs have
parity; edit the list block that currently contains the four SDK links and add
the JavaScript entry.

24-25: Add minimum SDK versions to clarify API Executor feature availability.

The documentation makes broad claims about API Executor support but omits minimum SDK versions. Given SDK-specific method references throughout the page, adding version anchors helps prevent version-skew confusion.

Based on official releases, consider documenting these minimum versions:

  • JavaScript: v0.9.3 (executeApiRequest, executeStreamedApiRequest)
  • Go: v0.7.0 (APIExecutor, ExecuteStreaming)
  • .NET: v0.10.0 (ApiExecutor, ExecuteStreamingAsync)
  • Python: v0.10.0 (execute_api_request, execute_streamed_api_request)
  • Java: v0.9.7+ (ApiExecutor, StreamingApiExecutor)

Add a table or version note early in the section (near line 24) to clarify which versions support which features.

Also applies to: 49–717

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/content/interacting/raw-api-requests.mdx` around lines 24 - 25, Add a
short "Minimum SDK versions" note near the start of the API Executor section
that lists per-language minimum releases and the specific API Executor symbols
so readers know when features are available; include JavaScript: v0.9.3
(executeApiRequest, executeStreamedApiRequest), Go: v0.7.0 (APIExecutor,
ExecuteStreaming), .NET: v0.10.0 (ApiExecutor, ExecuteStreamingAsync), Python:
v0.10.0 (execute_api_request, execute_streamed_api_request), and Java: v0.9.7+
(ApiExecutor, StreamingApiExecutor), and ensure the note is placed before the
first mention of the executor methods to prevent version-skew confusion.
docs/content/getting-started/setup-openfga/configuration.mdx (1)

206-206: Tighten wording in two updated descriptions.

Line 206 (beyond above) and Line 221 (planners estimation) read awkwardly; a quick copy edit would improve clarity.

✍️ Suggested wording tweaks
-| `listObjectsDispatchThrottling.maxThreshold` | <div id="OPENFGA_LIST_OBJECTS_DISPATCH_THROTTLING_MAX_THRESHOLD"><code>OPENFGA_LIST_OBJECTS_DISPATCH_THROTTLING_MAX_THRESHOLD</code></div> | `list-objects-dispatch-throttling-max-threshold` | integer | define the maximum dispatch threshold beyond above which requests will be throttled for a ListObjects request. 0 will use the 'dispatchThrottling.threshold' value as maximum | `0` |
+| `listObjectsDispatchThrottling.maxThreshold` | <div id="OPENFGA_LIST_OBJECTS_DISPATCH_THROTTLING_MAX_THRESHOLD"><code>OPENFGA_LIST_OBJECTS_DISPATCH_THROTTLING_MAX_THRESHOLD</code></div> | `list-objects-dispatch-throttling-max-threshold` | integer | define the maximum dispatch threshold above which requests will be throttled for a ListObjects request. 0 will use the 'dispatchThrottling.threshold' value as maximum | `0` |

-| `planner.initialGuess` | <div id="OPENFGA_PLANNER_INITIAL_GUESS"><code>OPENFGA_PLANNER_INITIAL_GUESS</code></div> | `planner-initial-guess` | string (duration) | The initial guess for the planners estimation. | `10ms` |
+| `planner.initialGuess` | <div id="OPENFGA_PLANNER_INITIAL_GUESS"><code>OPENFGA_PLANNER_INITIAL_GUESS</code></div> | `planner-initial-guess` | string (duration) | The initial guess for the planner's estimation. | `10ms` |

Also applies to: 221-221

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/content/getting-started/setup-openfga/configuration.mdx` at line 206,
Edit the two awkward phrasings in the OpenFGA config docs: for the
`listObjectsDispatchThrottling.maxThreshold` description replace "beyond above
which" (or "beyond above") with "beyond which" so it reads "define the maximum
dispatch threshold beyond which requests will be throttled for a ListObjects
request", and for the other description change "planners estimation" to
"planner's estimation" (or "planner estimation" if you prefer no possessive) so
the intent is clear; update the text where those phrases appear (search for the
exact strings "beyond above" and "planners estimation") to apply these copy
edits.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/content/getting-started/setup-openfga/configuration.mdx`:
- Line 222: The Type column for the config entry is empty; update the table row
for planner.evictionThreshold (OPENFGA_PLANNER_EVICTION_THRESHOLD /
planner-eviction-threshold) to specify its type as a duration (e.g., "Duration"
or "string (duration)") so it’s clear this value represents a time interval and
not a numeric count.

In `@docs/content/interacting/raw-api-requests.mdx`:
- Around line 112-113: The examples call WithPathParameter("store_id", storeID)
(and similar storeId usage) without defining the storeID/storeId variable;
update the examples to declare and assign a value to storeID/storeId before
using it (e.g., const storeID = "<your-store-id>" or show retrieval from
context) so the snippet is copy-paste runnable, and make the same change for the
repeated occurrence around the WithQueryParameter("page_size", "20") example.

---

Nitpick comments:
In `@docs/content/getting-started/setup-openfga/configuration.mdx`:
- Line 206: Edit the two awkward phrasings in the OpenFGA config docs: for the
`listObjectsDispatchThrottling.maxThreshold` description replace "beyond above
which" (or "beyond above") with "beyond which" so it reads "define the maximum
dispatch threshold beyond which requests will be throttled for a ListObjects
request", and for the other description change "planners estimation" to
"planner's estimation" (or "planner estimation" if you prefer no possessive) so
the intent is clear; update the text where those phrases appear (search for the
exact strings "beyond above" and "planners estimation") to apply these copy
edits.

In `@docs/content/interacting/raw-api-requests.mdx`:
- Around line 725-729: Add a JavaScript SDK example link to the SDK examples
list to match the other SDK entries: insert a new list item like "-
[JavaScript](https://github.com/openfga/js-sdk/tree/main/example)" (label
"JavaScript") alongside the existing Go/.NET/Python/Java lines so the tabs have
parity; edit the list block that currently contains the four SDK links and add
the JavaScript entry.
- Around line 24-25: Add a short "Minimum SDK versions" note near the start of
the API Executor section that lists per-language minimum releases and the
specific API Executor symbols so readers know when features are available;
include JavaScript: v0.9.3 (executeApiRequest, executeStreamedApiRequest), Go:
v0.7.0 (APIExecutor, ExecuteStreaming), .NET: v0.10.0 (ApiExecutor,
ExecuteStreamingAsync), Python: v0.10.0 (execute_api_request,
execute_streamed_api_request), and Java: v0.9.7+ (ApiExecutor,
StreamingApiExecutor), and ensure the note is placed before the first mention of
the executor methods to prevent version-skew confusion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 63e4a3d8-9784-4eab-85ae-ff304ff3513f

📥 Commits

Reviewing files that changed from the base of the PR and between 91c74a4 and 032f081.

📒 Files selected for processing (5)
  • docs/content/getting-started/setup-openfga/configuration.mdx
  • docs/content/interacting/overview.mdx
  • docs/content/interacting/raw-api-requests.mdx
  • docs/sidebars.js
  • static/llms.txt

Comment thread docs/content/getting-started/setup-openfga/configuration.mdx
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 14, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://openfga.github.io/openfga.dev/pr-preview/pr-1241/

Built to branch gh-pages at 2026-04-16 07:29 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation for using the SDK “API Executor” to make raw HTTP calls (including streaming), and wires the new page into the docs navigation.

Changes:

  • Added a new “Calling Other Endpoints” page describing API Executor usage across SDKs (JS/Go/.NET/Python/Java), including streaming and error handling.
  • Linked the new page from the Interacting section (sidebar + overview cards) and from static/llms.txt.
  • Updated the “Setup OpenFGA configuration options” table to reference OpenFGA server v1.14.1 and expanded/adjusted listed options.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
static/llms.txt Adds new modeling + interacting links for indexing/discovery.
docs/sidebars.js Adds “Calling Other Endpoints” to the Interacting with the API sidebar.
docs/content/interacting/raw-api-requests.mdx New API Executor documentation page with multi-language examples (including streaming).
docs/content/interacting/overview.mdx Adds a card entry pointing to the new page.
docs/content/getting-started/setup-openfga/configuration.mdx Updates referenced OpenFGA version and refreshes/expands configuration options table.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/getting-started/setup-openfga/configuration.mdx
Comment thread docs/content/getting-started/setup-openfga/configuration.mdx
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
Comment thread docs/content/interacting/raw-api-requests.mdx
Comment thread docs/content/interacting/raw-api-requests.mdx Outdated
@SoulPancake SoulPancake requested a review from rhamzeh April 16, 2026 07:27
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.

3 participants