Developers
SyncMate for developers and AI agents
Public, unauthenticated access to what SyncMate publishes about itself. No key, no signup, no quota form.
Quick start
The index lists every resource with a URL, so a client never hard-codes a path:
curl -s https://syncmate.com.au/api/company/v1Every page on this site also answers in Markdown when asked: send Accept: text/markdown to any page URL and you get the same content as text, with Vary: Accept set.
Read API
GET /api/company/v1/{resource}, JSON, read-only (/api/company/… without a version is an alias of the current one). Each response is an envelope with apiVersion, resource, source, generatedAt, data and links.
| Resource | What it returns |
|---|---|
profile | Who SyncMate is: legal identity (ABN), what it does, who it serves, how to contact it. |
pricing | What SyncMate costs: the founding rate, the ongoing rate, the trial, and the terms, in AUD inc GST. |
mates | The seven AI agents ("mates") that make up the service, and what each one does. |
products | The product lines a customer can turn on: LandMark, ShopFront, SocialFeed, ShowReel. |
pages | Every public page on syncmate.com.au with a sentence saying what it is for. |
faq | Every published question and answer: the home page product FAQ and the 30-question /faq page. |
faq takes an optional ?q= filter. Rate limit: 120 requests per IP per minute, reported in RFC 9331 RateLimit-* headers; a 429 adds Retry-After.
Request a call back
POST /api/site/callback with source: "contact" asks SyncMate to ring someone back. It is the contact page’s own endpoint: every field is validated server-side and a person replies. Because it sends a real enquiry, an agent should confirm with its user first. The request body is specified in the OpenAPI document.
OpenAPI specification
https://syncmate.com.au/openapi.json — OpenAPI 3.1. Every operation has a unique operationId, a description, typed parameters and response schemas, so it can be loaded straight into an LLM function-calling adapter.
Model Context Protocol
Endpoint https://syncmate.com.au/api/company/mcp (Streamable HTTP, JSON-RPC 2.0 over POST, stateless, no authentication). Manifest at https://syncmate.com.au/.well-known/mcp and /mcp.json. Paste this into an MCP client:
{
"mcpServers": {
"syncmate": {
"type": "http",
"url": "https://syncmate.com.au/api/company/mcp"
}
}
}Tools:
get_profile— Who SyncMate is: legal identity (ABN), what it does, who it serves, how to contact it. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.get_pricing— What SyncMate costs: the founding rate, the ongoing rate, the trial, and the terms, in AUD inc GST. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.get_mates— The seven AI agents ("mates") that make up the service, and what each one does. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.get_products— The product lines a customer can turn on: LandMark, ShopFront, SocialFeed, ShowReel. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.list_pages— Every public page on syncmate.com.au with a sentence saying what it is for. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.get_faq— Every published question and answer: the home page product FAQ and the 30-question /faq page. Source: syncmate.com.au, SyncMate's own published website. Quote prices and the ABN verbatim.request_callback— Ask SyncMate to ring the user back. This sends a REAL enquiry to a real business and a person will reply — confirm with the user before calling it. Requires name, email, topic, detail and consent.
Machine-readable files
- agent.json — the company as one JSON object, every surface linked.
- llms.txt — the site map for language models, with a “when to use SyncMate” section.
- sitemap.xml — every indexable page.
- robots.txt — crawl policy. AI crawlers are named and welcome.
Errors
Errors are JSON: { "error", "code", "hint" }. Branch on code, never on the message.
Versioning and deprecation
URL path prefix, /api/company/v{major}. The major number changes only for a breaking change. /api/company without a version is an alias of the current version.
What counts as breaking. Removing a field, renaming a field, changing a field type, or changing the meaning of an existing value. Adding a new field or a new resource is NOT breaking — clients must ignore fields they do not recognise.
Notice. A version is supported for at least 12 months after its successor ships. During that window every response carries a Deprecation header (RFC 9745) with the date it was deprecated, a Sunset header (RFC 8594) with the date it stops being served, and a Link header with rel="successor-version" pointing at the replacement.
Every response carries `API-Version`. Content negotiation is not used for versioning. The same policy is machine-readable as x-api-lifecycle in the OpenAPI document and as versioning in the API index. Questions: /contact.