Unauthenticated service descriptor: the API's name and version plus absolute links to the OpenAPI spec, the API reference, the API changelog and the MCP client config. Returns a plain JSON object, not the success envelope.
- Credential
- None: it answers without one
Request
GET /api/v1
curl "https://portal.printedsimply.com/api/v1"Response 200
The service descriptor. NOT wrapped in the success envelope — this route answers before any of that machinery, which is also why it carries no request_id.
namestringrequiredversionstringrequiredThe TRANSPORT major, matching the /api/v1 prefix. Deliberately frozen at "1.0" — it is not the contract version and does not move.
api_versionstringrequiredThe date-based CONTRACT version, which is the one that moves. Published separately rather than overloading
version, so a discovery agent learns which version it will be served without fetching the whole spec.minimum_api_versionstringrequiredThe oldest version still served. A pin below this resolves upward.
descriptionstringrequiredopenapi_specstringrequiredPath to this document.
documentationstringrequiredapi_changelogstringrequiredmcp_configstringrequiredAbsolute URL of the MCP client config: an mcpServers block naming this deployment's MCP server, for an agent that would rather hold tools than endpoints.
{
"name": "PrintedSimply API",
"version": "1.0",
"api_version": "2026-07-26",
"minimum_api_version": "2026-02-15",
"description": "Route print orders to PrintedSimply's US plant by API.",
"openapi_spec": "https://portal.printedsimply.com/api/openapi.json",
"documentation": "https://portal.printedsimply.com/docs/api-reference",
"api_changelog": "https://portal.printedsimply.com/docs/api-changelog",
"mcp_config": "https://portal.printedsimply.com/mcp-config.json"
}