Skip to content

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.

GEThttps://api2.rundiffusion.com/api/v2/kits/{kit_id}
AcceptsOAuth device flowPersonal API Access TokenCompany API Access Token

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.

json
{
  "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.

View as Markdown