Using the MEDKit REST API¶
Use this page to choose a route group, then follow the linked generated operation page for the request and response schema.
Base URLs¶
| Environment | Base URL | Contract scope |
|---|---|---|
| Production | https://api.muxy.io/v1/e |
All operations in rest-v1.yaml |
| Sandbox | https://sandbox.api.muxy.io/v1/e |
Development host; sandbox-v1.yaml documents the sandbox-only token operation |
Production and sandbox are separate environments. Use the same REST route path on the sandbox host when testing, but use a sandbox JWT. The sandbox contract does not duplicate the production route catalog: it contains only POST /authtoken. See Developing in the Sandbox for sandbox behavior.
Authorization¶
Every operation in rest-v1.yaml requires this header:
Authorization: <Twitch Extension Client ID> <Muxy JWT>
The client ID and JWT are separated by one space; this is not a Bearer scheme. The only documented exception is sandbox POST /authtoken, which does not require authorization and returns sandbox-only JWTs.
JSON request bodies¶
Send JSON bodies with Content-Type: application/json. In the canonical v1 contract, state and configuration POST and PATCH operations declare an array of RFC 6902 JSON Patch operations, not a bare object:
[
{ "op": "add", "path": "/settings/enabled", "value": true }
]
Each path is a JSON Pointer. Follow the generated operation page for the exact method-specific contract; do not infer a replacement-object body from legacy prose or examples.
Route groups¶
| Group | Paths | Navigation |
|---|---|---|
| Configuration | /config, /config/channel, /config/extension |
Config API |
| State | /all_state, /channel_state, /extension_state, /extension_viewer_state, /viewer_state |
State API |
| Aggregation | /accumulate, /rank |
Aggregation API |
| Communication | /broadcast, /extension_broadcast, /whisper_self |
Communication API |
| Sandbox authorization | /authtoken |
Authorization for Testing |