The Hive Developer Hub

Welcome to the Hive developer hub. You'll find API reference documentation to help you start working with Hive as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    
Suggest Edits

Introduction

 

Welcome to the Hive REST API docs! The reference documentation here is designed for those interested in developing integrations for Hive that are not already inside of the Hive core product. You can use the Hive API to accomplish awesome things for your team, like creating automated messages, kicking off action templates, and much more!

API compatibility

This API will evolve. Future versions of this API may add new endpoints or parameters. Because the API is still in Beta, parameters and endpoint may be subject to change and support is not guaranteed (although we will try our best to maintain backward compatibility).

Clients that want to be future-proof should avoid passing undocumented parameters (as they may cause different behavior in the future), and they should avoid strict checks on the keys of objects found in responses.

SSL only

All requests to the Hive REST API are required to be done over SSL.

Base Endpoint

All requests are to be sent to https://app.hive.com/api/v1 as a prefix.

Feedback + Community Contributions

We're always looking to improve the API + API documentation! If you have suggestions for the docs, please suggest edits on the section you're looking to improve by clicking the "Suggest Edits" button:

"Suggest Edits" button

"Suggest Edits" button

If there's something you'd like to see in the API that does not currently exist, please reach out to the team via live chat by clicking the blue message icon in the bottom right of the screen:

Live chat support

Live chat support

Suggest Edits

API Keys and Auth

 

Getting your API key + User ID

Before you get started, you'll want to generate an API key and grab your User ID. To get those, log into your Hive account, go to the main menu in the top right, and select the "API information". From there, generate a key for use throughout the API.

Location of the API information menu

Location of the API information menu

Minimum Required Parameters

All requests require a user id and API key in the URL query string parameters. The user id parameter is written as "user_id", and the API key parameter is written as "api_key". You can go ahead and test your credentials by hitting the endpoint below with your generated API key and user id:

curl -X GET "https://app.hive.com/api/v1/testcredentials?user_id=ABC123&api_key=APIKEY123"

You should get a User authenticated success message. Great job!

Suggest Edits

Error handling

 

Errors are returned using standard HTTP error code syntax. Any additional info is included in the body of the return call, JSON-formatted. Error codes not listed here are in the API methods listed below.

Any 400 level errors will return an object with a message key describing the error. An example error response might look like:

{ error: 400, message: "User not found" }
Suggest Edits

Workspaces

 

Workspaces are the main container for everything your team does. All Projects, Actions, Messages, Groups, and Users fall under Workspaces.

Below is the data structure of the Workspace object in Hive:

Field
Type
Description

id

String

Unique alphanumeric string id

name

String

Name of the workspace

members

Array

Members of the workspace as an array of User ID Strings

createdAt

ISO Date String

Date + time of Workspace creation

modifiedAt

ISO Date String

Date + time that the Workspace was last modified

createdBy

String/User ID

User ID string of the Workspace creator

modifiedBy

String/User ID

User ID string of the last user to modify fields on the Workspace

Suggest Edits

Get workspaces

Get all workspaces that you're is a member of.

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "id": "1a2b3c4d5e6f7g8h9",
  "name": "Honey Enterprises",
  "members": [
    '1234abc',
    '5678zyc'
  ],
  "createdAt": "2017-05-18T15:26:17.407Z",
  "modifiedAt": "2017-05-19T02:25:06.190Z",
  "createdBy": "1234abcuJzo4k7F9",
  "modifiedBy": "1234abcuJzo4k7F9"
}

 
Suggest Edits

Get groups

Get all chat groups for a given workspace

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/groups
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/123ABC567XYZ/groups' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "8MRZ6oYzRMJ4eJYnR",
    "name": "Everyone",
    "members": [
      '1234abcuJzo4k7F9',
      '6789abcuJzo4k7F9'
     ],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"
  },
  {
    "id": "8S8pMXXJwCeExYWzq",
    "name": "Bee Hive Gossip",
    "members": [
      '1234abcuJzo4k7F9',
      '6789abcuJzo4k7F9'
     ],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"    
  },
  {
    "id": "8yxNHYsvqYCDFP19J",
    "name": "Maria von Trapp"
    "members": [
      '1234abcuJzo4k7F9',
      '6789abcuJzo4k7F9'
     ],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"    
  }
]

Path Params

workspaceId
string
required

ID of the workspace

 
Suggest Edits

Get projects

Get all projects for a given workspace that the user has access to

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/projects
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/123ABC567XYZ/projects' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "9MRZ6oYzRMJ4eJYnR",
    "name": "Spring Bee Hive Rebuild",
    "sharingType": "everyone",
    "members": [],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9" 
  },
  {
    "id": "9S8pMXXJwCeExYWzq",
    "name": "Sell More Honey Campaign",
    "sharingType": "everyone",
    "members": [],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"  
  },
  {
    "id": "9yxNHYsvqYCDFP19J",
    "name": "Bee better this year",
    "sharingType": "everyone",
    "members": [],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"   
  }
]

Path Params

workspaceId
string
required

ID of the workspace

 
Suggest Edits

Get actions

Get all actions for a given workspace that the user has access to

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/actions
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var sortBy = '&sortBy=title+asc';
$.get(baseUrl + 'workspaces/123ABC567XYZ/actions' + authQs + sortBy, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "jArt6JZpezAMZimzy",
    "title": "Prepare for weekly product meeting",
    "status": "Completed",
    "modifiedAt": "2016-08-23T07:49:09.621Z",
    "createdAt": "2015-07-09T20:33:56.465Z",
    "checkedDate": "2015-07-13T02:30:37.129Z"
  }
]

Path Params

workspaceId
string
required

ID of the workspace

