{"openapi":"3.1.0","info":{"title":"Chatwork (BYOK) API","version":"0.1.0","description":"Chatwork (BYOK) lets an AI assistant read your own Chatwork data through the Chatwork API with a key you supply (Chatwork API token). Read-only: 12 tools (get_my_account, get_my_status, list_my_tasks, list_contacts, list_rooms, get_room, list_room_members, list_room_messages, get_room_message, list_room_tasks, get_room_task, list_room_files). The BYOK key travels with each request, is used for...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-chatwork.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-chatwork/docs"},"termsOfService":"https://connectorbay.com/byok-chatwork/terms"},"servers":[{"url":"https://byok-chatwork.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-chatwork/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_my_account":{"post":{"operationId":"get_my_account","summary":"Show the Chatwork account the token belongs to: account id, name, organization, department and title. Use for \"Which Cha","description":"Show the Chatwork account the token belongs to: account id, name, organization, department and title. Use for \"Which Chatwork account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_my_accountArguments","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/get_my_status":{"post":{"operationId":"get_my_status","summary":"Show how many rooms and messages are unread, how many messages mention you, and how many tasks are unfinished. Use for \"","description":"Show how many rooms and messages are unread, how many messages mention you, and how many tasks are unfinished. Use for \"How many unread Chatwork messages and open tasks do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_my_statusArguments","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/list_my_tasks":{"post":{"operationId":"list_my_tasks","summary":"List tasks assigned to you across all rooms (up to 100), optionally only open or done ones or by assigner. Use for \"Whic","description":"List tasks assigned to you across all rooms (up to 100), optionally only open or done ones or by assigner. Use for \"Which Chatwork tasks are still open for me\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["open","done"],"type":"string"},{"type":"null"}],"default":null,"description":"Task status to keep: open or done (all if omitted).","title":"Status"},"assigned_by_account_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only tasks assigned by this account id.","title":"Assigned By Account Id"}},"title":"list_my_tasksArguments","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/list_contacts":{"post":{"operationId":"list_contacts","summary":"List the people in your Chatwork contact list with organization, department and the id of the direct-chat room. Use for ","description":"List the people in your Chatwork contact list with organization, department and the id of the direct-chat room. Use for \"Who is in my Chatwork contacts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_contactsArguments","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/list_rooms":{"post":{"operationId":"list_rooms","summary":"List all chats of your account (group, direct and my chat) with type, your role, unread and mention counts and last upda","description":"List all chats of your account (group, direct and my chat) with type, your role, unread and mention counts and last update time. Use for \"Which Chatwork rooms have unread messages\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_roomsArguments","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/get_room":{"post":{"operationId":"get_room","summary":"Get one chat room: name, type, your role, counters and its description. Use for \"What is the description of Chatwork roo","description":"Get one chat room: name, type, your role, counters and its description. Use for \"What is the description of Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"}},"required":["room_id"],"title":"get_roomArguments","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/list_room_members":{"post":{"operationId":"list_room_members","summary":"List the members of a room with their role (admin, member or readonly), organization and department. Use for \"Who are th","description":"List the members of a room with their role (admin, member or readonly), organization and department. Use for \"Who are the members of Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"}},"required":["room_id"],"title":"list_room_membersArguments","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/list_room_messages":{"post":{"operationId":"list_room_messages","summary":"List up to 100 messages of a room. With force=0 the service returns only messages not yet returned to this token by an e","description":"List up to 100 messages of a room. With force=0 the service returns only messages not yet returned to this token by an earlier call; force=1 always returns the 100 newest. Free plans only see the last 40 days. Use for \"What are the latest messages in Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"},"force":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":1,"description":"1 returns the 100 newest messages regardless of earlier calls; 0 returns only messages new since the last call.","title":"Force"}},"required":["room_id"],"title":"list_room_messagesArguments","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/get_room_message":{"post":{"operationId":"get_room_message","summary":"Get one message of a room by its id: author, text, send time and edit time. Use for \"Show message 5 of Chatwork room 123","description":"Get one message of a room by its id: author, text, send time and edit time. Use for \"Show message 5 of Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"},"message_id":{"description":"Message id (text, from list_room_messages).","maxLength":200,"title":"Message Id","type":"string"}},"required":["room_id","message_id"],"title":"get_room_messageArguments","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/list_room_tasks":{"post":{"operationId":"list_room_tasks","summary":"List up to 100 tasks of a room, optionally filtered by assignee, assigner or status. Use for \"Which tasks are open in Ch","description":"List up to 100 tasks of a room, optionally filtered by assignee, assigner or status. Use for \"Which tasks are open in Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"},"account_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only tasks whose assignee has this account id.","title":"Account Id"},"assigned_by_account_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only tasks assigned by this account id.","title":"Assigned By Account Id"},"status":{"anyOf":[{"enum":["open","done"],"type":"string"},{"type":"null"}],"default":null,"description":"Task status to keep: open or done.","title":"Status"}},"required":["room_id"],"title":"list_room_tasksArguments","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/get_room_task":{"post":{"operationId":"get_room_task","summary":"Get one task of a room: assignee, assigner, text, due time and status. Use for \"Show task 3 in Chatwork room 123\".","description":"Get one task of a room: assignee, assigner, text, due time and status. Use for \"Show task 3 in Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"},"task_id":{"description":"Numeric task id (from list_room_tasks).","title":"Task Id","type":"integer"}},"required":["room_id","task_id"],"title":"get_room_taskArguments","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/list_room_files":{"post":{"operationId":"list_room_files","summary":"List up to 100 files shared in a room with file name, size, uploader and upload time (no download links). Use for \"Which","description":"List up to 100 files shared in a room with file name, size, uploader and upload time (no download links). Use for \"Which files were shared in Chatwork room 123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Numeric ID of the chat room (from list_rooms).","title":"Room Id","type":"integer"},"account_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only files uploaded by this account id.","title":"Account Id"}},"required":["room_id"],"title":"list_room_filesArguments","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}}}}