{"openapi":"3.0.3","info":{"title":"Gnist Context — EUR-Lex (EU Legislation)","description":"EU legislation database — search regulations, directives, and decisions via CELLAR SPARQL. Covers the entire Official Journal corpus from founding treaties to present.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/eurlex/`\n- **Toolkit page:** `/toolkits/eurlex`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/eurlex/search_legislation":{"post":{"tags":["Legal"],"summary":"search_legislation","description":"Search EU legislation by keyword.\n\nSearches titles of EU legal acts (regulations, directives, decisions)\npublished in the Official Journal. Covers the entire EUR-Lex corpus\nfrom the founding treaties to present-day legislation.\n\nArgs:\n    query: Search term to match against legislation titles.\n    doc_type: Optional filter for document type.\n    year: Optional filter for publication year.\n    limit: Number of results to return (1-50, default 20).\n\nReturns:\n    List of matching legal acts with CELEX number, title, date, and link.","operationId":"eurlex_search_legislation","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Search term for EU legislation titles (e.g. \"artificial intelligence\", \"data protection\", \"climate\", \"digital markets\").","type":"string"},"doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by document type: \"regulation\", \"directive\", or \"decision\". Omit for all types."},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Filter by year of publication (e.g. 2024)."},"limit":{"default":20,"description":"Number of results to return (1-50, default 20).","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/eurlex/get_document":{"post":{"tags":["Legal"],"summary":"get_document","description":"Get an EU legal document by its CELEX number.\n\nReturns metadata for a specific EU legal act including title, date,\ndocument types, and a direct link to the full text on EUR-Lex.\n\nCELEX numbers follow the pattern: sector + year + type + number.\nCommon sectors: 3 = secondary legislation, 1 = treaties, 6 = case law.\n\nArgs:\n    celex: CELEX document identifier.\n\nReturns:\n    Document metadata including title, date, types, and EUR-Lex URL.","operationId":"eurlex_get_document","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"celex":{"description":"CELEX document number (e.g. \"32024R1689\" for the AI Act, \"32016R0679\" for GDPR).","type":"string"}},"required":["celex"],"type":"object"}}}}}},"/rest/eurlex/get_recent":{"post":{"tags":["Legal"],"summary":"get_recent","description":"Get recently published EU legislation.\n\nReturns the latest EU legal acts published within the specified\ntime window. Useful for monitoring new regulations, directives,\nand decisions from the European Union.\n\nArgs:\n    doc_type: Optional filter for document type.\n    days: Look back period in days (1-365, default 30).\n    limit: Number of results to return (1-50, default 20).\n\nReturns:\n    List of recent legal acts with CELEX number, title, date, and link.","operationId":"eurlex_get_recent","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by type: \"regulation\", \"directive\", or \"decision\". Omit for all types."},"days":{"default":30,"description":"Look back period in days (1-365, default 30).","type":"integer"},"limit":{"default":20,"description":"Number of results to return (1-50, default 20).","type":"integer"}},"type":"object"}}}}}},"/rest/eurlex/search_by_subject":{"post":{"tags":["Legal"],"summary":"search_by_subject","description":"Search EU legislation by EuroVoc subject matter.\n\nEuroVoc is the EU's multilingual thesaurus used to classify all\nlegal acts. This searches by subject descriptor rather than\ntitle keywords, which can find legislation that doesn't mention\na topic explicitly in its title.\n\nArgs:\n    subject: EuroVoc subject descriptor to search for.\n    limit: Number of results to return (1-50, default 20).\n\nReturns:\n    List of matching legal acts with subject labels.","operationId":"eurlex_search_by_subject","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"subject":{"description":"EuroVoc subject descriptor (e.g. \"environmental policy\", \"consumer protection\", \"competition\", \"transport\").","type":"string"},"limit":{"default":20,"description":"Number of results to return (1-50, default 20).","type":"integer"}},"required":["subject"],"type":"object"}}}}}},"/rest/eurlex/report_feedback":{"post":{"tags":["Legal"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"eurlex_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Legal","description":"Data sources: Legal"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}