{"openapi":"3.1.0","info":{"title":"Ritmo (Rhythm) API","version":"0.1.0","description":"A hand-curated Brazilian music genre reference: origins, eras, characteristics, instruments, rhythmic feel, regional map, dance pairings, a history timeline, a festival guide and a glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://ritmo.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/ritmo/docs"},"termsOfService":"https://connectorbay.com/ritmo/terms"},"servers":[{"url":"https://ritmo.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/ritmo/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/genre_info":{"post":{"operationId":"genre_info","summary":"One Brazilian music genre's origin, era, characteristics, key instruments and cultural context. Use for","description":"One Brazilian music genre's origin, era, characteristics, key instruments and cultural context. Use for\n    \"tell me about samba\", \"what is forró\", \"explain MPB\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A genre name.","examples":["samba","forró","MPB","axé"],"title":"Name","type":"string"}},"required":["name"],"title":"genre_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/genre_search":{"post":{"operationId":"genre_search","summary":"Search Brazilian music genres by a free-text query. Use for \"which genres come from Bahia\", \"what genre","description":"Search Brazilian music genres by a free-text query. Use for \"which genres come from Bahia\", \"what genre\n    uses accordion\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Free-text search over genre names, regions, eras and descriptions.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"genre_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/genre_by_region":{"post":{"operationId":"genre_by_region","summary":"Which Brazilian music genres are most associated with a given region (samba/Rio, forró/Northeast, frevo","description":"Which Brazilian music genres are most associated with a given region (samba/Rio, forró/Northeast, frevo\n    and maracatu/Pernambuco, sertanejo/countryside and center-west, axé/Bahia, and more). Use for \"what music is\n    from Pernambuco\", \"which genre is Bahia known for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"A Brazilian region.","examples":["Rio de Janeiro","Northeast","Pernambuco","Bahia","Center-West"],"title":"Region","type":"string"}},"required":["region"],"title":"genre_by_regionArguments","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/instrument_guide":{"post":{"operationId":"instrument_guide","summary":"An instrument's family, how it's played, and its typical genre association, for eight instruments","description":"An instrument's family, how it's played, and its typical genre association, for eight instruments\n    (pandeiro, cuíca, berimbau, cavaquinho, surdo, agogô, tamborim, viola caipira). Use for \"how is a cuíca\n    played\", \"what family is the berimbau in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"An instrument name.","examples":["pandeiro","cuíca","berimbau","cavaquinho"],"title":"Name","type":"string"}},"required":["name"],"title":"instrument_guideArguments","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/rhythm_pattern_guide":{"post":{"operationId":"rhythm_pattern_guide","summary":"A plain-words description of a genre's basic rhythmic feel (not audio or notation) — for example samba's","description":"A plain-words description of a genre's basic rhythmic feel (not audio or notation) — for example samba's\n    syncopated 2/4 groove. Use for \"how does samba's rhythm work\", \"describe the forró beat\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"genre":{"description":"A genre name.","examples":["samba","forró","frevo"],"title":"Genre","type":"string"}},"required":["genre"],"title":"rhythm_pattern_guideArguments","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/history_timeline":{"post":{"operationId":"history_timeline","summary":"A brief chronological overview of the evolution of Brazilian popular music genres, by approximate era.","description":"A brief chronological overview of the evolution of Brazilian popular music genres, by approximate era.\n    Use for \"give me a history of Brazilian music\", \"how did samba lead to bossa nova\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"history_timelineArguments","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/dance_pairing":{"post":{"operationId":"dance_pairing","summary":"The dance style associated with a genre, where one exists (samba dance, forró dance, frevo's acrobatic","description":"The dance style associated with a genre, where one exists (samba dance, forró dance, frevo's acrobatic\n    dance, and more). Use for \"what dance goes with axé\", \"is there a dance for bossa nova\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"genre":{"description":"A genre name.","examples":["samba","forró","frevo","maracatu"],"title":"Genre","type":"string"}},"required":["genre"],"title":"dance_pairingArguments","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/festival_guide":{"post":{"operationId":"festival_guide","summary":"The musical role of Carnaval (samba schools and samba-enredo in Rio, trio elétrico and axé in Bahia,","description":"The musical role of Carnaval (samba schools and samba-enredo in Rio, trio elétrico and axé in Bahia,\n    frevo and maracatu in Pernambuco) and other major regional music-linked festivals (São João/Festa Junina and\n    forró). Use for \"what music plays at Carnaval\", \"what's the connection between forró and São João\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"festival_guideArguments","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/music_glossary":{"post":{"operationId":"music_glossary","summary":"Definitions of common Brazilian music/Carnaval terms (samba-enredo, batucada, bloco, cordão, roda de","description":"Definitions of common Brazilian music/Carnaval terms (samba-enredo, batucada, bloco, cordão, roda de\n    samba, bateria, ala, enredo, quadra, trio elétrico, baile funk, roda de choro). Use for \"what's a\n    samba-enredo\", \"what does bloco mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"music_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}}}}