# 51offer > 51offer (Shanghai Huizhi Business Consulting Co., Ltd. / 上海汇紫商务咨询有限公司, Xuhui District, > Shanghai) is a one-stop online study-abroad platform for Chinese students applying to universities > in the UK, Australia, the US, New Zealand, Japan and Singapore. It runs no developer programme — > but its official site serves an unauthenticated Swagger 1.2 API listing at > https://www.51offer.com/api-docs describing 24 controllers, and that is the machine-readable > contract profiled here. This file was generated by API Evangelist from the 51offer profile at https://github.com/api-evangelist/51offer. 51offer does not publish an llms.txt of its own: every /llms.txt probe on every 51offer host on 2026-09-05 returned either a soft 404 (HTTP 200 with the site's HTML error page) or a real 404. ## What exists - Machine-readable contract: Swagger 1.2, served by the provider at https://www.51offer.com/api-docs and https://m.51offer.com/api-docs. 24 resource declarations, 452 operations as published. - API base: https://www.51offer.com — the marketing site and the API share one host. Verified live: GET https://www.51offer.com/ngGpaCalc/constants → HTTP 200, application/json. - One response envelope everywhere: {message, code, data, header, page, apiInfo}. The HTTP status is 200 on success AND on most failures; the real outcome is the `code` field. - Pagination: a shared page-number block (currPage, pageSize, count, totalPage, hasPre, hasNext). - Authentication: a `token` request header, evidenced only by CORS headers. Undocumented. ## What does NOT exist Stated plainly, because an agent that assumes otherwise will waste calls: no developer portal, no documentation, no getting-started, no API reference beyond the raw Swagger, no SDKs, no CLI, no sandbox, no MCP server, no A2A agent card, no /.well-known document of any kind, no security.txt, no OAuth, no scopes, no status page, no changelog, no deprecation or sunset policy, no SLA, no webhooks, no AsyncAPI, no published rate limits and no published error-code reference. No API pricing — the consumer study-abroad mall exists but renders its catalogue client-side. ## API surface (converted to OpenAPI 3.1) - [OpenAPI 3.1 (converted)](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/openapi/51offer-horizon-site-openapi.yml): 221 paths, 389 operations, 159 schemas. - [Swagger 1.2 resource listing (verbatim)](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/openapi/_original/51offer-api-docs-resource-listing.json) - Controllers: diym (DIY application, profile, materials, QR login), ngEnroll, ngAdviser, ngAlliance, ngDeliveryChannel, ngDiy, ngdiyapplypay, ngdiychooseSchool, ngdiypositioningnotice, ngdiyselectschool, ngdiysinglepage, ngDoubleTwelve, ngGpaCalc, ngHome, ngLanCorrect, ngMall, ngPayCoupon, ngPic, ngrefund, ngUserInfo, ngSign. ## Agent skills - [GPA calculation](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/skills/51offer-gpa-calculation.md) — the one flow that answers anonymously. - [DIY school selection](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/skills/51offer-diy-school-selection.md) - [Applicant profile and materials](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/skills/51offer-applicant-profile.md) - [Entrance refund](https://raw.githubusercontent.com/api-evangelist/51offer/refs/heads/main/skills/51offer-entrance-refund.md) ## Hazards an agent must know before calling - Mutating operations are frequently declared GET (addCart, submitIntentions, deleteCartSchool, every diym delete). Never prefetch and never blind-retry a GET on this API. - There is no idempotency mechanism on any of the 118 mutating operations, including createOrder, payOrder and submitEntranceRefund. A retry is a second write. - A refund path exists (POST /ngrefund/sub, GET /ngrefund/progress) but NO reversal window is published anywhere. Do not state a deadline. - Unknown paths on www.51offer.com return HTTP 200 with an HTML error page, not a 404. Check the content type before parsing. ## Company - Website: https://www.51offer.com/ - About: https://www.51offer.com/aboutus/ - Terms of service: https://www.51offer.com/aboutus/contract.html - Privacy: https://www.51offer.com/aboutus/protection.html - Support (consumer feedback form): https://account.51offer.com/user/feedback.html - GitHub organisation: https://github.com/51offer (11 repositories, mobile tooling and forks; no API client) - Engineering blog: https://51offer.github.io/