Create Organization API key

Description

Create a new API key for an organization. An API key can be used to programatically invoke the Nabto cloud API. All options are optional, however, if a key is not provided it must be set by modifying the API key before the API key is usefull. The isAdmin field can only be set by admins.

Request

POST /v1/organizations/:organizationId/apikeys
{
  key?: string,
  name?: string,
  enforceIpWhitelist?: boolean,
  isAdmin?: boolean,
  actions?: string[],
  ipWhiteList?: {
    ip: string,
    name?: string
  }[]
}

Response

Successful response contains the following JSON formated body:

{
  organizationId: string,
  apikeyId: string,
  name: string,
  enforceIpWhitelist: boolean,
  isAdmin: boolean,
  actions: string[],
  ipWhiteList: {
    ip: string,
    name?: string
  }[],
  created: string
}

Response Status codes:

  • 200 on success

Request headers

This request must have the following headers:

  • Authorization: bearer <ApiKey>
  • Content-Type: application/json

Example

Request

curl -XPOST "https://api.cloud.nabto.com/v1/organizations/:organizationId/apikeys" \
  -H "Authorization: Bearer <ApiKey>" \
  -H "Content-Type: application/json" \
  -d '{ "key": "<key>", "name": "friendly name", "enforceIpWhitelist": true, "isAdmin": true, "actions":[ "nabto5:write",...], "ipWhiteList": [{ "ip": "10.0.0.42", "name": "friendly name" }, ...],}'

Response

{
   "organizationId": "or-lmnopqrs",
  "apikeyId": "ak-1234pqrs",
  "name": "friendly name",
  "enforceIpWhitelist": true,
  "isAdmin": true,
  "actions":[ "nabto5:write",
  ...],
  "ipWhiteList": [{
     "ip": "10.0.0.42",
    "name": "friendly name" 
  },
  ...],
  "created": "2022-10-18T10:17:24.299Z"
}