Query Params

projectId
string

An optional project ID to get actions from. By default, all actions will be returned regardless of what project they belong to.

sortBy
string

Sort results by an Action Object field (for example, sortBy=title+asc)

limit
string
filters
string

Optional fields to filter by. Filters expects a structure like "filters[fieldName]=value". For example, if you wanted to filter to just get actions with the status "Completed", you would pass: "filters[status]=Completed". Currently, only the following fields are supported: "status", "parent", "archived".

 
Suggest Edits

Get action templates

Get all action templates for a given workspace that the user has access to

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/actiontemplates
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/123ABC567XYZ/actiontemplates' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "BrhDWFRzJDPMcitEk",
    "name": "Blog Post",
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9" 
  },
  {
    "id": "J7ixnuHFP4kmncLun",
    "name": "Product Research",
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"   
  }
]

Path Params

workspaceId
string
required

ID of the workspace

 
Suggest Edits

Create activity feed

Create an Activity Feed in the specified workspace for a Project or Action

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/workspaces/workspaceId/activity-feeds
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/123ABC567XYZ/activity-feeds' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
    "id": "abcde123456",
    "workspace": "abcde123456",
    "bucket": "activityFeed",
    "assignedTo": "abcde123456",
    "attachedItemType": "action",
    "attachedItemId": "abcde123456",
    "title": "Comment!",
    "body": "Comment body",
    "createdAt": "1900-01-01T00:00:00.000Z",
    "modifiedAt": "1900-01-01T00:00:00.000Z",
    "createdBy": "server",
    "modifiedBy": "server"
}

Path Params

workspaceId
string
required

ID of the workspace

Body Params

type
string
required

Type determines the icon used ('comment', 'addProject', 'action', 'due', 'assignees', 'subaction', 'ready')

bucket
string

Bucket for the ActivityFeed

assignedTo
string
required

UserId to receive this ActivityFeed

attachedItemType
string
required

'action' or 'project'

attachedItemId
string
required

Id of the related item

title
string

Title

body
string
required
 

Everyone with a Hive account has a User object.

Field
Type
Description

_id

String

Unique alphanumeric string id

fullName

String

Full name of the user

profile.firstName

String

First name of the user

profile.lastName

String

Last name of the user

email

String

Email address of the user

Suggest Edits

Get user

Get a user by id

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/users/userId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

$.get(baseUrl + 'users/' + userId + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "id": "232b3c4d5e6f7g8h1",
  "profile": {
    "firstName": "Jane",
  	"lastName": "Doe",
  },
  "email": "john.doe@hive.com",
}

Path Params

userId
string
required

User ID

 
Suggest Edits

Update user

Update a user

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/users/userId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

const user = {
  profile: {
    firstName: 'Jane',
  }
}

$.put(baseUrl + 'users/' + userId + qs, user, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "profile": {
    "firstName": "Jane",
  	"lastName": "Doe",
  },
  "email": "john.doe@hive.com",
}

Path Params

userId
string
required

User ID

Body Params

profile
object
 
profile.firstName
string

First name

profile.lastName
string

Last name

 
Suggest Edits

Get workspace users

Get all users for a given workspace that the user has access to

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/users
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.get(baseUrl + 'workspaces/' + workspaceId + '/users' + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "22YK3N5uGpzMdw7fm",
    "profile": {
      "firstName": "Vera",
      "lastName": "Morrisville"
    },
    "fullName": "Vera Morrisville",
    "email": "john.doe@hive.com",
  },
  {
    "id": "5oSp4usru9FTsFCuH",
    "profile": {
      "firstName": "Scott",
      "lastName": "Brown"
    },
    "fullName": "Scott Brown",
    "email": "john.doe@hive.com",
  },
]

Path Params

workspaceId
string
required

ID of the workspace

 
Suggest Edits

Get users

Get a list of users, filter by "email"

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/users
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId + '&email=' + email;

$.get(baseUrl + 'users' + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "232b3c4d5e6f7g8h1",
    "profile": {
      "firstName": "Jane",
    	"lastName": "Doe",
    },
    "email": "john.doe@hive.com",
  }
]

Query Params

email
string

Email address to search by

 
Suggest Edits

Invite user

Invite a new user to your workspace

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/workspaces/workspaceId/users
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
const user = {
  email: 'test@hive.com',
  fullName: 'Test User',
};

$.post(baseUrl + 'workspaces/' + workspaceId + '/users' + authQs, user, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
	"id": "22YK3N5uGpzMdw7fm",
  "profile": {
    "firstName": "Test",
    "lastName": "User"
  },
  "fullName": "Test User",
  "email": "test@hive.com",
}

Path Params

workspaceId
string
required

Workspace ID

Body Params

email
string
required

Email Address

fullName
string

Full name

shouldSendInvite
boolean

Send email notification

 
 

Workspaces are the main container for everything your team does. All Projects, Actions, Messages, Groups, and Users fall under Workspaces.

Actions in Hive represent pieces of work for you and your team to do (similar to Tasks or To-dos like in other apps, but much more powerful and team-oriented!). Actions always belong to a single Workspace and can belong to either one or no Projects. Lastly, part of what makes Actions in Hive so powerful is that they can be infinitely nested within each other. Actions that are nested are called sub Actions and are denoted by their "parent" field having an ID.

Below is the data structure of the Action object in Hive:

Field
Type
Description

id

String

Unique alphanumeric string id

title

String

Title of the action

workspace

String/Workspace ID

ID of the Workspace that the Action belongs to

assignees

Array

Array of User ID strings. Array with value 'none' represents unassigned

projectId

String/Project ID

ID of the Project (if any) that the Action belongs to

