Skip to content
DecisionNodeDecisionNdedocs
  • Guides
  • API reference
  • Examples
  • Playground

start here

  • QuickstartGet startedGet an API key, send one request with three questions, and branch your code on the typed answers. Plain HTTPS, nothing to install.
  • POST /v1/decideAPI referenceAnswer typed questions about a state, optional images and video frames. One request, one buffered JSON response, one answer per question.
  • QuestionsConceptsQuestions say what to decide. Each one has a type that fixes the shape of its answer: a choice from your options, a score on your scale, a…
  • ConfidenceConceptsProbabilities are calibrated per question type, so a threshold means what it says on the data we measure.
  • ImagesConceptsSend up to 16 images and text in the same request. The model reads printed and handwritten text, amounts, dates, objects and layout, and…
  • Pricing and billingYou pay for input tokens only. Output is free because the model generates no text.
↑↓ moveopen6 suggestions
Get API keyGet API key
DecisionNodeDecisionNde

Get started

  • Introduction
  • Quickstart
  • CLI
  • Playground
  • Console and keys
  • With coding agents
  • MCP server
  • Examples

Concepts

  • State
  • Questions
  • Choice
  • Score
  • Truth
  • Number
  • Points and boxes
  • Images
  • Video
  • Boosters
  • Collections
  • Confidence
  • Determinism
  • API keys

Models

  • DecisionNode MoE
  • DecisionNode Flash
  • Limits
  • Versions
  • Dedicated capacity

Fine-tuning

  • Overview
  • Prepare your dataset
  • Upload and validation
  • Start a training run
  • Watch a run
  • The quality gate
  • Use your model
  • Limits and pricing

Patterns

  • Confidence-gated routing
  • Fan-out
  • Guardrails
  • Control loops

Integrations

  • Home Assistant
  • MQTT bridge
  • ROS 2

API reference

  • Overview
  • POST/v1/decide
  • GET/v1/models
  • POST/v1/uploads
  • Errors
  • Safety check
  • Rate limits

Sessions API

  • Sessions overview
  • POSTOpen a session
  • WSStream frames
  • DELEnd a session

Collections API

  • Overview
  • POSTCreate a collection
  • GETList collections
  • GETRetrieve a collection
  • DELDelete a collection
  • POSTEnroll a face
  • GETList items
  • PATCHUpdate an item
  • DELDelete an item

Pricing and billing

  • Pricing and billing
  • Refer & earn

Policies

  • Responsible use
  • Data and privacy
  • Benchmarks
  • Pricing
  • Playground
Get API key
  • Guides
  • API reference
  • Examples
  • Playground

Get started

  • Introduction
  • Quickstart
  • CLI
  • Playground
  • Console and keys
  • With coding agents
  • MCP server
  • Examples

Concepts

  • State
  • Questions
  • Choice
  • Score
  • Truth
  • Number
  • Points and boxes
  • Images
  • Video
  • Boosters
  • Collections
  • Confidence
  • Determinism
  • API keys

Models

  • DecisionNode MoE
  • DecisionNode Flash
  • Limits
  • Versions
  • Dedicated capacity

Fine-tuning

  • Overview
  • Prepare your dataset
  • Upload and validation
  • Start a training run
  • Watch a run
  • The quality gate
  • Use your model
  • Limits and pricing

Patterns

  • Confidence-gated routing
  • Fan-out
  • Guardrails
  • Control loops

Integrations

  • Home Assistant
  • MQTT bridge
  • ROS 2

API reference

  • Overview
  • POST/v1/decide
  • GET/v1/models
  • POST/v1/uploads
  • Errors
  • Safety check
  • Rate limits

Sessions API

  • Sessions overview
  • POSTOpen a session
  • WSStream frames
  • DELEnd a session

Collections API

  • Overview
  • POSTCreate a collection
  • GETList collections
  • GETRetrieve a collection
  • DELDelete a collection
  • POSTEnroll a face
  • GETList items
  • PATCHUpdate an item
  • DELDelete an item

Pricing and billing

  • Pricing and billing
  • Refer & earn

Policies

  • Responsible use
  • Data and privacy
  1. docs
  2. /
  3. Collections API

List items

A page of your collection's items: all of them newest first, or those of one reference or reference prefix in reference order.

on this page5 sections
  1. Headers
  2. Path parameters
  3. Query parameters
  4. Response
  5. Errors
GEThttps://api.decisionnode.com/v1/collections/{id}/items
curl https://api.decisionnode.com/v1/collections/col_3f6c1a9e0b2d4c7f8a1e5d9b2c4f6a80/items?limit=20 \
  -H "Authorization: Bearer $DECISIONNODE_API_KEY"

By reference: the SDK releases list items without a reference filter, so send the query over HTTPS.

Every item of one reference
curl https://api.decisionnode.com/v1/collections/col_3f6c1a9e0b2d4c7f8a1e5d9b2c4f6a80/items?reference=emp-1042 \
  -H "Authorization: Bearer $DECISIONNODE_API_KEY"

Headers#

