Schema là contract mô tả mọi kiểu, field và tham số mà client truy vấn được. Cả hai phía dựa vào nó, nên truy vấn sai tên field hay sai kiểu bị từ chối trước khi thực thi, và mọi công cụ codegen, autocomplete trong editor, docs tự sinh đều lấy từ đây.
Điểm cần tách bạch: schema mô tả API chứ không phản chiếu cấu trúc lưu trữ. Sao chép nguyên bảng database thành kiểu GraphQL là sai lầm phổ biến vì nó rò rỉ chi tiết lưu trữ và khiến việc đổi bảng breaking change với client.
Một kiểu trong schema có thể gộp dữ liệu từ nhiều bảng hoặc từ dịch vụ bên ngoài. Thực hành nên có là đưa schema vào CI và chặn các breaking change trước khi hợp nhất.