description

String

User input description of the action

customFields

Array of objects
[{ label: '', value: '' }]

Action custom fields

createdAt

ISO Date String

Date + time of Action creation

modifiedAt

ISO Date String

Date + time that the Action was last modified

createdBy

String/User ID

User ID string of the Action creator

modifiedBy

String/User ID

User ID string of the last user to modify fields on the Action

Suggest Edits

Get action

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/actions/actionId
const actionId = '1a2b3c4d5e6f7g8h9';
const baseUrl = `https://app.hive.com/api/v1/actions/${actionId}/comments`;
const authQs = `?api_key=${apiKey}&user_id=${userId}`;
const url = `${baseUrl}${authQs}`;

$.get(url, function(response) {
  // response = Array of action comments
});
A binary file was returned

You couldn't be authenticated

{
  "id": "232b3c4d5e6f7g8h1",
  "body": "comment body",
  "workspace": "w32bac4d5e6f7g8h2",
  "createdAt": "2019-01-01T00:00:00.000Z",
  "createdBy": "u32bac4d5e6f7g8h2",
  "attachments": [],
  "reactions": [],
  "mentions": [],
  "estimate": 3600 | null
}

Path Params

actionId
string
required

The id of the action

 

estimate is the amount of time estimated for the action, in seconds. If no estimate is present, the field will be null

Suggest Edits

Create action

Get all actions for a given workspace that the user has access to

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/actions/create
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var action = {
  workspace: '1234567abcd',
  title: 'New product research',
  assigned_to: '1234567abcde',
  when: 'today'
};
$.post(baseUrl + 'actions/create' + authQs, action, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "title": "This is my action",
  "description": "I just created a new action",
  "assignees": [
    "12345gfuJzo4k7F9"
  ],
  "deadline": null,
  "modifiedAt": "2018-01-23T21:41:40.289Z",
  "customFields": [],
  "createdAt": "2018-01-23T21:41:40.295Z",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345gfuJzo4k7F9"
}

Body Params

workspace
string

ID of the workspace

title
string

Title of the action

description
string

Description of the action

assignees
array of strings

User Ids of action assignees; if value isn't passed the action will be assigned to the user Id of the request

projectId
string

Assign action to a specific project

deadline
string

Date string to set the deadline (date format: yyyy/mm/dd)

scheduledDate
string

Date string to set the deadline (date format: yyyy/mm/dd)

processId
string

Pass action template id to apply an action template

customFields
array of objects

Add custom fields to the action: Each object must contain label (string) and value (string)

Label
Value
 
Suggest Edits

Update action

Update the action

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/actions/actionId
var actionId = '1a2b3c4d5e6f7g8h9';
var baseUrl = 'https://app.hive.com/api/v1/actions/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var url = `${baseUrl}${actionId}${authQs}`;

$.ajax(url, {
  method: 'PUT',
  contentType: "application/json",
  data: JSON.stringify({
    status: 'In Progress',
    update_children: false,
    customFields: [{ label: "labelValue", value: "newValue" }],
  }),
  success: function(response) {
    // response.action = Updated action
  }
});
A binary file was returned

You couldn't be authenticated

{
    "message": "Action status successfully updated",
    "action": {
        "id": "1a2b3c4d5e6f7g8h9",
        "title": "Action Title",
        "workspace": "fd8s97f9sd87f89s",
        "assignees": [
            "4k5l36jklgb32hj"
        ],
        "projectId": "g6fd9a87v98ds78",
        "customFields": [{ "label": "labelValue", "value": "newValue" }],
        "createdAt": "2018-07-27T17:10:49.687Z",
        "modifiedAt": "2018-07-30T18:12:10.411Z",
        "createdBy": "fds879a7fd8s9a",
        "modifiedBy": "fds879a7fd8s9a",
        "status": "In Progress"
    }
}

Path Params

actionId
string
required

The id of the action

Body Params

status
string

The new status of the action

update_children
boolean

True if this action's children should also have their statuses updated

title
string

Set new action title

assignees
array of strings

User IDs

labels
array of strings

Set new Labels

urgent
boolean

Urgency state

privacy
string

Set privacy value (allowed values: "private", "publk")

checked
boolean

Checked state

scheduledDate
date

Set start date

deadline
date

Set end date

parent
string

Set new parent for action

customFields
array of objects

Add new or update an existing custom field. Work with 'text' custom fields only.

Label
Value
 
Suggest Edits

Get action comments

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/actions/actionId/comments
const actionId = '1a2b3c4d5e6f7g8h9';
const baseUrl = `https://app.hive.com/api/v1/actions/${actionId}/comments`;
const authQs = `?api_key=${apiKey}&user_id=${userId}`;
const url = `${baseUrl}${authQs}`;

$.get(url, function(response) {
  // response = Array of action comments
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "232b3c4d5e6f7g8h1",
    "body": "comment body",
    "workspace": "w32bac4d5e6f7g8h2",
    "createdAt": "2019-01-01T00:00:00.000Z",
    "createdBy": "u32bac4d5e6f7g8h2",
    "attachments": [],
    "reactions": [],
    "mentions": []
  }
]

Path Params

actionId
string
required

The id of the action

Body Params

limit
int32

Number of comments

sortBy
string

You can change to e.g. createdAt asc

 
Suggest Edits

Create action comment

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/actions/actionId/comments
const actionId = '1a2b3c4d5e6f7g8h9';
const baseUrl = `https://app.hive.com/api/v1/actions/${actionId}/comments`;
const authQs = `?api_key=${apiKey}&user_id=${userId}`;
const url = `${baseUrl}${authQs}`;

const comment = {
  body: 'comment body',
};

