Live GraphQL endpoint
GraphQL API
A WPGraphQL-powered endpoint exposing every dictionary type. Read access is public; mutations require authentication.
Endpoint
text
https://casrai.org/graphql
text
http://localhost/casrai/graphql
Sample query — recent dictionary terms
graphql
query RecentTerms {
dictionaryTerms(first: 10, where: { orderby: { field: DATE, order: DESC } }) {
nodes {
id
slug
title
status
definitionOperational
examples
counterExamples
aliases
canonicalUri
dictionaryDomains { nodes { name slug casraiTrack } }
definedTermJsonLd {
context type name identifier description
inDefinedTermSet url sameAs
}
}
}
}Sample query — terms by domain
graphql
query TermsByDomain {
dictionaryTerms(
first: 100,
where: { taxQuery: { taxArray: [{
taxonomy: DICTIONARYDOMAIN,
terms: ["genai-disclosure"],
field: SLUG
}] } }
) {
nodes { id slug title definitionOperational }
}
}Sample query — a single term by slug
graphql
query GetTerm($slug: ID!) {
dictionaryTerm(id: $slug, idType: SLUG) {
id title slug content
definitionOperational examples counterExamples aliases
canonicalUri status version
relationships { type targetSlug targetUri note }
definedTermJsonLd { context type name identifier description sameAs }
}
}Sample query — picklist with values
graphql
query GetPicklist($slug: ID!) {
picklist(id: $slug, idType: SLUG) {
id title slug content
picklistValues
canonicalUri legacySource
}
}Sample query — object template with fields
graphql
query GetObject($slug: ID!) {
objectTemplate(id: $slug, idType: SLUG) {
id title slug content excerpt
fields { name type required picklistSlug dictionaryTermSlug description }
canonicalUri legacySource
}
}Sample query — all 20 domains
graphql
query AllDomains {
dictionaryDomains(first: 50, where: { hideEmpty: false }) {
nodes { id name slug description casraiTrack canonicalUri }
}
}Authentication
Read queries are public — no auth required. Mutations (term proposals, edits) require an Application Password (WordPress 5.6+):
bash
Authorization: Basic <base64(username:application_password)>
Rate limits
Public read queries: 60 requests/minute per IP. Authenticated requests: 300 requests/minute per token. Higher limits available on request — /contact/working-groups.
Schema explorer
Interactive GraphiQL playground (Phase 4): /tools/api-explorer.








