Add new admin endpoints + is_multichain field (DX-5284)#23
Merged
Conversation
Surface four admin endpoints the API now supports but the SDK didn't: get_rate_limits, delete_rate_limit_override, and get_endpoint_urls are new; update_rate_limits switches from the deprecated PUT to the canonical PATCH (signature unchanged). Adds the is_multichain field to Endpoint and SingleEndpoint to match the spec. Also gates the streams_e2e example on the rust feature in crates/core/Cargo.toml — without it, the default-feature build couldn't find CreateStreamParams::builder() (bon-derived under feature = "rust"). One-line manifest fix folded in.
Endpoint ids are numeric, so replace the placeholder "ep-123" with "123" in the new get_rate_limits / delete_rate_limit_override / get_endpoint_urls snippets across all four per-language READMEs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes gaps between the Quicknode Admin OpenAPI spec and the SDK surface. Linear: DX-5284.
AdminApiClient:get_rate_limits(id)— list endpoint rate-limit rows with theirsource(plan_default/user_override) and anyoverride_id.delete_rate_limit_override(id, override_id)— delete a user-set override by UUID.get_endpoint_urls(id)— fetch http/wss URLs (plusmultichain_urls) without pulling the full endpoint.update_rate_limitsnow sendsPATCHinstead of the deprecatedPUT. Signature unchanged; partial-update semantics unchanged.is_multichain: boolon bothEndpointandSingleEndpoint. Markedrequiredin the spec.__init__.py/sdk.d.tsexports updated.delete_rate_limit_override.Also folds in a one-line manifest fix to
crates/core/Cargo.toml:streams_e2ewas missing itsrequired-features = ["rust"]gate, so the default-feature build couldn't findCreateStreamParams::builder()(the derive lives underfeature = "rust"). Unrelated to DX-5284 but tiny and previously blocking--examplesbuilds.Test plan
cargo check && just lint— cleancargo test -p quicknode-sdk --lib— 196 pass (+6 new wiremock tests)just python-build && just node-build && just ruby-build— all cleancargo check -p quicknode-sdk --examples— all 6 examples compile (was failing onstreams_e2ebefore the manifest fix)is_multichain,get_rate_limits,update_rate_limits(PATCH),delete_rate_limit_override(404 path), andget_endpoint_urlsend-to-end.Note
Medium Risk
Adds new admin API surface across Rust/Node/Python/Ruby and changes
update_rate_limitsto usePATCH, which could break callers if the backend still expectsPUTor if partial-update behavior differs. Data model expansion (is_multichain) is low risk but may affect deserialization expectations in generated bindings.Overview
Closes gaps in the Admin SDK by adding three new endpoint helpers:
get_rate_limits(lists enforced rate-limit rows withsourceand optionaloverride_id),delete_rate_limit_override(removes a user override by UUID), andget_endpoint_urls(fetches HTTP/WSS URLs plus optional per-networkmultichain_urls).Changes
update_rate_limitsto sendPATCHinstead ofPUTand updates docs/tests/examples accordingly. Also extends endpoint models with a newis_multichainboolean, wires the new types/methods through the Node/Python/Ruby bindings (exports, stubs/types, module registration, RBS), and fixesstreams_e2eexample gating incrates/core/Cargo.toml.Reviewed by Cursor Bugbot for commit 3ec1de7. Configure here.