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/wp/graphql
text
http://localhost/casrai/wp/graphql
Sample query — recent dictionary terms
graphql
query RecentTerms {
dictionaryTerms(first: 10, where: { orderby: { field: DATE, order: DESC } }) {
nodes {
id
slug
title
curationStatus
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 {
dictionaryDomain(id: "genai-disclosure", idType: SLUG) {
dictionaryTerms(first: 100) {
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 curationStatus 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 24 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.
Related
- REST endpoints — the equivalent read-only JSON API for non-GraphQL clients.
- API reference — the full OpenAPI/schema reference for both APIs.
- Code examples — worked JavaScript, Python, and PHP samples that call this endpoint.
- API changelog — versioning and deprecation policy for the GraphQL schema.







