Create usage event
curl --request POST \
--url https://api.zenskar.com/rawmetrics \
--header 'Content-Type: application/json' \
--header 'organisation: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": [
"<string>"
]
}
'import requests
url = "https://api.zenskar.com/rawmetrics"
payload = {
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"organisation": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
organisation: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
api_slug: '<string>',
dataschema: {},
column_order: ['<string>']
})
};
fetch('https://api.zenskar.com/rawmetrics', 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.zenskar.com/rawmetrics",
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([
'name' => '<string>',
'api_slug' => '<string>',
'dataschema' => [
],
'column_order' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"organisation: <api-key>",
"x-api-key: <api-key>"
],
]);
$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.zenskar.com/rawmetrics"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("organisation", "<api-key>")
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.zenskar.com/rawmetrics")
.header("x-api-key", "<api-key>")
.header("organisation", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zenskar.com/rawmetrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["organisation"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": [
"<string>"
],
"usage_upload_enabled": false,
"s3_path": "<string>",
"error_log_s3_path": "<string>",
"allow_partial_upload": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Usage Events
Create usage event
Create a new usage event
POST
/
rawmetrics
Create usage event
curl --request POST \
--url https://api.zenskar.com/rawmetrics \
--header 'Content-Type: application/json' \
--header 'organisation: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": [
"<string>"
]
}
'import requests
url = "https://api.zenskar.com/rawmetrics"
payload = {
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"organisation": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
organisation: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
api_slug: '<string>',
dataschema: {},
column_order: ['<string>']
})
};
fetch('https://api.zenskar.com/rawmetrics', 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.zenskar.com/rawmetrics",
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([
'name' => '<string>',
'api_slug' => '<string>',
'dataschema' => [
],
'column_order' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"organisation: <api-key>",
"x-api-key: <api-key>"
],
]);
$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.zenskar.com/rawmetrics"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("organisation", "<api-key>")
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.zenskar.com/rawmetrics")
.header("x-api-key", "<api-key>")
.header("organisation", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zenskar.com/rawmetrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["organisation"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"api_slug\": \"<string>\",\n \"dataschema\": {},\n \"column_order\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"api_slug": "<string>",
"dataschema": {},
"column_order": [
"<string>"
],
"usage_upload_enabled": false,
"s3_path": "<string>",
"error_log_s3_path": "<string>",
"allow_partial_upload": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Body
application/json
Response
Successful Response
RawMetric Response Schema
RawMetric Id
name of the raw metric
api slug raw metric name
Data schema raw metric
Order of the columns in the raw metric table
Whether S3 usage upload is enabled
Combined S3 bucket and directory path
Combined error log S3 bucket and directory path
Whether partial upload is allowed