REST API Documentation

Zephyr Project Manager includes multiple REST API endpoints documented below and the endpoints are used as shown below:

https://example/wp-json/zephyr_project_manager/v1/<endpoint>

For example:

https://example/wp-json/zephyr_project_manager/v1/tasks

The return values are all sent in JSON format.

The available endpoints with their arguments and parameters are documented below:

Getting tasks

Endpoint: /tasks
Example: https://example/wp-json/zephyr_project_manager/v1/tasks

Returns all tasks

Creating tasks

Endpoint: /tasks/create
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/create

Creates a new task

Parameters:
{
"name": "The task name or title",
"description": "The task description",
"project": "Project ID. Leave empty for no project.",
"assignee": "Assignee ID. Leave empty for no assignee",
"start": "Start date as date string. Any format should work.",
"end": "End date as date string. Any format should work.",
"custom_fields": "Only for the pro version. Send custom fields as JSON.",
}

Updating tasks

Endpoint: /tasks/update
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/update

Updates a task

Parameters:
{
"id": "ID of the task to update",
"name": "The task name or title",
"description": "The task description",
"project": "Project ID. Leave empty for no project.",
"assignee": "Assignee ID. Leave empty for no assignee",
"start": "Start date as date string. Any format should work.",
"end": "End date as date string. Any format should work.",
"custom_fields": "Only for the pro version. Send custom fields as JSON.",
}

Deleting tasks

Endpoint: /tasks/delete
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/delete

Deletes a task

Parameters:
{
"id": "ID of the task to delete",
}

Copying tasks

Endpoint: /tasks/copy
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/copy

Copies/duplicates a task

Parameters:
{
"id": "ID of the task to copy",
}

Converting task to project

Endpoint: /tasks/convert
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/convert

Converts a task to a project

Parameters:
{
"id": "ID of the task to convert",
}

Marking task as complete or incomplete

Endpoint: /tasks/complete
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/complete

Marks a task as complete or incomplete, depending on the value passed

Parameters:
{
"id": "ID of the task to change the completion status of",
"complete": "Set to true to mark it as complete or false to mark it as incomplete",
}

Getting task subtasks

Endpoint: /tasks/subtasks
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/subtasks

Returns all task subtasks

Parameters:
{
"id": "ID of the task to get the subtasks for",
}

Creating subtasks

Endpoint: /tasks/subtasks/create
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/subtasks/create

Creates a subtask

Parameters:
{
"task": "ID of the task to create a subtask for",
"name": "Name of the subtask",
}

Getting task discussion messages

Endpoint: /tasks/discussion
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/discussion

Returns all task discussion messages

Parameters:
{
"id": "ID of the task to return messages for",
}

Sending task messages

Endpoint: /tasks/message
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/message

Sends a message to a task

Parameters:
{
"task_id": "ID of the task",
"user_id": "Message sender ID",
"message": "The message text content",
}

Updating task messages

Endpoint: /tasks/message/update
Example: https://example/wp-json/zephyr_project_manager/v1/tasks/message/update

Updates a message in a task

Parameters:
{
"id": "ID of the message",
"message": "The updated message",
}

Getting all projects

Endpoint: /projects
Example: https://example/wp-json/zephyr_project_manager/v1/projects

Returns all projects

Creating projects

Endpoint: /projects/create
Example: https://example/wp-json/zephyr_project_manager/v1/projects/create

Creates a new project

Parameters:
{
"name": "Project title",
"description": "Project description",
"type": "Project type: either list (which is the default) or board if using the Pro version and you want to set the type as a Kanban board",
"user_id": "ID of the user creating the project",
}

Updating projects

Endpoint: /projects/update
Example: https://example/wp-json/zephyr_project_manager/v1/projects/update

Updates an existing project

Parameters:
{
"id": "ID of the project to update",
"name": "Project title",
"description": "Project description",
"type": "Project type: either list (which is the default) or board if using the Pro version and you want to set the type as a Kanban board",
"start": "Start date string",
"end": "End date string",
"categories": "Array of category IDs to assign, or leave empty",
}

Updating project status

Endpoint: /projects/update_status
Example: https://example/wp-json/zephyr_project_manager/v1/projects/update_status

Updates an existing projects status

Parameters:
{
"id": "ID of the project to update",
"status": "Status slug to assign",
"color": "Optionally you can assign a custom color (in hex format)",
}

Deleting project

Endpoint: /projects/delete
Example: https://example/wp-json/zephyr_project_manager/v1/projects/delete

Updates a project

Parameters:
{
"id": "ID of the project to delete",
}

Copying project

Endpoint: /projects/copy
Example: https://example/wp-json/zephyr_project_manager/v1/projects/copy

Copies a project

Parameters:
{
"id": "ID of the project to copy",
}

Getting dashboard projects

Endpoint: /projects/dashboard
Example: https://example/wp-json/zephyr_project_manager/v1/projects/dashboard

Returns all projects that are added to the dashboard

Getting project tasks

Endpoint: /projects/tasks
Example: https://example/wp-json/zephyr_project_manager/v1/projects/tasks

Returns all project tasks

Parameters:
{
"id": "ID of the project to get tasks for",
}

Getting project discussion

Endpoint: /projects/discussion
Example: https://example/wp-json/zephyr_project_manager/v1/projects/discussion

Returns all project discussion messages

Parameters:
{
"id": "ID of the project to return messages for",
}

Sending project messages

Endpoint: /projects/message
Example: https://example/wp-json/zephyr_project_manager/v1/projects/message

Sends a message in a project

