Skip to content
Uno Docs

AccountService

AccountService identifies the caller and reports the caller's storage.

Caller operations derive authority from credentials, never request account ids. GetPublicProfile publishes only identity fields for a namespace, without credentials. Conventions and error codes: see common.proto.

CreatePurchase

POST/rpc/uno.kit.v1.AccountService/CreatePurchase

Creates or refreshes an Agent purchase, never pays. Same key and inputs returns the result, the unexpired quote, or a fresh quote under the same purchase after quote expiry. Changed inputs are INVALID_ARGUMENT. Writers default off; no payment challenge or offer is issued.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
capacityBytes
string <int64>

Total capacity, not additional blocks: 100 MB through 10 TB in 100 MB steps.

monthsToAdd
string <int64>

Whole nonnegative months. Zero is allowed only for a capacity increase of an active plan whose expiry is at least 1,800 seconds after quote creation.

idempotencyKey
string

Responses

CreateVideoUpload

POST/rpc/uno.kit.v1.AccountService/CreateVideoUpload

Grants one presigned PUT for the source file of a video. The owner comes from the credential, which must belong to a claimed Uno account. The key carries the tag of the owner. The URL signs the exact Content-Length. RESOURCE_EXHAUSTED when no video minute is free.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
sizeBytes
string <int64>

The exact length of the source file in bytes. The PUT must send this Content-Length.

ext
string

The file extension without the dot: mp4, mov, mkv, webm or m4v.

Responses

GetCapabilities

POST/rpc/uno.kit.v1.AccountService/GetCapabilities

The effective limits this server enforces today: staging, read and payment ceilings with their units, names and enforcement operations. A client preflights against these values and reads the same names back in LimitExceeded error details. A raise is a server configuration change that every client picks up.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json

Responses

GetPublicProfile

POST/rpc/uno.kit.v1.AccountService/GetPublicProfile

Returns the public identity linked to a namespace. Unknown, unclaimed, and deleted accounts have no profile. An unverified account has a profile with its username and unverified set. This call needs no credential.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
namespace
string

Responses

GetPurchase

POST/rpc/uno.kit.v1.AccountService/GetPurchase

Owner credentials return the owner projection; no credential returns only the anonymous projection. Another authenticated owner gets NOT_FOUND. Owner point reads are served. Anonymous projection is not yet served.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
purchaseId
string

Opaque ID with at least 128 random bits. Never an owner credential.

quoteId
string | null

Optional earlier quote; omission selects the current quote. Refresh never removes the earlier terms needed for payment recovery.

resultsPageSize
integer
resultsCursor
string

Responses

GetQuota

POST/rpc/uno.kit.v1.AccountService/GetQuota

Returns the caller's storage quota and payment links. Maps the MCP tool uno_quota.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
storageRequest
object

Optional owner pagination; omitted selects the same page as GetStorage.

Responses

GetStorage

POST/rpc/uno.kit.v1.AccountService/GetStorage

Complete owner storage observation, including paginated Kit sizes and recoverable open and paid purchases. Authority comes from credentials.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
kitPageSize
integer
kitCursor
string
purchasePageSize
integer
purchaseCursor
string

Responses

GetVideoJob

POST/rpc/uno.kit.v1.AccountService/GetVideoJob

Reads the state of one video job of the caller. A job of another owner is NOT_FOUND, the same as an unknown job.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
jobId
string

Responses

Pay

POST/rpc/uno.kit.v1.AccountService/Pay

Buys or renews hosting with an MPP Payment credential. Missing payment returns an HTTP 402 challenge. No wallet is charged by this RPC alone. A pending or uncertain payment excludes only its own purchase. Provider attempts remain fixed until settlement or a definitive failure.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
blocks
integer

Number of 100 MB blocks to purchase. Renewal must name the current count.

renew
boolean

Renew an active 30-day term. False adds storage during an active term. A purchase after expiry starts a fresh term with either flag.

idempotencyKey
string

Reuse the same key and Payment credential after an uncertain response.

challenge
string

A challenge to replay. A paid Tempo charge returns its original receipt. An unpaid charge answers HTTP 402 with this challenge, or a fresh one for the same purchase after expiry. tempo request sends the challenge in the body, then pays it and retries. A subscription plan selector is refused.

subscribe
boolean

Request an App Tempo subscription from the storage plan catalog.

cancelSubscription
string

Subscription ID whose future Tempo charges should stop.

receiptOnly
boolean

Read the original receipt for challenge without admitting or refreshing a purchase. Requires only challenge, with no credential or other purchase fields. An unpaid purchase answers NOT_FOUND with reason PURCHASE_NOT_PAID.

purchase
object

Agent purchase action. Exclusive of fields 1-7; its response contains only the anonymous purchase projection, even when a Bearer is supplied. Currently UNIMPLEMENTED, before any legacy payment processing.

subscriptionPlanId
string | null

App subscription plan for subscribe only. Omitted or empty selects the first plan.

Responses

ResolveHandle

POST/rpc/uno.kit.v1.AccountService/ResolveHandle

Resolves a username or a namespace.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
handle
string

The username.

namespace
string

Responses

SubmitVideo

POST/rpc/uno.kit.v1.AccountService/SubmitVideo

Holds video minutes for one uploaded source and starts its vidx job in the same call. The owner comes from the credential, which must belong to a claimed Uno account. Over quota is RESOURCE_EXHAUSTED and holds nothing. A repeat with the same source key returns the same job id. NOT_FOUND when the source is absent or belongs to another owner.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json
sourceKey
string

The key that CreateVideoUpload returned. With the owner, it makes the call idempotent.

declaredDurationMs
string <int64>

The declared length of the source video, in milliseconds. The charge is whole minutes, rounded up.

Responses

WhoAmI

POST/rpc/uno.kit.v1.AccountService/WhoAmI

Returns the caller's account and the server's public endpoints. Maps the MCP tool uno_whoami.

Header Parameters

Connect-Protocol-Version
number·const 1

Define the version of the Connect protocol

Example1
Connect-Timeout-Ms
number

Define the timeout, in ms

Example1000

Request Body

application/json

Responses