Get a kit
Fetch one curated tool collection by its id.
On this page
Returns one kit in exactly the shape List kits returns
inside data, with its tools resolved and filtered the same way.
Prefer the listing when you are building a picker: it is unpaged and returns every kit in one request, so fetching kits one at a time is slower for no gain. Reach for this endpoint when you already hold an id, such as one you stored as a user's last-used kit, and want to refresh just that kit.
https://api2.rundiffusion.com/api/v2/kits/{kit_id}Request
Headers
AuthorizationstringRequired- Bearer token. This endpoint accepts an OAuth device flow token, a Personal API Access Token, or a Company API Access Token. See Authentication.
Authorization: Bearer eyJhbGciOi…
Path
kit_idstringRequired- The id of a kit from the list response, such as image or imageEdit. An id you cannot see returns 404.
https://api2.rundiffusion.com/api/v2/kits/image
Query
team_idstringoptional- The team to read as. Omit it to read as your personal account. This endpoint acts on one account, so pass exactly one id. Which tools resolve inside the kit depends on what the selected account can run.
https://api2.rundiffusion.com/api/v2/kits/image?team_id=Tq8vNc…
No body.
Response
200 OK with the kit object, unwrapped. There is no data envelope here: the
listing wraps because it returns a collection, and this returns one kit.
{
"id": "image",
"label": "Image",
"icon": "mdi-image",
"description": "Generate images from a prompt",
"kit_tags": ["Featured", "Anime", "Other"],
"default_tool_id": "Xq2b…",
"tools": [
{
"tool": {
"id": "Xq2b…",
"name": "Flux Dev",
"description": "High-quality text to image",
"avatar_url": "https://rundiffusion.com/...",
"average_gen_in_seconds": 8.4,
"tool_tags": [
{ "id": "tg_1…", "type": "MODEL_FAMILY", "label": "Flux" }
],
"pricing_type": "COST",
"tokens_per_result": 2
},
"kit_tags": ["Featured"],
"labels": [
{ "id": "label:fast", "icon": "mdi-flash", "label": "Fast" }
]
}
]
}Every field is documented on the listing page, under Kit object and Tool entry. The two responses cannot disagree about a kit: this endpoint resolves the same listing and selects from it rather than running a separate query.
Why a kit reads as missing
A 404 covers three situations that answer alike on purpose:
- No kit has that id.
- The kit exists but is not published.
- The kit is published but is not shown for the client you signed in from.
Telling them apart would reveal a kit that is deliberately being withheld, so
handle 404 as "not available to you" rather than "does not exist". What a
caller can see is explained under
What you can see.
Errors
401UNAUTHENTICATED- Missing, malformed, or expired token.
403PLUGIN_NOT_ALLOWED- The active team has not enabled the client you are calling from. See OAuth device flow.
404KIT_NOT_FOUND- No kit with that id that this caller can see. See Why a kit reads as missing below.
429RATE_LIMITED- Too many requests. Back off and retry per the Retry-After header. See Rate limits.
See Errors for the full envelope and the code list.
