{"openapi":"3.1.0","info":{"title":"Conjuga API","version":"0.1.0","description":"A fully local Portuguese and Spanish verb conjugation engine: rule-based regular conjugation, a hand-verified irregular-verb table, a reverse conjugated-form identifier, and grammar/study-list explainers.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://conjuga.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/conjuga/docs"},"termsOfService":"https://connectorbay.com/conjuga/terms"},"servers":[{"url":"https://conjuga.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/conjuga/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/conjugate":{"post":{"operationId":"conjugate","summary":"Full six-person conjugation of a Portuguese or Spanish verb for one tense/mood. Regular -ar/-er/-ir verbs","description":"Full six-person conjugation of a Portuguese or Spanish verb for one tense/mood. Regular -ar/-er/-ir verbs\n    are conjugated by rule (with the standard spelling-preservation adjustments); 14 common irregular verbs per\n    language come from a hand-verified table. Use for \"conjugate falar in the preterite\", \"how do you say 'I\n    would go' in Spanish\", \"ser in the present subjunctive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"verb":{"description":"A verb's infinitive.","examples":["falar","comer","ser","hablar","tener"],"title":"Verb","type":"string"},"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"},"tense":{"description":"present | preterite | imperfect | future | conditional. Use tense='present', mood='subjunctive' for the present subjunctive.","title":"Tense","type":"string"},"mood":{"default":"indicative","description":"indicative (default) | subjunctive | conditional.","title":"Mood","type":"string"}},"required":["verb","language","tense"],"title":"conjugateArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/verb_info":{"post":{"operationId":"verb_info","summary":"Whether a verb is regular or irregular, its conjugation class (-ar/-er/-ir, or 'irregular'), and its","description":"Whether a verb is regular or irregular, its conjugation class (-ar/-er/-ir, or 'irregular'), and its\n    meaning if it's a widely-known basic verb in this connector's curated list. Use for \"is 'fazer' regular or\n    irregular\", \"what class of verb is 'vivir'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"verb":{"description":"A verb's infinitive.","title":"Verb","type":"string"},"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"}},"required":["verb","language"],"title":"verb_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/identify_conjugated_form":{"post":{"operationId":"identify_conjugated_form","summary":"Reverse lookup: given an already-conjugated word, works out which verb/tense/mood/person it could be, by","description":"Reverse lookup: given an already-conjugated word, works out which verb/tense/mood/person it could be, by\n    checking it against the irregular-verb table and by stripping known regular endings and checking the\n    reconstructed infinitive. Portuguese/Spanish conjugated forms are sometimes genuinely ambiguous (e.g.\n    Portuguese \"foi\" is both \"he/she was\" and \"he/she went\"; a \"-mos\" nós/nosotros form is often identical in\n    the present and the preterite), so this can return more than one plausible match. Use for \"what verb form is\n    'fizemos'\", \"identify 'quería'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"word":{"description":"An already-conjugated word to identify.","examples":["falei","fui","hablamos","tienes"],"minLength":1,"title":"Word","type":"string"},"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"}},"required":["word","language"],"title":"identify_conjugated_formArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/tense_list":{"post":{"operationId":"tense_list","summary":"The tenses/moods this connector supports, each with a one-line explanation of when to use it. Use for","description":"The tenses/moods this connector supports, each with a one-line explanation of when to use it. Use for\n    \"what tenses can you conjugate\", \"when do I use the imperfect vs. the preterite\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"}},"required":["language"],"title":"tense_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/irregular_verbs_list":{"post":{"operationId":"irregular_verbs_list","summary":"The irregular verbs in this connector's curated table (14 per language), each with its meaning and","description":"The irregular verbs in this connector's curated table (14 per language), each with its meaning and\n    irregularity tags — optionally filtered to verbs sharing one irregularity pattern. Use for \"which Spanish\n    verbs are stem-changing in your data\", \"list the Portuguese irregular verbs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"},"pattern":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by a shared irregularity pattern, e.g. 'stem-changing', 'first-person-only', 'irregular-preterite', 'irregular-future-stem', 'highly-irregular'. Omit to list all.","title":"Pattern"}},"required":["language"],"title":"irregular_verbs_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/compare_languages":{"post":{"operationId":"compare_languages","summary":"Side-by-side conjugation of a Portuguese/Spanish verb pair, for learners who know one language and are","description":"Side-by-side conjugation of a Portuguese/Spanish verb pair, for learners who know one language and are\n    picking up the other. Give one verb (e.g. verb_pt='ter') and it looks up the other half of the pair\n    (tener) from a curated list of common verb pairings; give both explicitly for a pair not in that list. Use\n    for \"compare ser and ser in Portuguese and Spanish\", \"show me fazer next to hacer in the preterite\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"verb_pt":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A Portuguese infinitive. Omit to derive it from verb_es via a curated pairing.","title":"Verb Pt"},"verb_es":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A Spanish infinitive. Omit to derive it from verb_pt via a curated pairing.","title":"Verb Es"},"tense":{"default":"present","description":"present | preterite | imperfect | future | conditional.","title":"Tense","type":"string"},"mood":{"default":"indicative","description":"indicative (default) | subjunctive | conditional.","title":"Mood","type":"string"}},"title":"compare_languagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/conjugation_pattern_explainer":{"post":{"operationId":"conjugation_pattern_explainer","summary":"Explains the actual regular-conjugation ending pattern for a verb class + tense/mood — the endings","description":"Explains the actual regular-conjugation ending pattern for a verb class + tense/mood — the endings\n    themselves, what they attach to (stem vs. full infinitive), and a worked example — so you learn the rule\n    rather than just getting one answer. Use for \"what are the endings for -ar verbs in the Portuguese\n    preterite\", \"explain the Spanish -ir present subjunctive pattern\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"},"verb_class":{"description":"ar | er | ir","title":"Verb Class","type":"string"},"tense":{"description":"present | preterite | imperfect | future | conditional.","title":"Tense","type":"string"},"mood":{"default":"indicative","description":"indicative (default) | subjunctive | conditional.","title":"Mood","type":"string"}},"required":["language","verb_class","tense"],"title":"conjugation_pattern_explainerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/pronoun_reference":{"post":{"operationId":"pronoun_reference","summary":"The subject pronoun set for Portuguese or Spanish, with usage notes — Brazilian Portuguese's everyday","description":"The subject pronoun set for Portuguese or Spanish, with usage notes — Brazilian Portuguese's everyday\n    \"você\" vs. the regionally-limited \"tu\"; Spanish \"vosotros\" being Spain-only vs. \"ustedes\" everywhere else.\n    Use for \"what's the difference between tu and você\", \"when do I use vosotros\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"}},"required":["language"],"title":"pronoun_referenceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/common_verb_list":{"post":{"operationId":"common_verb_list","summary":"A curated study list of ~70 common everyday Portuguese or Spanish verbs, optionally filtered by category,","description":"A curated study list of ~70 common everyday Portuguese or Spanish verbs, optionally filtered by category,\n    each with its meaning and conjugation class. Use for \"give me a list of common Spanish verbs about\n    movement\", \"everyday Portuguese verbs to study\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"pt (Portuguese) or es (Spanish).","title":"Language","type":"string"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by category: movement, communication, daily-routine, food-drink, work-study, feelings-state, perception-cognition, possession-existence, social, leisure, state. Omit for the full list.","title":"Category"}},"required":["language"],"title":"common_verb_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/verb_glossary":{"post":{"operationId":"verb_glossary","summary":"Definitions of grammar terms used throughout this connector — mood, tense, conjugation, stem, regular vs.","description":"Definitions of grammar terms used throughout this connector — mood, tense, conjugation, stem, regular vs.\n    irregular, subjunctive, stem-changing verb, and more. Use for \"what does 'stem-changing' mean\", \"define\n    subjunctive mood\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A grammar term to look up (e.g. 'subjunctive', 'stem'); omit to list all.","title":"Term"}},"title":"verb_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}