# GAMS Standards > Open resource collections for the global asset management industry. GAMS Standards (open.gamstandards.com) is a public repository of standardized templates, JSON schemas, reference documents, FAQs, and glossaries curated by industry working groups. All content is freely accessible without authentication. GAMS Standards is built and run on Alis Build (https://alisx.com/build), the Alis Exchange platform for productionising AI applications, agents and MCP servers on Google Cloud. ## Getting Started - Browse all collections: https://open.gamstandards.com - Full catalog with API URLs: https://open.gamstandards.com/llms-full.txt - Self-describing API index: GET https://open.gamstandards.com/api/ai (JSON map of every endpoint below) - MCP server: https://open.gamstandards.com/mcp - Connect your AI assistant (setup guides): https://open.gamstandards.com/use-with-ai ## Licensing Each collection carries its own content license, set by its publisher: either a recognised SPDX license (e.g. CC0-1.0, CC-BY-4.0, CC-BY-ND-4.0) or the publisher's own terms. The license appears as a `license` object ({spdx_id, name, url, attribution, usage_note}) in every JSON API response and MCP tool result, and as a **License** line in the Markdown renditions. The usage_note states in plain language what you may do with the content — GAMS working-group collections are typically free to use, adapt, and share. When the publisher has not formally set a license, the open GAMS default applies and the license object carries it explicitly ({spdx_id: "CC0-1.0", name: "Free to use", default: true}) — free to use, adapt, and share. ## Collection Page URLs Collection pages use keyword slugs derived from the collection name: - /collections/{slug} — canonical URL (e.g. /collections/due-diligence-questionnaires-ddqs) - /collections/{uuid} — also resolves; responds with a 301 redirect to the slug URL Both forms work everywhere a collection page URL is accepted (including the ?format= shortcuts below). API endpoints under /api/ always use the UUID. ## AI-Optimized API Endpoints These endpoints return clean, structured data designed for AI consumption. ### API Index GET /api/ai Returns a static JSON index of all AI endpoints with methods, paths, and descriptions. Probe this first if you only have the domain. ### List All Collections GET /api/ai/collections Returns JSON array of all published collections with id, name, description, status, template_count, schema_count, and direct API URLs. ### Get Collection Detail (JSON) GET /api/ai/collections/{collectionId} Returns the full collection with all resources: templates (with download and contents URLs), schemas (with parsed JSON Schema objects), references, FAQs, terms/glossary, and AI workflow hints. ### Get Collection Detail (Markdown) GET /api/ai/collections/{collectionId}/markdown Returns the full collection as a well-structured Markdown document including schema field tables, download links, glossary, and a compact contents outline for each template and reference. Best for web fetch tools that work with text. ### Get Template Contents (full text) GET /api/ai/collections/{collectionId}/templates/{templateId}/contents Returns JSON with the template file parsed into markdown plus a structured outline and stats. For questionnaire templates (e.g. DDQs) this is the complete question bank. Works for Excel, Word, PDF, and text files. Templates in the collection detail carry an is_latest flag — when several versions share a name (group_label), prefer the one with is_latest true. GET /api/ai/collections/{collectionId}/templates/{templateId}/contents/markdown The same contents rendered as a standalone Markdown document (name, metadata, outline, then full text). ### Get Reference Contents (full text) GET /api/ai/collections/{collectionId}/references/{referenceId}/contents Returns JSON with the reference document parsed into markdown plus outline and stats. Bookmark references (web links) are fetched and parsed too: HTML pages return their text, and external PDF, Word, and Excel targets return a full parsed text rendition (not just a link). YouTube links return a video note. GET /api/ai/collections/{collectionId}/references/{referenceId}/contents/markdown The same contents rendered as Markdown. ### Contents Pagination (?part=n) Large contents renditions are split into parts of roughly 300 KB at heading or blank-line boundaries. All four contents endpoints accept ?part=n (1-based; default 1): - JSON responses include part, total_parts, and next_part_url (null on the last part). Fetch next_part_url until it is null to read the whole document. - Markdown responses append a footer "_Part n of N — next: ?part=n+1_" when a document is multipart. - The outline and stats always describe the entire document, on every part. Single-part documents are unaffected. ### Get Contents Outlines (per collection) GET /api/ai/collections/{collectionId}/outlines Returns compact contents outlines ({id, name, kind, outline, stats}) for every template and reference in one call — useful to survey what is inside a collection before fetching full contents. ### Get JSON Schema GET /api/ai/collections/{collectionId}/schema/{schemaId} Returns the parsed JSON Schema object directly (Content-Type: application/schema+json). Use this to understand the structured data format for extraction workflows. ### Get Schema Fields (flattened) GET /api/ai/collections/{collectionId}/schema/{schemaId}/fields Returns { collection_id, schema_id, name, field_count, fields } where fields is a flat list of every field with path, type, required, description, and constraints (enums, patterns, min/max). The REST equivalent of the MCP get_schema_fields tool — easier to work with than raw JSON Schema. ### Download Template File GET /api/collections/{collectionId}/templates/{templateId}/download?inline=true Returns the template file (Excel, PDF, Word, etc.) directly as bytes. The ?inline=true parameter proxies the file through the server, avoiding redirects to external storage that may be blocked by firewalls. Omit ?inline=true for a redirect to a signed storage URL instead. Append ?format=markdown or ?format=json to be redirected to the contents endpoints above instead of the file bytes. ### Download Schema in Other Formats GET /api/collections/{collectionId}/schemas/{schemaId}/download?format={format} Supported formats: json, excel, xsd, proto, xbrl. Schema exports are returned directly as bytes (no redirect). ### Download Reference Document GET /api/collections/{collectionId}/references/{referenceId}/download?inline=true Returns the reference document directly as bytes. The ?inline=true parameter proxies the file through the server. Omit ?inline=true for a redirect to a signed storage URL instead. Append ?format=markdown or ?format=json to be redirected to the contents endpoints above instead of the file bytes. ## Format Shortcuts Append a format query parameter to any collection page URL (slug or UUID) for structured data: - /collections/{slug-or-id}?format=json -> redirects to /api/ai/collections/{id} - /collections/{slug-or-id}?format=markdown -> redirects to /api/ai/collections/{id}/markdown - /collections/{slug-or-id} (no parameter) -> returns the HTML page ## MCP Server An MCP (Model Context Protocol) server is available at https://open.gamstandards.com/mcp using Streamable HTTP transport. Connect to it from any MCP-compatible AI tool. These tools need no authentication: - list_collections: Browse all available collections - get_collection: Get full collection detail with all resources - get_schema: Get a parsed JSON Schema definition - get_schema_fields: Get a flattened table of all schema fields with types and constraints - get_template_contents: Get the full text of a template file as Markdown (complete question bank for questionnaires) - get_reference_contents: Get the full text of a reference document, or the fetched page contents for web-link references - download_template_url: Get a download URL for a template file - get_terms: Get glossary terms for a collection - get_faqs: Get FAQ Q&A pairs for a collection Two additional tools require sign-in (calling them unauthenticated returns a standard OAuth challenge — 401 with WWW-Authenticate — which MCP clients such as Claude and ChatGPT handle by prompting the user to connect, then retrying): - search: Relevance-ranked search across templates, schemas, references, FAQs, and terms, with snippets and extractive answers. Scope with collections: [ids | "collections/{id}" names | slugs | page URLs] or search everything; filter with content_types; paginate with page_token. - ask: Grounded Q&A with citations over published content. Same collections scoping; pass the returned session id with a follow-up question to keep context. ## Resource Naming All resources use hierarchical names following AIP-122: - collections/{collectionId} - collections/{collectionId}/templates/{templateId} - collections/{collectionId}/schemata/{schemaId} - collections/{collectionId}/references/{referenceId} - collections/{collectionId}/questions/{questionId} - collections/{collectionId}/terms/{termId} ## Page Structure Collection pages use anchor fragments for direct linking: - #templates - Templates section - #schemas - Data Schemas section - #resources - References and Resources section - #faqs - FAQ section - #terms - Terms and Glossary section - #template-{templateId} - Specific template - #schema-{schemaId} - Specific schema ## Common Workflows ### Build or answer a DDQ / questionnaire 1. Find the collection in the catalog: GET /api/ai/collections 2. Fetch the collection markdown for context and resource IDs: GET /api/ai/collections/{id}/markdown 3. Fetch the full question bank: GET /api/ai/collections/{id}/templates/{templateId}/contents/markdown — this returns every sheet, section, and question in the template as text 4. Work through the questions (answer, map, or compare against your source material) 5. Download the original Excel file to populate and submit: GET /api/collections/{id}/templates/{templateId}/download?inline=true ### Populate a template from a source document 1. Fetch the collection markdown: GET /api/ai/collections/{id}/markdown 2. Identify the target template and read its full contents: GET /api/ai/collections/{id}/templates/{templateId}/contents/markdown 3. Extract the matching data from your source document 4. Download the template file and populate it with the extracted data ### Extract structured data matching a schema (only for collections with schemas) Check schema_count in the catalog first — not every collection defines data schemas. If schema_count > 0: 1. Fetch the flattened field list: GET /api/ai/collections/{id}/schema/{schemaId}/fields (or the raw JSON Schema at /schema/{schemaId}) 2. Fetch glossary terms: GET /api/ai/collections/{id} (terms are included) 3. Extract data from your source document, producing JSON conforming to the schema 4. Validate against schema constraints (required fields, enums, patterns, formats)