Create a rubric
curl --request POST \
--url https://api.egp.scale.com/v5/rubrics \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"tags": [
"<string>"
],
"criteria": [
{
"title": "<string>",
"weight": 1,
"annotations": {}
}
]
}
'import requests
url = "https://api.egp.scale.com/v5/rubrics"
payload = {
"title": "<string>",
"tags": ["<string>"],
"criteria": [
{
"title": "<string>",
"weight": 1,
"annotations": {}
}
]
}
headers = {
"x-api-key": "<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>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
tags: ['<string>'],
criteria: [{title: '<string>', weight: 1, annotations: {}}]
})
};
fetch('https://api.egp.scale.com/v5/rubrics', 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.egp.scale.com/v5/rubrics",
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([
'title' => '<string>',
'tags' => [
'<string>'
],
'criteria' => [
[
'title' => '<string>',
'weight' => 1,
'annotations' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.egp.scale.com/v5/rubrics"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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.egp.scale.com/v5/rubrics")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v5/rubrics")
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["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"tags": [
"<string>"
],
"version": 123,
"title": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"object": "rubric",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"criteria": [
{
"id": "<string>",
"rubric_id": "<string>",
"version": 123,
"title": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"object": "rubric_criteria",
"weight": 123,
"annotations": {}
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Rubrics
Create a rubric
Create a rubric, optionally with its initial criteria in the same request.
The rubric is created for the caller’s account at version 1. If the optional
criteria field is supplied it must contain at least one entry, and each
entry is created as a criterion attached to the new rubric; omit it to create
an empty rubric and add criteria later via the criteria endpoint. The response
returns the created rubric together with the full detail of any criteria
created in this call.
POST
/
v5
/
rubrics
Create a rubric
curl --request POST \
--url https://api.egp.scale.com/v5/rubrics \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"tags": [
"<string>"
],
"criteria": [
{
"title": "<string>",
"weight": 1,
"annotations": {}
}
]
}
'import requests
url = "https://api.egp.scale.com/v5/rubrics"
payload = {
"title": "<string>",
"tags": ["<string>"],
"criteria": [
{
"title": "<string>",
"weight": 1,
"annotations": {}
}
]
}
headers = {
"x-api-key": "<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>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
tags: ['<string>'],
criteria: [{title: '<string>', weight: 1, annotations: {}}]
})
};
fetch('https://api.egp.scale.com/v5/rubrics', 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.egp.scale.com/v5/rubrics",
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([
'title' => '<string>',
'tags' => [
'<string>'
],
'criteria' => [
[
'title' => '<string>',
'weight' => 1,
'annotations' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.egp.scale.com/v5/rubrics"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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.egp.scale.com/v5/rubrics")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v5/rubrics")
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["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"criteria\": [\n {\n \"title\": \"<string>\",\n \"weight\": 1,\n \"annotations\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_by": {
"id": "<string>",
"type": "user",
"object": "identity"
},
"tags": [
"<string>"
],
"version": 123,
"title": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"object": "rubric",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"criteria": [
{
"id": "<string>",
"rubric_id": "<string>",
"version": 123,
"title": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"object": "rubric_criteria",
"weight": 123,
"annotations": {}
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Headers
Body
application/json
Response
Successful Response
The identity that created the entity.
Show child attributes
Show child attributes
The tags associated with the entity
Allowed value:
"rubric"Full criteria on get, summary (title + weight) on list
- Option 1
- RubricCriteriaSummaryResponse
Show child attributes
Show child attributes

