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
- OpenAPI 3.1 description (
/openapi.json) - llms.txt: what the Institute is, when to use this site, key pages
- Sitemap and robots.txt
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
| Method | Path | Description |
|---|---|---|
| GET | /api/pages | List published pages (filter with where[slug][equals]=memberships) |
| GET | /api/pages/{id} | One published page by id |
| GET | /api/posts | List published news posts (sort=-publishedAt for newest first) |
| GET | /api/posts/{id} | One published post by id |
| GET | /api/categories | Post categories |
| GET | /api/search | Search index of pages and posts (where[title][like]=cpd) |
| POST | /api/graphql | GraphQL 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/membershipsA 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.