Skip to content

Read a Model

GET
/apis/nodus.dev/v1/namespaces/{namespace}/models/{name}
curl --request GET \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/models/example
namespace
required
string

The project.

name
required
string

The object’s name.

OK

Media type application/json

Model is a model callable through the inference data plane, published read-only in the catalog project nodus. Pass spec.id (or an alias) as the model of a request; the rates are what a request is quoted at now.

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

ModelSpec is what the catalog declares about a Model.

object
aliases

Aliases are other ids that name the same model.

Array<string>
nullable
capabilities
required

ModelCapabilities are the request features a Model supports.

object
jsonSchema
required

JSONSchema is true when the model follows a response JSON schema.

boolean
promptCaching
required

PromptCaching is true when repeated prompt prefixes bill at the cache-read rate.

boolean
reasoning
required

Reasoning is true when the model reasons before it answers.

boolean
streaming
required

Streaming is true when responses stream as server-sent events.

boolean
tools
required

Tools is true when the model calls tools.

boolean
contextTokens

ContextTokens is the context window in tokens.

integer format: int64
deprecationTime

DeprecationTime is when the model stops serving, once announced.

string
description

Description says what the model is for.

string
displayName

DisplayName is the model’s human-readable name.

string
family

Family groups related models, such as gpt-oss.

string
id
required

ID is the model id a request names, such as openai/gpt-oss-120b.

string
imageTokenAllowance

ImageTokenAllowance is the input tokens held for each inline image.

integer format: int64
maxOutputTokens

MaxOutputTokens is the most tokens one response generates.

integer format: int64
modalities

ModelModalities lists a Model’s input and output modalities: Text, Image, Audio or Embedding.

object
input

Input are the modalities the model reads.

Array<string>
nullable
output

Output are the modalities the model writes.

Array<string>
nullable
operations

Operations are the inference routes the model serves.

Array<string>
nullable
preview

Preview marks a model that may change or leave the catalog without notice.

boolean
pricing

ModelPricing is a Model’s customer rates as decimal USD strings; a unit the model does not bill is absent.

object
audioMinimumSeconds

AudioMinimumSeconds is the least audio one transcription or translation request is billed for.

integer format: int64
audioPerSecondUSD

AudioPerSecondUSD is the rate of a second of transcribed or translated audio.

string
cacheReadPerMillionTokensUSD

CacheReadPerMillionTokensUSD is the rate of a million input tokens read from the prompt cache.

string
cacheWritePerMillionTokensUSD

CacheWritePerMillionTokensUSD is the rate of a million input tokens written to the prompt cache.

string
inputPerMillionTokensUSD

InputPerMillionTokensUSD is the rate of a million input tokens.

string
outputPerMillionTokensUSD

OutputPerMillionTokensUSD is the rate of a million output tokens.

string
pricebookVersion

PricebookVersion is the pricing version the rates come from, which receipts record.

string
speechPerMillionCharactersUSD

SpeechPerMillionCharactersUSD is the rate of a million characters of generated speech.

string
status

ModelStatus is whether a Model serves requests now.

object
available
required

Available mirrors the Available condition.

boolean
conditions

Conditions carry Ready and Available; both are False with reason UpstreamUnavailable while no route serves the model, and Unknown in a process that does not serve inference.

Array<object>
nullable
object
lastTransitionTime
required
string
message
required
string
observedGeneration
integer format: int64
reason
required
string
status
required
string
type
required
string
phase

Phase is Ready while requests for the model are served, else Pending.

string
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"spec": {
"aliases": [
"example"
],
"capabilities": {
"jsonSchema": true,
"promptCaching": true,
"reasoning": true,
"streaming": true,
"tools": true
},
"contextTokens": 1,
"deprecationTime": "example",
"description": "example",
"displayName": "example",
"family": "example",
"id": "example",
"imageTokenAllowance": 1,
"maxOutputTokens": 1,
"modalities": {
"input": [
"example"
],
"output": [
"example"
]
},
"operations": [
"example"
],
"preview": true,
"pricing": {
"audioMinimumSeconds": 1,
"audioPerSecondUSD": "example",
"cacheReadPerMillionTokensUSD": "example",
"cacheWritePerMillionTokensUSD": "example",
"inputPerMillionTokensUSD": "example",
"outputPerMillionTokensUSD": "example",
"pricebookVersion": "example",
"speechPerMillionCharactersUSD": "example"
}
},
"status": {
"available": true,
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"phase": "example"
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}