$.post(url, comment, function(response) {
  // response.comment = Action comment
});
A binary file was returned

You couldn't be authenticated

{
  "message": "Action comment successfully inserted",
  "comment": {
    "id": "232b3c4d5e6f7g8h1",
    "body": "comment body",
    "workspace": "w32bac4d5e6f7g8h2",
    "createdAt": "2019-01-01T00:00:00.000Z",
    "createdBy": "u32bac4d5e6f7g8h2",
    "attachments": [],
    "reactions": [],
    "mentions": []
  }
}

Path Params

actionId
string
required

The id of the action

Body Params

body
string

Number of comments

 
Suggest Edits

Delete action

Delete the action by ID

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://app.hive.com/api/v1/actions/actionId
var actionId = '1a2b3c4d5e6f7g8h9';
var baseUrl = 'https://app.hive.com/api/v1/actions/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var url = `${baseUrl}${actionId}${authQs}`;

$.ajax(url, {
  method: 'DELETE',
  contentType: "application/json",
  success: function(response) {
    // response.message
  }
});
A binary file was returned

You couldn't be authenticated

{
    "message": "Action successfully deletedd"
}

Path Params

actionId
string
required

The id of the action

 
 

Messages are sent from given Users (denoted by Message.sender) to a given chat Group (denoted by Message.containerId). All new Messages created from the API are done on behalf of the user whose API key + User ID is used in your POST.

If you'd like the Message to appear with a custom sender display name/custom sender image, use the "Message.senderFirstname" and "Message.senderPicture" to override the User's default for a given message.

Below is the data structure of the Message object in Hive:

Field
Type
Description

id

String

Unique alphanumeric string id

containerId

String/Group ID

ID of the chat Group that the Message belongs to

body

String

Body of the Message

sender

String/User ID

ID of the User who sent the Message

senderFirstname

String

Optional name of the sender, can be used to override the display name of the sender for a given Message

senderPicture

String/URL

Optional URL, can be used to override the display image over the sender for a given Message

workspace

String/Workspace ID

ID of the Workspace that the Message belongs to

createdAt

ISO Date String

Date + time of Message creation

modifiedAt

ISO Date String

Date + time that the Message was last modified

createdBy

String/User ID

User ID string of the Message creator

modifiedBy

String/User ID

User ID string of the last user to modify fields on the Message

color

String

Optional background color for the message. Options are yellow, purple, green, red, gray

Suggest Edits

Create message

