Skip to main content
POST
/
v2
/
workspace
/
apikey
/
create
Create API Key
curl --request POST \
  --url https://api.velt.dev/v2/workspace/apikey/create \
  --header 'Content-Type: application/json' \
  --header 'x-velt-workspace-auth-token: <x-velt-workspace-auth-token>' \
  --header 'x-velt-workspace-id: <x-velt-workspace-id>' \
  --data '
{
  "data": {
    "ownerEmail": "<string>",
    "type": "<string>",
    "createAuthToken": true,
    "apiKeyName": "<string>",
    "allowedDomains": [
      "<string>"
    ],
    "addLocalHostToAllowedDomains": true,
    "useEmailService": true,
    "useWebhookService": true,
    "emailServiceConfig": {
      "type": "<string>",
      "apiKey": "<string>",
      "fromEmail": "<string>",
      "fromCompany": "<string>",
      "commentTemplateId": "<string>",
      "tagTemplateId": "<string>"
    },
    "webhookServiceConfig": {
      "authToken": "<string>",
      "rawNotificationUrl": "<string>",
      "processedNotificationUrl": "<string>"
    }
  }
}
'
import requests

url = "https://api.velt.dev/v2/workspace/apikey/create"

payload = { "data": {
"ownerEmail": "<string>",
"type": "<string>",
"createAuthToken": True,
"apiKeyName": "<string>",
"allowedDomains": ["<string>"],
"addLocalHostToAllowedDomains": True,
"useEmailService": True,
"useWebhookService": True,
"emailServiceConfig": {
"type": "<string>",
"apiKey": "<string>",
"fromEmail": "<string>",
"fromCompany": "<string>",
"commentTemplateId": "<string>",
"tagTemplateId": "<string>"
},
"webhookServiceConfig": {
"authToken": "<string>",
"rawNotificationUrl": "<string>",
"processedNotificationUrl": "<string>"
}
} }
headers = {
"x-velt-workspace-id": "<x-velt-workspace-id>",
"x-velt-workspace-auth-token": "<x-velt-workspace-auth-token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-velt-workspace-id': '<x-velt-workspace-id>',
'x-velt-workspace-auth-token': '<x-velt-workspace-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
ownerEmail: '<string>',
type: '<string>',
createAuthToken: true,
apiKeyName: '<string>',
allowedDomains: ['<string>'],
addLocalHostToAllowedDomains: true,
useEmailService: true,
useWebhookService: true,
emailServiceConfig: {
type: '<string>',
apiKey: '<string>',
fromEmail: '<string>',
fromCompany: '<string>',
commentTemplateId: '<string>',
tagTemplateId: '<string>'
},
webhookServiceConfig: {
authToken: '<string>',
rawNotificationUrl: '<string>',
processedNotificationUrl: '<string>'
}
}
})
};

