# Validation
Caliban provides a little macro called gqldoc
that can check at compile-time that a GraphQL query (a document to be exact) has valid syntax.
import caliban.Macros.gqldoc
val query = gqldoc("""
query test {
amos: character(name: "Amos Burton") {
name
}
}""")
At runtime, it is possible to validate a query against your schema by calling the method check
on your API.
def check(query: String): IO[CalibanError, Unit]
It is also possible to skip validation when executing a query by passing Configurator.setSkipValidation(true)
to the configure
function of your http/ws interpreter. This will slightly improve performance.