Skip to content

Create a new API key

POST
/api/v1/auth/api-keys
curl --request POST \
--url https://api.totalview.energy/api/v1/auth/api-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "Default API Key", "scopes": [ "example" ], "expires_in_days": 1 }'

Generate a new API key for programmatic access to the TotalView API. The raw key is returned ONLY in this response — store it securely.

Usage: curl -H “X-API-Key: tv_live_…” https://api.totalview.energy/api/v1/projects

Media type application/json
ApiKeyCreateRequest
object
name
Name
string
default: Default API Key
scopes
Any of:
Array<string>
expires_in_days
Any of:
integer

Successful Response

Media type application/json
ApiKeyCreatedResponse
object
key_id
required
Key Id
string
name
required
Any of:
string
result_access_level
required
Result Access Level
string
scopes
required
Any of:
Array<string>
is_active
required
Is Active
boolean
last_used_at
required
Any of:
string
created_at
required
Any of:
string
expires_at
required
Any of:
string
key_prefix
required
Key Prefix
string
raw_key
required
Raw Key
string
Example generated
{
"key_id": "example",
"name": "example",
"result_access_level": "example",
"scopes": [
"example"
],
"is_active": true,
"last_used_at": "example",
"created_at": "example",
"expires_at": "example",
"key_prefix": "example",
"raw_key": "example"
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}