Create a new message

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/messages/create
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var message = {
  workspace: '1234567abcd',
  body: 'Hi! this message was sent from the API.',
  senderName: 'Automated Messages',
  senderPicture: 'https://cdn2.iconfinder.com/data/icons/botcons/100/android-bot-round-ears-eyes-virus-brown-256.png',
  containerId: 'Group12345'
};
$.post(baseUrl + 'messages/create' + authQs, message, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "id": "2bK58icvKeJSzvupB",
  "sender": "12345gfuJzo4k7F9",
  "workspace": "12345naZjDQZndHqs",
  "containerId": "12345ZTJqWY2QK2B",
  "body": "This is a new message",
  "senderFirstName": "My Bot",
  "color": "yellow",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Body Params

workspace
string

ID of the workspace

body
string

Body of the message

senderFirstName
string

The name of the sender

senderPicture
string

URL of the sender picture

containerId
string

Group the message will be created in

color
string

Optional background color for the message. Options are yellow, purple, green, red, gray

 
 

Projects are optional containers for organizing Actions in your Workspace. Projects can be limited to subsets of Users so that any Actions in them are kept private to just Project members.

Below is the data structure of the Project object in Hive:

Field
Type
Description

id

String

Unique alphanumeric string id

name

String

Name of the Project

description

String

Text representing an optional project description

endDate

ISO Date String

End date of the Project

sharingType

String

Can be one of three types:

  1. "everyone" - Project is accessible by everyone in the workspace
  2. "custom" - Project is limited to a subset of users in the workspace. If set to "custom", the "members" field shows which users have access
  3. "me" - Project is limited to just the user who has access

members

Array

Members of the project (if sharingType is set to "custom") as an array of User ID Strings

projectCustomFields

Array

Array of project-level custom fields

projectCustomFields.$._id

String

Unique alphanumeric string id for a projectCustomField entry

projectCustomFields.$.type

String

Custom field value type. Currently just limited/defaulted to "text"

projectCustomFields.$.label

String

Label for the custom field

projectCustomFields.$.value

String

Stored value of the custom field

createdAt

ISO Date String

Date + time of Project creation

modifiedAt

ISO Date String

Date + time that the Project was last modified

createdBy

String/User ID

User ID string of the Project creator

modifiedBy

String/User ID

User ID string of the last user to modify fields on the Project

color

String

Hex code for project color

Suggest Edits

Get project

Get a project by id

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/projects/projectId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.ajax(baseUrl + 'projects/123ABC567XYZ' + authQs, {
  method: 'GET',
  success: function(response) {
    // response.project = Project
  }
});
A binary file was returned

You couldn't be authenticated

{
  project:
  {
    "id": "123ABC567XYZ",
    "name": "New project name",
    "description": "A new project description right here!",
    "startDate": "2019-04-01T00:00:00.000Z",
    "endDate": "2019-04-01T00:00:00.000Z",
    "sharingType": "everyone",
    "members": [],
    "projectCustomFields": [
      {
        "_id": "1234abcuJzo4k7E1",
        "type": "text",
        "label": "Budget",
        "value": "$1000000"
      }
    ],
    "color": "#F2F2F2",
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"
  }
}

Path Params

projectId
string
required

ID of the project to update

 
Suggest Edits

Create project

Create a new project

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/projects
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.ajax(baseUrl + 'projects' + authQs, {
  method: 'POST',
  contentType: "application/json",
  data: JSON.stringify({
    name: 'Mobile app development',
    workspace: 'workspace_id_123',
    description: 'A project for tracking our shiny new mobile app.',
    startDate: new Date('4/1/2019'),
    endDate: new Date('4/1/2019'),
    accessOption: 'public',
    sharingType: 'custom',
    members: ['123ABC456XYZ'],
    teams: ['123ABC987XYZ'],
    projectCustomFields: [
      { label: 'Project lead', value: 'George Boole' },
      { label: 'Design link', value: 'https://invision.com/designs' },
    ],
    color: "#F2F2F2",
    template: false
  }),
  success: function(response) {
    // response.project = Newly created project
  }
});
A binary file was returned

You couldn't be authenticated

{
  "message": "Project was created successfully",
  "project": {
    "id": "123ABC567XYZ",
    "name": "Mobile app development",
    "workspace": "workspace_id_123",
    "description": "A project for tracking our shiny new mobile app.",
    "startDate": "2019-04-01T00:00:00.000Z",
    "endDate": "2019-04-01T00:00:00.000Z",
    "accessOption": "public",
    "sharingType": "custom",
    "members": ["123ABC456XYZ"],
    "projectCustomFields": [
      {
        "_id": "1234abcuJzo4k7E2",
        "type": "text",
        "label": "Project lead",
        "value": "George Boole"
      },
      {
        "_id": "1234abcuJzo4k7E3",
        "type": "text",
        "label": "Design link",
        "value": "https://invision.com/designs"
      },
    ],
    "color": "#F2F2F2",
    "template": false,
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9",
  }
}

Body Params

workspace
string
required

ID of the workspace for the project to be created in

name
string
required

Name of the project

description
string

Project description

startDate
date

Start date of the Project

endDate
date

End date of the Project

sharingType
string

Sharing type of the project (one of "everyone", "custom" or "me")

members
array of strings

Array of User IDs to set as members of the project. Only relevant if "sharingType" is set to "custom"

teams
array of strings

Array of Team IDs to set as members of the project. Only relevant if "sharingType" is set to "custom"

projectCustomFields
array of objects

Custom fields stored on the project-level

_id
type
label
value
color
string

Optional hex code for project color

template
boolean

Pass "true" if you want create project as template

copyFrom
string

ID of the project to make a copy from

copyActionStatuses
boolean

Retaining action statuses when copying project. Works only if 'copyFrom' specified

copyAssignees
boolean

Retaining action assignees when copying project. Works only if 'copyFrom' specified

accessOption
string

Sets the project access to either private or public

 
Suggest Edits

Update project

Update a project by id

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/projects/projectId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.ajax(baseUrl + 'projects/123ABC567XYZ' + authQs, {
  method: 'PUT',
  contentType: "application/json",
  data: JSON.stringify({
    name: 'New project name',
    description: 'A new project description right here!',
    startDate: new Date('4/1/2019'),
    endDate: new Date('4/1/2019'),
    accessOption: 'public',
    color: '#F2F2F2',
  }),
  success: function(response) {
    // response.project = Updated project
  }
});
A binary file was returned

You couldn't be authenticated

{
  project:
  {
    "id": "123ABC567XYZ",
    "name": "New project name",
    "description": "A new project description right here!",
		"startDate": "2019-04-01T00:00:00.000Z",
		"endDate": "2019-04-01T00:00:00.000Z",
    "accessOption": "public",
    "sharingType": "everyone",
    "members": [],
    "projectCustomFields": [
      {
        "_id": "1234abcuJzo4k7E1",
        "type": "text",
        "label": "Budget",
        "value": "$1000000"
      }
    ],
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9",
    "color": "#F2F2F2"
  }
}

Path Params

projectId
string
required

ID of the project to update

Body Params

name
string

Project name

description
string

Project description

startDate
date

Start date of the Project. Pass null value to unset

endDate
date

End date of the Project. Pass null value to unset

color
string

Optional hex code for project color

accessOption
string

Project access permissions. Either public or private

 
Suggest Edits

Delete project

Delete a project by id

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://app.hive.com/api/v1/projects/projectId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
$.ajax(baseUrl + 'projects/123ABC567XYZ' + authQs, {
  method: 'DELETE',
  success: function(response) {
    // response.message = 'Project was deleted successfully'
  }
});
A binary file was returned

You couldn't be authenticated

{
  message: 'Project was deleted successfully'
}

Path Params

projectId
string
required

ID of the project to update

 
Suggest Edits

Create project custom field

Creates a new custom field for a project

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/projects/projectId/project-custom-field
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var projectId = '123ABC567XYZ';
$.ajax(baseUrl + 'projects/' + projectId + '/project-custom-field' + authQs, {
  method: 'POST',
  contentType: "application/json",
  data: JSON.stringify({
    label: 'Budget',
    value: '$1000000',
  }),
  success: function(response) {
    // response.project = Updated project
  }
});
A binary file was returned

You couldn't be authenticated

{
  project:
  {
    "id": "123ABC567XYZ",
    "name": "Mobile app development",
    "description": "A project for tracking our shiny new mobile app.",
    "sharingType": "everyone",
    "members": [],
    "projectCustomFields": [
      {
        "_id": "1234abcuJzo4k7E2",
        "type": "text",
        "label": "Budget",
        "value": "$1000000"
      },
    ],
    "color": "#F2F2F2",
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"
  }
}

Path Params

projectId
string
required

ID of the project to add a custom field to

Body Params

label
string
required

Label for the custom field

value
string
required

Value of the custom field

hidden
boolean

If true, the value will be hidden in the UI but accessible via API

 
Suggest Edits

Update project custom field

Updates an existing custom field for a project

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/projects/projectId/project-custom-field/customFieldId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var projectId = '123ABC567XYZ';
var customFieldId = '1234abcuJzo4k7E2'
$.ajax(baseUrl + 'projects/' + projectId + '/project-custom-field/' + customFieldId + authQs, {
  method: 'PUT',
  contentType: "application/json",
  data: JSON.stringify({
    label: 'Budget',
    value: '$5000000',
  }),
  success: function(response) {
    // response.project = Updated project
  }
});
A binary file was returned

You couldn't be authenticated

{
  project:
  {
    "id": "123ABC567XYZ",
    "name": "Mobile app development",
    "description": "A project for tracking our shiny new mobile app.",
    "sharingType": "everyone",
    "members": [],
    "projectCustomFields": [
      {
        "_id": "1234abcuJzo4k7E2",
        "type": "text",
        "label": "Budget",
        "value": "$5000000"
      },
    ],
    "color": "#F2F2F2",
    "createdAt": "2017-05-18T15:26:17.407Z",
    "modifiedAt": "2017-05-19T02:25:06.190Z",
    "createdBy": "1234abcuJzo4k7F9",
    "modifiedBy": "1234abcuJzo4k7F9"
  }
}

Path Params

projectId
string
required

ID of the project to add a custom field to

customFieldId
string
required

ID of the custom field to update

Body Params

label
string

Label for the custom field

value
string

Value of the custom field

 
Suggest Edits

Custom Tags

 

Custom Tags are arbitrary tags that you can associate to projects and users. The type indicates whether this custom tag is a project-tag or a user-tag and the options represent all the possible options that this custom tag can have.

Below is the data structure of Custom Tags

Field
Type
Description

_id

String

Unique alphanumeric string id

name

String

Name of this custom tag

options

Array

Array of String options that are available for this custom tag

type

String

The type of this custom tag. Can either be a custom user tag or a custom project tag.

Possible values: "user", "project"

isMulti

Boolean

Whether or not this custom tag allows multi select

createdAt

Date

Date created

createdBy

String

User ID that created this custom tag

modifiedAt

Date

Date modified

modifiedBy

String

User ID that modified this custom tag

Suggest Edits

Get custom tags

Get all project or user custom tags

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/custom-tags
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId + '&type=' + type;

$.get(baseUrl + 'workspaces/' + workspaceId + '/custom-tags' + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "_id": "qFR6a524nFARukmvF",
    "workspace": "12345aZjDQZndHqs",
    "name": "Custom Tag 1",
    "type": "user",
    "options": ["Option 1", "Option 2"],
    "isMulti": false
    "createdBy": "12345gfuJzo4k7F9",
    "modifiedBy": "12345xgfuJzo4k7F9",
    "createdAt": "2018-01-23T22:14:24.862Z",
    "modifiedAt": "2018-01-23T22:14:24.862Z"
	},
  {
    "_id": "lkdjfwjdoi2342w3",
    "workspace": "12345aZjDQZndHqs",
    "name": "Custom Tag 2",
    "type": "user",
    "options": ["Option 1", "Option 2"],
    "isMulti": false
    "createdBy": "12345gfuJzo4k7F9",
    "modifiedBy": "12345xgfuJzo4k7F9",
    "createdAt": "2018-01-23T22:14:24.862Z",
    "modifiedAt": "2018-01-23T22:14:24.862Z"
	}
]

