HTTP API
The HTTP API can be used to build applications on top of Grove. Of course, you can always use the IRC protocol to interact with Grove too.
For all endpoints, HTTP basic access authentication is required.
Auth
GET https://grove.io/api/auth
Use this method to check if that the authentication username and password are correct. Returns the user and a list of their organizations.
Organization
GET https://grove.io/api/organizations/:org_id
Get information about an organization including a list of channels the user has joined in the organization. Also returns the cursor for use in the live endpoint.
Channel
GET https://grove.io/api/channels/:channel_id
Get information about a channel.
Messages
GET https://grove.io/api/channels/:channel_id/messages
Get a list of the most recent messages in a channel. Use the optional until_id
parameter to paginate and get messages up until that message ID.
Optional parameters: until_id
Post a message
POST https://grove.io/api/channels/:channel_id/messages
Post a new message. To help remove duplicates in your own application, you may supply
a unique ID for each message using the cid
parameter.
Required parameters: message
Optional parameters: cid
Note: Want to post a message from a bot or service? Try our simple POST API.
Users
GET https://grove.io/api/channels/:channel_id/users
Get the list of the users in the channel. The response includes an online
flag.
Topic
GET https://grove.io/api/channels/:channel_id/topic
Get the channel topic.
Update the topic
POST https://grove.io/api/channels/:channel_id/topic
Update the channel topic.
Required parameters: topic
Join list
GET https://grove.io/api/organizations/:org_id/join
Get list of available channels to join. The response includes an joined
flag for
channels the user has already joined.
Join channel
POST https://grove.io/api/channels/:channel_id/join
Join a channel.
Part channel
POST https://grove.io/api/channels/:channel_id/part
Part or leave a channel.
Private channel
GET https://grove.io/api/private/:org_name/:username
Get information about a private channel with another user. This will create a private channel if it doesn't exist already and also join the user to the channel.
Private channel messages
GET https://grove.io/api/private/:private_channel_id/messages
Get a list of the most recent private messages in a private channel. Use the optional until_id
parameter to paginate and get messages up until that message ID.
Optional parameters: until_id
Post a private message
POST https://grove.io/api/private/:private_channel_id/messages
Post a new private message. To help remove duplicates in your own application, you may supply
a unique ID for each message using the cid
parameter.
Required parameters: message
Optional parameters: cid
Part private channel
POST https://grove.io/api/private/:private_channel_id/part
Part or leave a private channel.
Invite to an organization
POST https://grove.io/api/organizations/:org_id/invite
Invite someone to join your organization. You must be an owner of the organization. The emails
parameter
may be one or more email addresses, separated by commas. Use the optional message
parameter to send a
personal message.
Required parameters: emails
Optional parameters: message