Create API key
Create a new MCP API key. The full key value is only returned once at creation time. Store it securely.
curl -X POST "https://api.mythic-analytics.com/api/v1/mcp/api-keys" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"name": "Production Gateway Key",
"scopes": [
"tools:execute",
"tools:read"
],
"expires_at": "2024-12-25T10:00:00Z"
}'
import requests
import json
url = "https://api.mythic-analytics.com/api/v1/mcp/api-keys"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"name": "Production Gateway Key",
"scopes": [
"tools:execute",
"tools:read"
],
"expires_at": "2024-12-25T10:00:00Z"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.mythic-analytics.com/api/v1/mcp/api-keys", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"name": "Production Gateway Key",
"scopes": [
"tools:execute",
"tools:read"
],
"expires_at": "2024-12-25T10:00:00Z"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"name": "Production Gateway Key",
"scopes": [
"tools:execute",
"tools:read"
],
"expires_at": "2024-12-25T10:00:00Z"
}`)
req, err := http.NewRequest("POST", "https://api.mythic-analytics.com/api/v1/mcp/api-keys", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.mythic-analytics.com/api/v1/mcp/api-keys')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"name": "Production Gateway Key",
"scopes": [
"tools:execute",
"tools:read"
],
"expires_at": "2024-12-25T10:00:00Z"
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": "null"
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/mcp/api-keys
Target server for requests. Edit to use your own host.
Admin API key as bearer token. Format: Bearer YOUR_ADMIN_KEY
Bearer YOUR_ADMIN_KEYAlternative to the Authorization header for server-to-server scenarios.
The media type of the request body
Human-readable name for the key.
Permission scopes for the key.
Optional expiration date. Null means no expiration.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Admin API key as bearer token. Format: Bearer YOUR_ADMIN_KEY
API Key for authentication. Alternative to the Authorization header for server-to-server scenarios.
Body
Human-readable name for the key.
Permission scopes for the key.
Optional expiration date. Null means no expiration.