Skip to content

Add streaming variant of raw request method #298

@SoulPancake

Description

@SoulPancake

Checklist

Describe the problem you'd like to have solved

Currently, the OpenFGA SDKs provide typed methods for specific API endpoints (check, write, read, etc.). However, there is no way to call arbitrary OpenFGA API endpoints that may not yet have dedicated SDK methods. This creates a gap when:

New OpenFGA API endpoints are released but SDK updates have not been implemented yet
Experimental endpoints need to be tested
Developers need a temporary alternative while waiting for official SDK support
Without a raw request method, developers are forced to either wait for SDK updates, or fork and modify the SDK code themselves, or call the OpenFGA API directly without the SDK, losing the benefits of SDK authentication, configuration, and error handling patterns. This reduces developer agility and creates friction in adopting new OpenFGA features.

Describe the ideal solution

Add a raw request method to the SDKs that allows developers to make arbitrary HTTP requests to any OpenFGA API endpoint while still leveraging the SDK's authentication, configuration, and error handling patterns.

This would provide an escape hatch for developers while maintaining consistency with the SDK's configuration. The typed methods would remain the recommended approach for standard API calls, while the raw request method provides flexibility during early adoption of new features.

Alternatives and current workarounds
Fork and modify the SDK code
Call the OpenFGA API directly without the SDK
Neither workaround is ideal.

References
openfga/sdk-generator#658 is the non-streaming variant of this feature
OpenFGA roadmap item: openfga/roadmap#88

Alternatives and current workarounds

No response

References

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Intake

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions