# Schema

A schema is a formal definition of the structure, constraints, and relationships of data in a system. The term is used in multiple contexts: in relational databases, a schema defines tables, columns, data types, and relationships; in GraphQL, a schema specifies the types, queries, mutations, and subscriptions available in the API; in JSON Schema, it defines the expected structure and validation rules for JSON documents.

API schemas serve as contracts between API producers and consumers. OpenAPI specifications and JSON Schema definitions describe the expected format of request bodies, response payloads, query parameters, and headers. These schemas enable automated validation, documentation generation, and client SDK generation.

In API gateway architectures, schemas are used for request validation -- the gateway can reject requests that do not conform to the defined schema before they reach backend services. This protects backends from malformed input and provides clear error messages to API consumers. Schema validation at the gateway level is especially valuable in serverless environments, where it prevents unnecessary function invocations for invalid requests.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.serverlessapigateway.com/glossary/s/schema.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
