canonical: https://jentic.com/apis/chatwork.com/chatwork

# Chatwork API

Chatwork is a cloud-based business chat tool for team messaging, task management, and file sharing inside group chat rooms. The v2 REST API exposes 32 endpoints covering rooms, messages, tasks, files, contacts, and invitation links - enough to fully automate room creation, message posting, task tracking, and file uploads. It is well suited to teams building bots, integrations, or migration tools on top of Chatwork.

## For AI agents

Post messages, create tasks, manage rooms, and upload files in Chatwork so an agent can run team chat workflows end to end.

## Scope

The 32 operations in this spec cover group chat rooms, messages, tasks, files, contacts, and invitation links only - there are no endpoints for voice calls, video conferencing, or an external customer support inbox.

## Capabilities

- Post and update messages in any Chatwork group chat room
- Create and complete tasks tied to specific rooms and assignees
- Provision new group chat rooms with members and roles
- Upload files to rooms and fetch file metadata
- Mark messages read or unread on behalf of a user
- Manage room invitation links for inviting new members
- Read your own contacts, tasks, and unread counts via the /me endpoints

## Use cases

### Project Room Bot

Run a bot that posts daily standup prompts, creates tasks from meeting notes, and uploads weekly reports into a project's Chatwork room. The bot uses POST `/rooms/{room_id}/messages` to send updates, POST `/rooms/{room_id}/tasks` to file action items, and POST `/rooms/{room_id}/files` to share artefacts - turning Chatwork into the project's operational hub.

Example prompt: Post 'Daily standup at 10:00' to room_id 12345 and create three tasks for users 100, 101, 102 due tomorrow.

### Task Automation

Mirror tasks between Chatwork and an external project tracker. Pull `/my/tasks` for the current user, sync new items into the tracker, and create matching tasks in Chatwork with POST `/rooms/{room_id}/tasks` when issues are filed elsewhere. Useful for teams that live in Chatwork but report into Jira or Linear.

Example prompt: Fetch `/my/tasks` and return the count of incomplete tasks due in the next 7 days.

### Onboarding and Room Provisioning

When a new project starts or a new hire joins, automatically create a Chatwork room, invite the right members, and post a welcome message with onboarding links. POST /rooms creates the room, PUT `/rooms/{room_id}/members` updates membership, and POST `/rooms/{room_id}/link` generates a shareable invite for guests.

Example prompt: Create a room called 'Project Atlas Kickoff' with members [100, 101, 102] as admin and post a welcome message.

### AI Agent for Chatwork Workflows

An autonomous agent reads unread Chatwork rooms, drafts replies based on prior context, files action items as tasks, and posts them - all through Jentic without holding the X-ChatWorkToken in agent memory. Jentic's intent search lets the agent pick the right Chatwork operation with one query.

Example prompt: Through Jentic, search 'post a message to a chatwork room', load the schema, and execute with room_id 12345 and body 'Acknowledged'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/rooms/{room_id}/messages` | Post a message to a room |
| GET | `/rooms/{room_id}/messages` | Get messages in a room |
| POST | `/rooms/{room_id}/tasks` | Create a task in a room |
| GET | `/my/tasks` | Get your task list |
| POST | `/rooms` | Create a new group chat room |
| POST | `/rooms/{room_id}/files` | Upload a file to a room |
| GET | `/me` | Get your account information |

## Key resources

- **Rooms** — Create, list, update, and delete group chat rooms
- **Messages** — Post, read, update, and delete messages within a room
- **Tasks** — Create, list, and complete tasks tied to rooms and assignees
- **Files** — Upload, list, and fetch metadata for files attached to rooms
- **Contacts** — Read your contact list and contact approval requests
- **Me** — Access your own account info, unread counts, and task list

## Why Jentic

- **Setup:** Wiring Chatwork by hand means handling its X-ChatWorkToken header and finding the right call among 32 endpoints for rooms, messages, tasks, and files. Through Jentic you install once, import the Chatwork API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Chatwork puts the room id in the URL path (`/rooms/{room_id}/...`), so a rule can pin your agent to one room: it can post messages, add tasks, and upload files there and nothing else. You choose the operations it may call, so creating new rooms is not included unless you add it.
- **Credential handling:** Your Chatwork X-ChatWorkToken is stored once, encrypted, by your own Jentic One instance and injected into the header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'post a message to a chatwork room', and Jentic returns the matching Chatwork operation with its input schema so the agent picks the right endpoint among 32 without browsing the reference docs.

## Related APIs

- **Chatwoot** — Open-source customer support platform - different focus (external customer chat vs internal team chat)
- **Chatsistant API** — AI chatbot platform you can layer on top of Chatwork rooms for automated replies
- **Checkly API** — Synthetic monitoring that can post Chatwork notifications when checks fail

## FAQ

### Does Chatwork publish an official OpenAPI spec?

Yes. Chatwork embeds a machine-readable OpenAPI 3.1.0 definition titled 'Chatwork API', version v2, on each reference page at developer.chatwork.com, one operation per page. The document Jentic serves here is its own OpenAPI 3.0.3 spec, curated for agent use; it is not a copy of Chatwork's, and the two operation sets are close but not identical. 31 of the 32 operations here match Chatwork's definition, and the operation that changes a task's completion state is recorded at a different path there than it is here. Get started with Jentic One, the self-hosted execution layer.

### Is there a Chatwork MCP server?

You don't need an MCP server to give your agent Chatwork. Jentic connects it directly from the API Directory: import the Chatwork API, store your X-ChatWorkToken once, and your agent calls it.

### What authentication does the Chatwork API use?

The spec behind this page declares an API key passed in the X-ChatWorkToken header, and Chatwork generates those tokens per user from the account settings page. Chatwork's own OpenAPI definition on developer.chatwork.com additionally declares OAuth 2.0 with an authorization-code flow and per-resource scopes such as rooms.messages:write. Through Jentic, the credential is stored encrypted in your Jentic One instance and injected at execution time, so agents never see the raw value.

### Can I post messages to a Chatwork room with the API?

Yes. POST `/rooms/{room_id}/messages` accepts a body parameter and posts the message to the specified room. Chatwork supports its own [To:] and [info] tags inside message bodies for mentions and styling.

### How do I create a task in Chatwork via the API?

Use POST `/rooms/{room_id}/tasks` with the body, assigned account ids (to_ids), and an optional limit timestamp. The endpoint returns the created task ids, which you can later mark complete with the task status update operation.

### What are the rate limits for the Chatwork API?

Chatwork's documentation states a limit of 300 API requests per 5 minutes, with the remaining call count and the reset time returned in response headers. Posting messages or tasks to a room is capped separately at 10 calls per 10 seconds. Exceeding either limit returns HTTP 429, so retry with backoff and batch reads where possible.

### How do I post a message to Chatwork through Jentic?

Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh` on the machine hosting your instance, then run `jentic register` on the separate machine where your agent runs. Add the Chatwork API from the API Directory, store your token once, and ask the agent to post the message: Jentic resolves the intent to POST `/rooms/{room_id}/messages` and injects the X-ChatWorkToken header at execution time.

### Can I limit what my agent is allowed to do with the Chatwork API?

Yes. Because Chatwork puts the room id in the URL path (`/rooms/{room_id}/...`), a rule in your self-hosted Jentic One instance can pin your agent to a single room, letting it post messages, add tasks with POST `/rooms/{room_id}/tasks`, and upload files there and nothing else. You choose which operations the agent may call, so creating new group chat rooms with POST /rooms is excluded unless you add it. Your own rules decide which endpoints and the X-ChatWorkToken credential the agent can use at execution time.
