Skip to content
StudyFetch API

Assignment Grader

Create a new rubric template

OpenAPI specification
POST/api/v1/assignment-grader/rubric-templates

Authentication

x-api-key

Request

curl --globoff --request POST \
  --url 'https://api.example.com/api/v1/assignment-grader/rubric-templates' \
  --header 'x-api-key: <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "<name>",
  "criteria": [
    {
      "title": "<title>",
      "pointsPossible": 0
    }
  ]
}'

Replace credential and <field> placeholders with your own values. URL placeholders appear as %3Cfield%3E. Review the example values before sending your request.

Replace https://api.example.com with the API server URL.

Use the sample JSON body as your starting point, and enter values that match the endpoint's schema.

Request body schema or example

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the rubric template"
    },
    "description": {
      "type": "string",
      "description": "Description of the rubric template"
    },
    "assignmentContent": {
      "type": "string",
      "description": "Additional context for the assignment such as a reading passage, source material, or instructions that students were given. The AI grader will use this to evaluate submissions more accurately."
    },
    "criteria": {
      "description": "Grading criteria",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the criterion"
          },
          "description": {
            "type": "string",
            "description": "Description of the criterion"
          },
          "pointsPossible": {
            "type": "number",
            "description": "Points possible for this criterion"
          }
        },
        "required": [
          "title",
          "pointsPossible"
        ]
      }
    }
  },
  "required": [
    "name",
    "criteria"
  ]
}

Responses

201Rubric template created
{
  "type": "object",
  "properties": {
    "_id": {
      "type": "string",
      "description": "Template ID"
    },
    "name": {
      "type": "string",
      "description": "Template name"
    },
    "description": {
      "type": "string",
      "description": "Template description"
    },
    "assignmentContent": {
      "type": "string",
      "description": "Assignment content/context provided for grading"
    },
    "criteria": {
      "description": "Grading criteria",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the criterion"
          },
          "description": {
            "type": "string",
            "description": "Description of the criterion"
          },
          "pointsPossible": {
            "type": "number",
            "description": "Points possible for this criterion"
          }
        },
        "required": [
          "title",
          "pointsPossible"
        ]
      }
    },
    "organizationId": {
      "type": "string",
      "description": "Organization ID"
    },
    "createdBy": {
      "type": "string",
      "description": "Created by user ID"
    },
    "createdAt": {
      "format": "date-time",
      "type": "string",
      "description": "Creation timestamp"
    },
    "updatedAt": {
      "format": "date-time",
      "type": "string",
      "description": "Update timestamp"
    }
  },
  "required": [
    "_id",
    "name",
    "criteria",
    "organizationId",
    "createdBy",
    "createdAt",
    "updatedAt"
  ]
}