# Alumio Example API > Mock REST, GraphQL, and SOAP API serving 50 products and 50 orders. Used in Alumio example templates and E2E tests. No authentication required. ## REST endpoints Base URL: https://example-api.alumio.com - GET /products — paginated product list - POST|PUT|PATCH /products/list — paginated product list with page/offset/limit in the request body - POST /products — create a product (fake, not stored) - GET /products/{id} — get one product - PUT /products/{id} — full update (fake) - PATCH /products/{id} — partial update (fake) - DELETE /products/{id} — delete (fake) - /orders/... — same structure as /products ## Pagination Every paginated response simultaneously supports four strategies: - next-link: follow `links.next` URL in the response body - next-link-header: follow URL in the `Link: ; rel="next"` response header - query-page-parameter: increment `?page=N` on each request - query-offset-parameter: increment `?offset=N` by the number of items received - body-page-parameter: POST/PUT/PATCH to /list with `{"page":N}` or `{"offset":N}` in the body Default page size is 10. Pass `?limit=N` (or `"limit":N` in body) to change it. ## Failure simulation Append `?fail=` to any request to receive an error response with that HTTP status code. REST returns JSON, GraphQL returns the GraphQL errors array format, SOAP returns a SOAP Fault. Example: GET /products?fail=422 ## GraphQL POST /graphql Queries: products(page, offset, limit), product(id), orders(page, offset, limit), order(id) Mutations: createProduct, updateProduct, deleteProduct, createOrder, updateOrder, deleteOrder Paginated responses include links.next and a Link header. Supports ?fail= on the URL. ## SOAP GET /soap?wsdl — WSDL definition POST /soap — SOAP 1.1 endpoint Operations: GetProducts, GetProduct, CreateProduct, UpdateProduct, DeleteProduct, GetOrders, GetOrder, CreateOrder, UpdateOrder, DeleteOrder GetProducts and GetOrders accept Page and Limit elements and return NextPage in the response. ## OpenAPI spec Full OpenAPI 3.0 spec: https://example-api.alumio.com/openapi.json Test interactively: https://petstore.swagger.io/?url=https://example-api.alumio.com/openapi.json ## AI agent discovery /.well-known/ai-plugin.json — OpenAI-compatible plugin manifest /llms.txt — this file