Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docsa.stemfard.com/llms.txt

Use this file to discover all available pages before exploring further.

Every Stemfard API response returns a consistent JSON object regardless of which endpoint you call. The fields present in a given response depend on the api_level you request and which optional parameters you enable. Understanding this structure helps you write resilient parsing logic and lets you display only the data your application actually needs.

Top-level fields

metadata
object
required
Request metadata returned with every response. Includes the result_name used to key the answer in result, the operation name, and other contextual identifiers.
taxonomy
object
required
Topic classification for the operation. Present in lite, standard, and detailed responses.
result
object
required
The computed answer. The key inside this object matches the result_name from metadata (default "ans"). Present in all API levels.
problem
object
A human-readable statement of the problem. Present only in detailed responses.
request_normalized
object
The normalized version of your input parameters as interpreted by the API. Returned when you set request_params: true in the request. Available in detailed mode only.
intermediate
object
Intermediate calculation data generated during computation. Present in detailed responses. Useful for debugging or displaying partial results.
steps
array
An ordered array of step-by-step solution objects. Present in standard and detailed responses. Each element describes one step in the solution process. The format of step content (HTML, LaTeX, or speech) is controlled by the steps_output_formats request parameter.
Links to related Stemfard API endpoints. Only included in detailed responses when you set related: true in the request.
learning_pathways
array
Curated links to educational resources and pathway endpoints relevant to the operation. Only included in detailed responses when you set learning_pathways: true in the request.
syntax
object
Usage hints and syntax guidance for the called endpoint. Present in detailed responses.
properties
object
Computed properties of the result object (e.g., degree, domain, whether the result is a polynomial). Returned when you set properties: true in the request. Available in detailed mode only.

Field availability by level

Fieldlitestandarddetailed
metadataYesYesYes
taxonomyYesYesYes
resultYesYesYes
stepsYesYes
problemYes
request_normalizedYes (opt-in)
intermediateYes
relatedYes (opt-in)
learning_pathwaysYes (opt-in)
syntaxYes
propertiesYes (opt-in)

Sample detailed response

The following example shows a complete detailed response with all optional fields enabled.
detailed response
{
  "metadata": {
    "result_name": "product",
    "operation": "matmul"
  },
  "taxonomy": {
    "topic": "Linear Algebra",
    "subtopic": "Matrix Arithmetic"
  },
  "problem": {
    "statement": "Compute the matrix product of A and B"
  },
  "request_normalized": {
    "a": [[2, 7], [4, -1]],
    "b": [[1, 0], [0, 1]],
    "operation": "matmul"
  },
  "result": {
    "product": [[2, 7], [4, -1]]
  },
  "intermediate": {
    "steps_count": 4
  },
  "steps": [
    {
      "step": 1,
      "description": "Multiply row 1 of A by column 1 of B",
      "expression": "(2×1) + (7×0) = 2"
    },
    {
      "step": 2,
      "description": "Multiply row 1 of A by column 2 of B",
      "expression": "(2×0) + (7×1) = 7"
    },
    {
      "step": 3,
      "description": "Multiply row 2 of A by column 1 of B",
      "expression": "(4×1) + (-1×0) = 4"
    },
    {
      "step": 4,
      "description": "Multiply row 2 of A by column 2 of B",
      "expression": "(4×0) + (-1×1) = -1"
    }
  ],
  "related": [
    {
      "label": "Matrix addition",
      "href": "/api/v1/mathematics/linear-algebra/matrix-operations/matrix-arithmetic/add"
    },
    {
      "label": "Matrix statistics",
      "href": "/api/v1/mathematics/linear-algebra/matrix-operations/matrix-statistics"
    }
  ],
  "learning_pathways": [
    {
      "label": "Matrix determinants",
      "href": "/api/v1/mathematics/linear-algebra/matrix-determinant"
    }
  ],
  "syntax": {
    "hint": "POST /api/v1/mathematics/linear-algebra/matrix-operations/matrix-arithmetic/matmul"
  },
  "properties": {
    "dimensions": [2, 2],
    "is_square": true
  }
}
The result object uses the value of result_name as its key. If you pass result_name: "f_prime" in the request, the answer appears as result.f_prime rather than result.ans.