Path Params

workspaceId
string
required

Workspace ID

Query Params

type
string
required

Type of custom tags you are trying to access. Can be either "user" or "project"

 
Suggest Edits

Create custom tag

Create a new custom tag

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/workspaces/workspaceId/custom-tags
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var customTag = {
  workspace: '12345aZjDQZndHqs',
  name: 'New custom tag',
 	type: 'user',
  options: ["Option 1", "Option 2"],
  isMulti: false,
};
$.post(baseUrl + 'workspaces/' + workspaceId + '/custom-tags' + authQs, customTag, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "New custom tag",
  "type": "user",
  "options": ["Option 1", "Option 2"],
  "isMulti": false
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Path Params

workspaceId
string
required

Workspace ID

Body Params

name
string
required

Name of the custom tag

type
string
required

Type of the custom tag, can be "user" or "project"

options
array of strings

Array of options that are available for this custom tag

isMulti
boolean

Whether or not this custom tag can be multi select

 
Suggest Edits

Get custom tag

Get a custom tag by id

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/custom-tags/customTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;

$.get(baseUrl + 'workspaces/' + workspaceId + '/custom-tags/' + customTagId + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "New custom tag",
  "type": "user",
  "options": ["Option 1", "Option 2"],
  "isMulti": false
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Path Params

workspaceId
string
required

Workspace ID

customTagId
string
required

Tag ID

 
Suggest Edits

Update custom tag

Update an existing custom tag

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/custom-tags/customTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;
var customTag = {
  name: 'Updated custom tag',
  options: ['Option 1', 'Option 2'],
  isMulti: false,
};
$.put(baseUrl + 'workspaces/' + workspaceId + '/custom-tags/' + customTagId + authQs, customTag, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "New custom tag",
  "options": ["Option 1", "Option 2"],
  "type": "user",
  "isMulti": false,
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Path Params

workspaceId
string
required

Workspace ID

customTagId
string
required

Custom tag ID

Body Params

name
string

Name of the custom tag

options
array of strings

Array of options that are available for this custom tag

isMulti
boolean

Whether or not this custom tag can be multi select

 
Suggest Edits

Delete custom tag

Delete an existing custom tag

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://app.hive.com/api/v1/workspaces/workspaceId/custom-tags/customTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var authQs = '?api_key=' + apiKey + '&user_id=' + userId;

$.delete(baseUrl + 'workspaces/' + workspaceId + 'custom-tags/' + customTagId + authQs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "New custom tag",
  "type": "user",
  "options": ["Option 1", "Option 2"],
  "isMulti": false
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Path Params

workspaceId
string
required

Workspace ID

customTagId
string
required

Tag ID

 
Suggest Edits

User Tags

 

Below is the data structure of User Tags

Field
Type
Description

_id

String

Unique alphanumeric string id

userId

String

User ID that this tag belongs to

name

String

Name of this tag

options

Array

Array of String options

selectedOptions

Array

Array of String options that are currently selected

isMulti

Boolean

Boolean for whether or not this tag allows multi select

Suggest Edits

Get user tags

Get all user tags for a user in a workspace

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags
curl --request GET \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

[
  {
    "_id": "qFR6a524nFARukmvF",
    "userId": "123123123",
    "name": "Custom Tag 1",
    "options": ["Option 1", "Option 2"],
    "selectedOptions": ["Option 2"],
    "isMulti": false
	},
  {
    "_id": "lkdjfwjdoi2342w3",
    "userId": "123123123",
    "name": "Custom Tag 2",
    "options": ["Option 1", "Option 2"],
    "selectedOptions": ["Option 1"],
    "isMulti": false
	}
]

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

User ID

 
Suggest Edits

Update user tag

Update a specific tag on a user

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId
curl --request PUT \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId
var request = require("request");

var options = { method: 'PUT',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "name": "Custom Tag 1",
  "userId": "123123123",
  "options": ["Option 1", "Option 2"],
  "selectedOptions": ["Option 1"]
  "isMulti": false
}

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

ID of user to update

userTagId
string
required

ID of tag to set on the user

Body Params

selectedOptions
array of strings
required

Selected options for this user tag

 
Suggest Edits

Get user tag

Get a single user tag for a given workspace and user

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId
curl --request GET \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/user-tags/userTagId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated


{
  "_id": "lkdjfwjdoi2342w3",
  "userId": "123123123",
  "name": "Custom Tag 1",
  "options": ["Option 1", "Option 2"],
  "selectedOptions": ["Option 2"]
  "isMulti": false
}

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

ID of the user

userTagId
string
required

ID of the user tag

 
Suggest Edits

Project Tags

 

Below is the data structure of Project Tags

Field
Type
Description

_id

String

Unique alphanumeric string id

projectId

String

Project Id this tag belongs to

name

String

Name

options

Array

Array of String options

selectedOptions

Array

Array of String options that are currently selected

isMulti

Boolean

Boolean for whether or not this tag allows multi select

Suggest Edits

Get project tags

Get all project tags for a workspace and projectId

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags
curl --request GET \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

[
  {
    "_id": "qFR6a524nFARukmvF",
    "userId": "123123123",
    "name": "Custom Tag 1",
    "options": ["Option 1", "Option 2"],
    "selectedOptions": ["Option 1"]
    "isMulti": false
	},
  {
    "_id": "lkdjfwjdoi2342w3",
    "userId": "123123123",
    "name": "Custom Tag 1",
    "options": ["Option 1", "Option 2"],
    "selectedOptions": ["Option 2"]
    "isMulti": false
	}
]

Path Params

workspaceId
string
required

Workspace ID

projectId
string
required

Project ID to get tags for

 
Suggest Edits

Update project tag

Update a project tag

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

const projectTag = {
  selectedOptions: ["Option 1"],
};

$.put(baseUrl + 'workspaces/' + workspaceId + '/projects/' + projectId  + '/project-tags/' + projectTagId + qs, projectTag, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "name": "Custom Tag 1",
  "userId": "123123123",
  "options": ["Option 1", "Option 2"],
  "selectedOptions": ["Option 1"]
  "isMulti": false
}

Path Params

workspaceId
string
required

Workspace ID

projectId
string
required

Project ID to update the tag value on

projectTagId
string
required

Project tag ID

Body Params

selectedOptions
array of strings
required

Selected options for this user tag

 
Suggest Edits

Get project tag

Get a single project tag for a given workspace and projectId

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId
curl --request GET \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/projects/projectId/project-tags/projectTagId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "lkdjfwjdoi2342w3",
  "projectId": "123123123",
  "name": "Custom Tag 1",
  "options": ["Option 1", "Option 2"],
  "selectedOptions": ["Option 2"]
  "isMulti": false
}



Path Params

workspaceId
string
required

Workspace ID

projectId
string
required

Project ID that you are trying to access project tag for

projectTagId
string
required

ID of the project tag

 
Suggest Edits

Role Tags

 

User Roles are all the possible roles that a user can have within a given workspace

Below is the data structure of Role Tags

Field
Type
Description

_id

String

Unique alphanumeric string id

workspace

String

Workspace ID

name

String

Name for this role

createdAt

Date

Date created

createdBy

String

User ID of the user that created this role

modifiedAt

Date

Date last modified

modifiedBy

String

User ID of the user that last modified this role

Suggest Edits

Get role tags

Get all role tags for a workspace

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/role-tags
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

$.get(baseUrl + 'workspaces/' + workspaceId + '/role-tags' + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    "_id": "qFR6a524nFARukmvF",
    "workspace": "12345aZjDQZndHqs",
    "name": "Role Tag 1",
    "createdBy": "12345gfuJzo4k7F9",
    "modifiedBy": "12345xgfuJzo4k7F9",
    "createdAt": "2018-01-23T22:14:24.862Z",
    "modifiedAt": "2018-01-23T22:14:24.862Z"
	},
  {
    "_id": "qFR6a524nFARukmvF",
    "workspace": "12345aZjDQZndHqs",
    "name": "Role Tag 2",
    "createdBy": "12345gfuJzo4k7F9",
    "modifiedBy": "12345xgfuJzo4k7F9",
    "createdAt": "2018-01-23T22:14:24.862Z",
    "modifiedAt": "2018-01-23T22:14:24.862Z"
	}
]

Path Params

workspaceId
string
required

Workspace ID

 
Suggest Edits

Create role tag

Create a new role tag

 

Query Auth

 Authentication is required for this endpoint.
posthttps://app.hive.com/api/v1/workspaces/workspaceId/role-tags
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

const roleTag = {
  name: "Role Tag 1",
}

$.post(baseUrl + 'workspaces/' + workspaceId + '/role-tags' + qs, roleTag, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "Role Tag 1",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
},

Path Params

workspaceId
string
required

Workspace ID

Body Params

name
string
required

Name of the role tag

 
Suggest Edits

Update role tag

Update an existing role tag

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/role-tags/roleTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

const roleTag = {
  name: "New role tag name",
}

$.put(baseUrl + 'workspaces/' + workspaceId + '/role-tags/' + roleTagId + qs, roleTag,  function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "New role tag name",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
},

Path Params

workspaceId
string
required

Workspace ID

roleTagId
string
required

Role Tag ID

Body Params

name
string
required

Role Tag name

 
Suggest Edits

Delete role tag

Delete an existing role tag

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://app.hive.com/api/v1/workspaces/workspaceId/role-tags/roleTagId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

$.delete(baseUrl + 'workspaces/' + workspaceId + '/role-tags/' + roleTagId + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "Role Tag 1",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
},

Path Params

workspaceId
string
required

Workspace ID

roleTagId
string
required

Role Tag ID

 
Suggest Edits

Get user role tag

Get a user's role tag for this workspace

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags
curl --request GET \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "Role Tag 1",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
}

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

User ID

 
Suggest Edits

Update user role tag

Update user role tag

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId
curl --request PUT \
  --url https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId
var request = require("request");

var options = { method: 'PUT',
  url:
   'https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId");

xhr.send(data);
import requests

url = "https://app.hive.com/api/v1/workspaces/workspaceId/users/userId/role-tags/roleTagId"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "workspace": "12345aZjDQZndHqs",
  "name": "Role Tag 1",
  "createdBy": "12345gfuJzo4k7F9",
  "modifiedBy": "12345xgfuJzo4k7F9",
  "createdAt": "2018-01-23T22:14:24.862Z",
  "modifiedAt": "2018-01-23T22:14:24.862Z"
},

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

User ID

roleTagId
string
required

Role tag ID to set on the user

 
Suggest Edits

User Settings

 

User Settings are additional user details that belong to a user for a given workspace

User Settings data structure

Field
Type
Description

_id

String

Unique alphanumeric string id

userId

String

User ID

workspaceId

String

Workspace ID

firstDayOfWork

Date

First day of work for the user

lastDayOfWork

Date

Last day of work for the user

billRate

Number

Bill rate for the user

costRate

Number

Cost rate for the user

Suggest Edits

Get user setting by userId

Get a single user tag for a given workspace and user

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/user-settings/userId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

$.get(baseUrl + 'workspaces/' + workspaceId + '/user-settings/' + userId + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "userId": "123123123",
  "firstDayOfWork": "2018-01-23T00:00:00.000Z",
  "lastDayOfWork": "2019-01-23T00:00:00.000Z"
}

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

User ID

 
Suggest Edits

Update user setting

Get a single user tag for a given workspace and user

 

Query Auth

 Authentication is required for this endpoint.
puthttps://app.hive.com/api/v1/workspaces/workspaceId/user-settings/userId
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

var userSetting = {
  firstDayOfWork: new Date(),
};

$.put(baseUrl + 'workspaces/' + workspaceId + '/user-settings/' + userId + qs, userSetting, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

{
  "_id": "qFR6a524nFARukmvF",
  "userId": "123123123",
  "firstDayOfWork": "2018-01-23T00:00:00.000Z",
  "lastDayOfWork": "2019-01-23T00:00:00.000Z",
  "billRate": 80,
  "costRate": 70
}

Path Params

workspaceId
string
required

Workspace ID

userId
string
required

User ID

Body Params

firstDayOfWork
string

First day of work

lastDayOfWork
string

Last day of work

billRate
string

Bill rate

costRate
string

Cost rate

 

Teams represent a group of users that can be assigned to a project or group

Below is the data structure of Teams

Field
Type
Description

_id

String

Unique alphanumeric string id

workspace

String

Workspace ID

name

String

Name for this role

members

[String]

Date created

Suggest Edits

Get Teams

Get all teams for your workspace

 

Query Auth

 Authentication is required for this endpoint.
gethttps://app.hive.com/api/v1/workspaces/workspaceId/teams
var baseUrl = 'https://app.hive.com/api/v1/';
var qs = '?api_key=' + apiKey + '&user_id=' + userId;

$.get(baseUrl + 'workspaces/' + workspaceId + + '/teams' + qs, function(data) {
  console.log(data);
});
A binary file was returned

You couldn't be authenticated

[
  {
    _id: 'u32bac4d5e6f7g8h2',
    workspace: '111114d5e6f7g8h1',
    name: 'NYC Office',
    members: ['232b3c4d5e6f7g8h1']
  }
]

Path Params

workspaceId
string
required

Workspace ID