Unsupported boundary
Which platform APIs does the SDK call, and are they supported for third-party use? This page answers that question for security and procurement reviews.
The maintained list lives in the repository at
docs/unsupported-boundary.md.
It is separate from the verification ledger : the
ledger records how a fact was established, while this page records whether
MuleSoft publishes the contract for third-party use.
Every platform API the SDK calls is classified:
| Classification | Meaning |
|---|---|
| Documented and public | Safe to depend on. |
| Documented, no SLA for third-party use | May break; we’ll fix. |
| Undocumented | Should be empty. Anything here needs a written justification and an owner. |
Current boundary
The SDK reaches two platform destinations: the Anypoint connected-app token endpoint and the Model Proxy. The rows below classify each contract it consumes there. Any feature that would need an unconfirmed endpoint stops before making a network request.
| Destination / contract | Classification | SDK use |
|---|---|---|
| Anypoint connected-app token endpoint | Documented and public | Retrieves an OAuth bearer token with client credentials. |
Model Proxy OpenAI-format /responses endpoint | Documented and public | Sends buffered or streaming model requests with the documented client_id / client_secret headers and reads OpenAI-format usage. The raw client can also call documented OpenAI-native routes such as /chat/completions; /responses is the route tested against a deployed proxy. |
| Model Proxy policy refusals (observed) | Documented and public | Classifies Client ID Enforcement, token-rate-limit, PII, Regex Prompt Guard, Azure Content Safety, and Amazon Bedrock Guardrails responses captured from a deployed proxy. |
| Model Proxy policy refusals (from documentation) | Documented and public | Classifies Injection Protection responses from its official policy page. |
| Upstream provider error pass-through | Documented, no SLA for third-party use | Classifies the nested non-429 4xx provider envelope as UpstreamRequestError; generic 5xx responses become UpstreamModelError by status only. The envelope schema belongs to the upstream provider, and MuleSoft’s public Model Proxy page states no pass-through compatibility contract. |
x-llm-proxy-ratelimit success-budget sentence | Documented, no SLA for third-party use | Updates donkey.budget; an absent or changed value is ignored. |
| Gateway identity and routing extension headers | Documented, no SLA for third-party use | Populates donkey.last_call; missing or unrecognised values become None. |
Exchange search and resolution, API Manager governed-state reads, MCP
discovery and binding, and provisioning/publication are
Roadmap — not hidden dependencies. Today they
raise NotImplementedError before making any network request. The SDK also
never calls a Model Proxy /models endpoint, because the proxy has no model
catalog endpoint.
The full ledger links each contract to its official documentation, SDK consumer, evidence, and maintenance owner. Its Undocumented surfaces section is empty.
Support statement
Donkey Development Kit is an independent, community-maintained project with best-effort maintainer support and no SLA. It is not affiliated with, endorsed by, or supported by Salesforce or MuleSoft. “Agent Fabric”, “Anypoint”, and “Omni Gateway” are Salesforce trademarks.
Why the boundary stays small
The SDK doesn’t invent endpoints: every call it makes is against a classified, known API, or it doesn’t happen at all. See the verification ledger .