Skip to content

Saves a new view owned by the caller.

POST
/v1/m/consoleviews/views
curl --request POST \
--url https://example.com/v1/m/consoleviews/views \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "description": "example", "feature_id": "example", "name": "example", "params": {}, "shared": true }'

Saves a new view owned by the caller. Caps are enforced in the same transaction as the insert; the (feature, owner, name) natural key refuses duplicates with a clear 409 (DB unique index as backstop).

X-Olivares-Tenant
string format: uuid

Target tenant id; required when the principal can act in more than one tenant.

The handler decodes one strict JSON document, bounded at 1 MiB.

Media type application/json
object
description
Any of:
string
feature_id
required

Trimmed before validation; must be a lowercase console feature slug.

string
/^[a-z0-9][a-z0-9-]{0,63}$/
name
required

After trimming, must be non-empty and at most 120 UTF-8 bytes.

string
params
required

Console URL state. Its original JSON encoding must be at most 4096 bytes; the handler then trims surrounding whitespace.

object
key
additional properties
any
shared
Any of:
boolean
Example generated
{
"description": "example",
"feature_id": "example",
"name": "example",
"params": {},
"shared": true
}

OK

Media type application/json
object
Example generated
{}

Bad request

Media type application/json
object
Example generated
{}

Unauthenticated

Media type application/json
object
Example generated
{}

Forbidden

Media type application/json
object
Example generated
{}

Not found

Media type application/json
object
Example generated
{}

Conflict / setup required

Media type application/json
object
Example generated
{}

Rate limited

Media type application/json
object
Example generated
{}