Authorizationheaderrequired
Bearer dn_live_.... A Full access key: every call acts for that key's workspace only, and a Decisions-only key gets 403 key_scope_denied, "This key may only make decisions."

Path parameters#

idstringrequired
The collection: col_ and 32 hex digits for your own, or a public collection's name, celebrities.

Query parameters#

offsetintegerdefault 0
Items to skip, 0 or more.
limitintegerdefault 20
Items in the page, 1 to 100.
referencestring
Only the items of this reference, exactly: 1 to 64 characters of A-Z, a-z, 0-9 and _ . : -.
reference_prefixstring
Only the items whose reference starts with this, in the same characters. Not with reference.

Response#

200 OK with a page. Without a filter the items are newest first and total counts them all. With reference or reference_prefix they come in reference order (byte order, then the item id), and total counts the matches up to 10,000: past that it is 10,000 and total_capped is true. Pass next_offset as offset for the next page, until it is null. A template never leaves the service.

200 OK
{
  "items": [
    {
      "id": "itm_9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d",
      "reference": "emp-1042",
      "label": "Anna, reception",
      "metadata": {
        "department": "reception",
        "badge": 1042,
        "visitor": false
      },
      "created_at": "2026-10-12T09:00:00Z"
    }
  ],
  "offset": 0,
  "limit": 20,
  "total": 1,
  "total_capped": false,
  "next_offset": null,
  "reference": null,
  "reference_prefix": null
}

The page

itemsarray
Item objects.
offset, limitinteger
As asked, or their defaults.
totalinteger
Every item, or the matches of a filter counted to 10,000.
total_cappedboolean
true when a filter matched more than 10,000.
next_offsetinteger or null
The next page's offset; null on the last.
reference, reference_prefixstring or null
The filter applied, null when not sent.

Errors#

  • 400

    Type
    api_usage_error
    When
    offset not an integer of at least 0, limit not 1 to 100, reference and reference_prefix both sent, or either outside its characters; the message names the parameter
    What to do
    Fix the query
  • 401

    Type
    authentication_error
    When
    The key is missing, unknown or revoked
    What to do
    Check the Authorization header
  • 403

    Type
    key_scope_denied
    When
    A Decisions-only key: "This key may only make decisions."
    What to do
    Use a Full access key on your server
  • 403

    Type
    collection_read_only
    When
    The collection is a public one: "<name> is a public collection and cannot be changed or listed."
    What to do
    Act on one of your own collections
  • 404

    Type
    collection_not_found
    When
    No such collection for your workspace; another workspace's reads the same. "Collection not found: <id>.", the id repeated only when it has the form of one
    What to do
    Check the id
  • 429

    Type
    rate_limit_error
    When
    Over your request rate
    What to do
    Wait Retry-After, then send the same call again
  • 500

    Type
    api_error
    When
    A fault on our side
    What to do
    Retry with backoff
  • 529

    Type
    overloaded_error
    When
    The collections cannot take the call right now
    What to do
    Wait Retry-After (1 s, or 1 to 2 s when the key store is busy), then retry
Errors this call returns
StatusTypeWhenWhat to do
400api_usage_erroroffset not an integer of at least 0, limit not 1 to 100, reference and reference_prefix both sent, or either outside its characters; the message names the parameterFix the query
401authentication_errorThe key is missing, unknown or revokedCheck the Authorization header
403key_scope_deniedA Decisions-only key: "This key may only make decisions."Use a Full access key on your server
403collection_read_onlyThe collection is a public one: "<name> is a public collection and cannot be changed or listed."Act on one of your own collections
404collection_not_foundNo such collection for your workspace; another workspace's reads the same. "Collection not found: <id>.", the id repeated only when it has the form of oneCheck the id
429rate_limit_errorOver your request rateWait Retry-After, then send the same call again
500api_errorA fault on our sideRetry with backoff
529overloaded_errorThe collections cannot take the call right nowWait Retry-After (1 s, or 1 to 2 s when the key store is busy), then retry

A refusal is {"detail": {"error_type": "...", "message": "..."}}; a 422 is {"detail": [...]}, one entry per field, each with type, loc, msg and input (a string cut to 64 characters, an object or array never echoed). Every 429 and 529 and the 409 idempotency_in_progress carry Retry-After (seconds) and retry-after-ms (milliseconds); enrollment_unpriced carries neither. The Collections API's own refusals (api_usage_error, collection_read_only, item_not_found, collections_region_unavailable, the limits, the idempotency 409s and image_url_refused) also carry x-decisionnode-error, the message in ASCII. Retry 408, 429, 529 and any 5xx after Retry-After; fix the call for the other 4xx.

previousEnroll a facenextUpdate an item

DecisionNode is built and run by Bynn Intelligence, Inc.

  • Home
  • Playground
  • Examples
  • Console
  • Responsible use
  • Terms
  • Acceptable use
  • Privacy
  • Data processing
  • Defence addendum
  • Cookies
  • Affiliate program

on this page

  1. Headers
  2. Path parameters
  3. Query parameters
  4. Response
  5. Errors