{"openapi":"3.1.0","info":{"title":"Giria API","version":"0.1.0","description":"A hand-curated Brazilian Portuguese slang and everyday-expression glossary: term lookups, keyword search, categories, a phrase of the day, English-to-slang translation hints, formality and regional notes.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://giria.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/giria/docs"},"termsOfService":"https://connectorbay.com/giria/terms"},"servers":[{"url":"https://giria.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/giria/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/slang_lookup":{"post":{"operationId":"slang_lookup","summary":"Look up one Brazilian Portuguese slang term or everyday expression: its definition, its literal","description":"Look up one Brazilian Portuguese slang term or everyday expression: its definition, its literal\n    meaning versus what it actually/idiomatically means, an example sentence in Portuguese with an\n    English translation, and a formality/register note. Use for \"what does 'beleza' mean\", \"what does\n    'dar um jeitinho' actually mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"A Brazilian Portuguese slang term or expression.","examples":["beleza","valeu","dar um jeitinho"],"minLength":1,"title":"Term","type":"string"}},"required":["term"],"title":"slang_lookupArguments","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/slang_search":{"post":{"operationId":"slang_search","summary":"Search across every term, definition, literal meaning and example sentence for a keyword. Use","description":"Search across every term, definition, literal meaning and example sentence for a keyword. Use\n    for \"find slang about money\", \"any Brazilian slang for being embarrassed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search for across terms, definitions and example sentences.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"slang_searchArguments","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/random_slang":{"post":{"operationId":"random_slang","summary":"A random Brazilian Portuguese slang term, optionally filtered to one category. Use for \"give me a","description":"A random Brazilian Portuguese slang term, optionally filtered to one category. Use for \"give me a\n    random Brazilian slang word\", \"teach me a random football-slang term\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional category filter, e.g. greeting, exclamation, praise, filler-word, money, food, party, romance, people, work, football, carnival. Omit for any category.","title":"Category"}},"title":"random_slangArguments","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/slang_by_category":{"post":{"operationId":"slang_by_category","summary":"List every term in one category. Use for \"show me Brazilian greeting slang\", \"list all","description":"List every term in one category. Use for \"show me Brazilian greeting slang\", \"list all\n    football-derived Brazilian expressions\". See glossary_stats for the full list of categories.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A category name, e.g. greeting, exclamation, praise, filler-word, money, food, party, romance, people, work, football, carnival.","minLength":1,"title":"Category","type":"string"}},"required":["category"],"title":"slang_by_categoryArguments","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/phrase_of_the_day":{"post":{"operationId":"phrase_of_the_day","summary":"A deterministic \"phrase of the day\" — the same term for everyone who asks on a given calendar","description":"A deterministic \"phrase of the day\" — the same term for everyone who asks on a given calendar\n    date — with its full explanation. Use for \"phrase of the day\", \"teach me a Brazilian slang word for\n    today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"phrase_of_the_dayArguments","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/translate_hint":{"post":{"operationId":"translate_hint","summary":"Best-effort suggestion(s) for the closest Brazilian-Portuguese slang equivalent to a common","description":"Best-effort suggestion(s) for the closest Brazilian-Portuguese slang equivalent to a common\n    English casual phrase or idiom, matched by keyword against this connector's own curated data — not a\n    live translation service. Use for \"what's the Brazilian slang for 'let's go'\", \"how would a Brazilian\n    say 'that's cool'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"english_phrase":{"description":"A common English casual phrase or idiom.","examples":["no big deal","let's go","that's cool","I'm broke"],"minLength":1,"title":"English Phrase","type":"string"}},"required":["english_phrase"],"title":"translate_hintArguments","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/formality_check":{"post":{"operationId":"formality_check","summary":"Flags whether a term is casual-only (friends/family, avoid formally), needs care in formal or","description":"Flags whether a term is casual-only (friends/family, avoid formally), needs care in formal or\n    professional settings even though it isn't profanity, or is broadly fine anywhere. Use for \"is 'mano'\n    okay to say to my boss\", \"can I use 'valeu' in a work email\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"A Brazilian Portuguese slang term.","minLength":1,"title":"Term","type":"string"}},"required":["term"],"title":"formality_checkArguments","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/regional_note":{"post":{"operationId":"regional_note","summary":"Whether a term is used nationwide or skews to a specific region (São Paulo, Rio de Janeiro,","description":"Whether a term is used nationwide or skews to a specific region (São Paulo, Rio de Janeiro,\n    Bahia, the Northeast, the South, ...). Use for \"is 'oxente' used everywhere in Brazil\", \"where is\n    'bah' from\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"A Brazilian Portuguese slang term.","minLength":1,"title":"Term","type":"string"}},"required":["term"],"title":"regional_noteArguments","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/glossary_stats":{"post":{"operationId":"glossary_stats","summary":"Counts by category, the register (formality) breakdown, and the total term count in this","description":"Counts by category, the register (formality) breakdown, and the total term count in this\n    glossary. Use for \"how many slang terms do you know\", \"what categories does this cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"glossary_statsArguments","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}}}}