Skip to content

IIESMS developer documentation

iiesms.ie publishes its public content as a read-only API, as Markdown for AI agents, and as machine-readable site descriptions. Everything described here is already public on the website; member records, documents, payments and the admin panel are not part of the API.

Resources

Authentication

None. The endpoints below return published content to anonymous callers and do not accept API keys. Drafts and member-only data are never returned.

Endpoints

MethodPathDescription
GET/api/pagesList published pages (filter with where[slug][equals]=memberships)
GET/api/pages/{id}One published page by id
GET/api/postsList published news posts (sort=-publishedAt for newest first)
GET/api/posts/{id}One published post by id
GET/api/categoriesPost categories
GET/api/searchSearch index of pages and posts (where[title][like]=cpd)
POST/api/graphqlGraphQL over the same content (introspection disabled)

List endpoints return docs plus pagination fields (totalDocs, page, totalPages, hasNextPage). Use limit, page, depth and sort to control the result.

Example requests

# The five newest posts
curl -s 'https://iiesms.ie/api/posts?limit=5&sort=-publishedAt&depth=0'

# One page by slug
curl -s 'https://iiesms.ie/api/pages?where[slug][equals]=memberships&limit=1'

# Search
curl -s 'https://iiesms.ie/api/search?where[title][like]=fire&limit=10'

Pages as Markdown

Every public page, including the home page, can be requested as Markdown. Responses carry Vary: Accept; browsers keep receiving HTML.

curl -s -H 'Accept: text/markdown' https://iiesms.ie/
curl -s -H 'Accept: text/markdown' https://iiesms.ie/memberships

A missing page returns HTTP 404. When Markdown is requested the body is Markdown that explains the error and links to the sitemap, llms.txt and this page.

Rate limits

Anonymous API requests are limited to 120 per 60 seconds per client. Every API response carries RateLimit-Policy, RateLimit, RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (seconds). Over the limit you receive HTTP 429 with Retry-After (seconds); wait that long before retrying.

Errors

Errors are JSON: {"errors":[{"message":"..."}]}. Unknown documents return 404; rate limiting returns 429.

Contact

Questions about the API or the content: info@iiesms.ie.