Parameters:
{
"project_id": "ID of the project",
"user_id": "Message sender ID",
"message": "The message text content",
}

Updating project messages

Endpoint: /projects/message/update
Example: https://example/wp-json/zephyr_project_manager/v1/projects/message/update

Updates a message in a project

Parameters:
{
"id": "ID of the message",
"message": "The updated message",
}

Adding project to dashboard

Endpoint: /projects/add_to_dashboard
Example: https://example/wp-json/zephyr_project_manager/v1/projects/add_to_dashboard

Adds a project to the dashboard

Parameters:
{
"id": "ID of the project to add to the dashboard",
}

Getting project meta data

Endpoint: /projects/get_meta
Example: https://example/wp-json/zephyr_project_manager/v1/projects/get_meta

Returns project meta data for specific meta key

Parameters:
{
"id": "ID of the project",
"key": "Meta key string",
"user_id": "Add user ID if the meta is user specific",
}

Updating project meta data

Endpoint: /projects/update_meta
Example: https://example/wp-json/zephyr_project_manager/v1/projects/update_meta

Updates project meta data for specific meta key

Parameters:
{
"id": "ID of the project",
"key": "Meta key string",
"value": "Meta value",
"user_id": "Add user ID if the meta is user specific",
}

Deleting project meta data

Endpoint: /projects/delete_meta
Example: https://example/wp-json/zephyr_project_manager/v1/projects/delete_meta

Deletes project meta data for specific meta key

Parameters:
{
"id": "ID of the project",
"key": "Meta key string",
"user_id": "Add user ID if the meta is user specific",
}

Uploading files

Endpoint: /files/upload
Example: https://example/wp-json/zephyr_project_manager/v1/files/upload

Uploads file to project or task

Parameters:
{
"file": "The user that uploaded the file",
"subject": "Set to task to upload to task or project to upload the file to a project",
"subject_id": "The project or task ID to assign it to",
}

Getting teams

Endpoint: /teams
Example: https://example/wp-json/zephyr_project_manager/v1/teams

Returns all teams

Getting users

Endpoint: /users
Example: https://example/wp-json/zephyr_project_manager/v1/users

Returns all users

Getting settings

Endpoint: /settings
Example: https://example/wp-json/zephyr_project_manager/v1/settings

Returns all settings

Parameters:
{
"user_id": "User ID to get settings for",
}

Authenticating a user

Endpoint: /authenticate
Example: https://example/wp-json/zephyr_project_manager/v1/authenticate

Authenticates a user

Parameters:
{
"username": "Username or email of user",
"password": "User login password",
}

Getting user permissions

Endpoint: /permissions
Example: https://example/wp-json/zephyr_project_manager/v1/permissions

Returns all user permissions

Parameters:
{
"user_id": "User ID to get permissions for",
}

Getting categories

Endpoint: /categories
Example: https://example/wp-json/zephyr_project_manager/v1/categories

Returns all categories

Creating categories

Endpoint: /categories/create
Example: https://example/wp-json/zephyr_project_manager/v1/categories/create

Creates a category

Parameters:
{
"name": "Category name",
"description": "Category description",
"color": "Color hex code",
}

Updating categories

Endpoint: /categories/update
Example: https://example/wp-json/zephyr_project_manager/v1/categories/update

Updates a category

Parameters:
{
"id": "ID of the category to update",
"name": "Category name",
"description": "Category description",
"color": "Color hex code",
}

Deleting categories

Endpoint: /categories/delete
Example: https://example/wp-json/zephyr_project_manager/v1/categories/delete

Deletes a category

Parameters:
{
"id": "ID of the category to delete",
}

Getting statuses

Endpoint: /statuses
Example: https://example/wp-json/zephyr_project_manager/v1/statuses

Returns all available statuses

Getting custom fields (Pro only)

Endpoint: /custom_fields
Example: https://example/wp-json/zephyr_project_manager/v1/custom_fields

Returns all custom fields

Creating custom fields (Pro only)

Endpoint: /custom_fields/create
Example: https://example/wp-json/zephyr_project_manager/v1/custom_fields/create

Creates a new custom field

Parameters:
{
"name": "Custom field name",
"type": "Custom field type (text_field/number_field/select_field/date_field)",
"default_value": "The default empty value for the field",
"field_values": "Field value options if it is a select field",
"required": "true/false depending on whether the custom field should be a required field",
}

Updating custom fields (Pro only)

Endpoint: /custom_fields/update
Example: https://example/wp-json/zephyr_project_manager/v1/custom_fields/update

Updates an existing custom field

Parameters:
{
"id": "ID of the custom field to update",
"name": "Custom field name",
"type": "Custom field type (text_field/number_field/select_field/date_field)",
"default_value": "The default empty value for the field",
"field_values": "Field value options if it is a select field",
"required": "true/false depending on whether the custom field should be a required field",
}

Deleting custom fields (Pro only)

Endpoint: /custom_fields/delete
Example: https://example/wp-json/zephyr_project_manager/v1/custom_fields/delete

Deletes a custom field

Parameters:
{
"id": "ID of the custom field to delete",
}

Getting milestones (Pro only)

Endpoint: /milestones
Example: https://example/wp-json/zephyr_project_manager/v1/milestones

Returns all milestones

Getting templates (Pro only)

Endpoint: /templates
Example: https://example/wp-json/zephyr_project_manager/v1/templates

Returns all templates

Getting template custom fields (Pro only)

Endpoint: /templates/custom_fields
Example: https://example/wp-json/zephyr_project_manager/v1/templates/custom_fields

Returns all custom fields for a template

Parameters:
{
"id": "ID of the template",
}