Skip to content

Read a CreditGrant

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

The object’s name.

OK

Media type application/json

CreditGrant is promotional or operator credit in its own wallet bucket: the starter grant, a promo code redemption, an admin credit or goodwill. The system and operators create grants; customers read them. A grant is drawn before purchased credit, soonest expiry first, and its unspent remainder expires.

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

CreditGrantSpec is what was granted.

object
amountUSD
required

AmountUSD is the credit granted, such as “30.00”.

string
expirationTime

ExpirationTime is when the unspent remainder expires; unset means it never does.

string
promoCode

PromoCode is the redeemed code, masked to its last four characters (****AB12).

string
reason

Reason is the note shown with the grant.

string
scope

Scope restricts the grant to one kind of usage, such as nodus/auto for Composer model calls; unset grants pay for any usage.

string
source
required

Source is where the grant came from.

string
status

CreditGrantStatus is how much of the grant is left. RemainingUSD + SpentUSD + ExpiredUSD = AmountUSD.

object
conditions

Conditions carry Expired once the remainder has expired.

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

ExpiredUSD is the remainder that expired unspent.

string
grantedTime

GrantedTime is when the credit was added.

string
heldUSD

HeldUSD is the part of RemainingUSD held for running work.

string
remainingUSD

RemainingUSD is the unspent credit, including any held for running work.

string
spentUSD

SpentUSD is what usage has drawn from the grant.

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": {
"amountUSD": "example",
"expirationTime": "example",
"promoCode": "example",
"reason": "example",
"scope": "example",
"source": "example"
},
"status": {
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"expiredUSD": "example",
"grantedTime": "example",
"heldUSD": "example",
"remainingUSD": "example",
"spentUSD": "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"
}