fetch('https://api.velt.dev/v2/workspace/apikey/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.velt.dev/v2/workspace/apikey/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'ownerEmail' => '<string>',
'type' => '<string>',
'createAuthToken' => true,
'apiKeyName' => '<string>',
'allowedDomains' => [
'<string>'
],
'addLocalHostToAllowedDomains' => true,
'useEmailService' => true,
'useWebhookService' => true,
'emailServiceConfig' => [
'type' => '<string>',
'apiKey' => '<string>',
'fromEmail' => '<string>',
'fromCompany' => '<string>',
'commentTemplateId' => '<string>',
'tagTemplateId' => '<string>'
],
'webhookServiceConfig' => [
'authToken' => '<string>',
'rawNotificationUrl' => '<string>',
'processedNotificationUrl' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-workspace-auth-token: <x-velt-workspace-auth-token>",
"x-velt-workspace-id: <x-velt-workspace-id>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.velt.dev/v2/workspace/apikey/create"

payload := strings.NewReader("{\n \"data\": {\n \"ownerEmail\": \"<string>\",\n \"type\": \"<string>\",\n \"createAuthToken\": true,\n \"apiKeyName\": \"<string>\",\n \"allowedDomains\": [\n \"<string>\"\n ],\n \"addLocalHostToAllowedDomains\": true,\n \"useEmailService\": true,\n \"useWebhookService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"commentTemplateId\": \"<string>\",\n \"tagTemplateId\": \"<string>\"\n },\n \"webhookServiceConfig\": {\n \"authToken\": \"<string>\",\n \"rawNotificationUrl\": \"<string>\",\n \"processedNotificationUrl\": \"<string>\"\n }\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-velt-workspace-id", "<x-velt-workspace-id>")
req.Header.Add("x-velt-workspace-auth-token", "<x-velt-workspace-auth-token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.velt.dev/v2/workspace/apikey/create")
.header("x-velt-workspace-id", "<x-velt-workspace-id>")
.header("x-velt-workspace-auth-token", "<x-velt-workspace-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"ownerEmail\": \"<string>\",\n \"type\": \"<string>\",\n \"createAuthToken\": true,\n \"apiKeyName\": \"<string>\",\n \"allowedDomains\": [\n \"<string>\"\n ],\n \"addLocalHostToAllowedDomains\": true,\n \"useEmailService\": true,\n \"useWebhookService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"commentTemplateId\": \"<string>\",\n \"tagTemplateId\": \"<string>\"\n },\n \"webhookServiceConfig\": {\n \"authToken\": \"<string>\",\n \"rawNotificationUrl\": \"<string>\",\n \"processedNotificationUrl\": \"<string>\"\n }\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.velt.dev/v2/workspace/apikey/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-velt-workspace-id"] = '<x-velt-workspace-id>'
request["x-velt-workspace-auth-token"] = '<x-velt-workspace-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"ownerEmail\": \"<string>\",\n \"type\": \"<string>\",\n \"createAuthToken\": true,\n \"apiKeyName\": \"<string>\",\n \"allowedDomains\": [\n \"<string>\"\n ],\n \"addLocalHostToAllowedDomains\": true,\n \"useEmailService\": true,\n \"useWebhookService\": true,\n \"emailServiceConfig\": {\n \"type\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"fromEmail\": \"<string>\",\n \"fromCompany\": \"<string>\",\n \"commentTemplateId\": \"<string>\",\n \"tagTemplateId\": \"<string>\"\n },\n \"webhookServiceConfig\": {\n \"authToken\": \"<string>\",\n \"rawNotificationUrl\": \"<string>\",\n \"processedNotificationUrl\": \"<string>\"\n }\n }\n}"

response = http.request(request)
puts response.read_body
{
  "result": {
    "status": "success",
    "message": "API key created successfully.",
    "data": {
      "apiKey": "your_new_api_key"
    }
  }
}
Use this API to create a new API key for a workspace.
This endpoint uses workspace-level auth: pass x-velt-workspace-id and x-velt-workspace-auth-token (from the Create Workspace response) as headers.
This API currently supports creating testing API keys only.

Endpoint

POST https://api.velt.dev/v2/workspace/apikey/create

Headers

x-velt-workspace-id
string
required
Your Workspace ID.
x-velt-workspace-auth-token
string
required
Your workspace Auth Token.

Body

Params

data
object
required

Example Request

{
  "data": {
    "ownerEmail": "owner@example.com",
    "type": "testing",
    "createAuthToken": true
  }
}

Example Response

Success Response

{
  "result": {
    "status": "success",
    "message": "API key created successfully.",
    "data": {
      "apiKey": "your_new_api_key"
    }
  }
}

Failure Response

{
  "error": {
    "status": "INVALID_ARGUMENT",
    "message": "ownerEmail is required."
  }
}
{
  "result": {
    "status": "success",
    "message": "API key created successfully.",
    "data": {
      "apiKey": "your_new_api_key"
    }
  }
}