Kantata Kantata OX Knowledge Base
Release Notes
Status Page

Participations

A participation represents the relationship between a participant and a project, including a participant's permission level, whether they're a provider or client, and many other properties. See the 200 status code response sample for an example of participation properties you can access.

Fetching a list of Participations

The Participations index action only returns participations from projects that are visible to the requester. See the Projects KB documentation for more information about how visibility restrictions work.

This endpoint returns structured Participation objects. As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array and will be indexed by ID in the participations top-level JSON key. Please see our Response Format section for more information.

Request
query Parameters
workspace_id
required
integer <int32>

This parameter is required to identify the project you want to retrieve participations for.

by_user
integer <int32>

Retrieves participations for the specified user ID.

by_user_full_name
string

Matches against users' full names.

created_after
string <date-time>

Filter for records created after a specified datetime. The datetime must be in ISO 8601 format.

created_before
string <date-time>

Filter for records created before a specified datetime. The datetime must be in ISO 8601 format.

external_reference_external_message
string

Filter the objects based on the external message of their associated external references. This is an exact match.

external_reference_external_status
string

Filter by the status of the external object in the external system.

external_reference_service_model
string

Filter by the type of the external object this external reference belongs to.

external_reference_service_model_ref
integer <int32>

Filter by the id of the external object this external reference belongs to.

external_reference_service_model_refs
string

Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

external_reference_service_name
string

Filter by the name of the provider for integration.

external_reference_status
string

Filter by the status of the integration, this can be successful or fail.

has_external_references
boolean

Filter by whether or not the object has external references.

include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • active_roles (Role) - Retrieves all of the project roles of the participant. The response will include active_role_ids, which references the data in the roles top-level key.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - Retrieves account role of the participant. Only visible when the authenticated user is on the same account the project is on. The response will include primary_role_id, which references the data in the roles top-level key.
  • user (User) - Retrieves the user (also known as the participant). The response will include user_id, which references the data in the users top-level key.
  • workspace (Workspace) - Retrieves the project. The response will include workspace_id, which references the data in the workspaces top-level key.
  • workspace_resources (WorkspaceResource) - Retrieves the resource(s) associated with the participation, ordered alphabetically. The response will include workspace_resource_ids, which references the data in the workspace_resources top-level key.
  • workspace_role (Role) - Retrieves the primary project role for the participant. The response will include workspace_role_id, which references the data in the roles top-level key.
mavens_only
boolean

Only consultant participations.

not_assigned_to_story
integer <int32>

Not assigned to the specified story ID.

not_following_story
integer <int32>

Not following the specified story ID.

only
string

Allows you to request one or more resources directly by ID. Multiple IDs can be supplied in a comma separated list, like GET /api/v1/workspaces.json?only=5,6,7.

optional_fields
Array of strings

Allows you to request one or more optional fields as an array.

Items Value: "access_level"
order
string
Default: "updated_at:desc"

Supply order with the name of a valid sort field for the endpoint and a direction.

Valid values: updated_at:asc, updated_at:desc, user_name:asc, and user_name:desc.

page
integer <int32>
Default: 1
per_page
integer <int32> <= 200
Default: 20
updated_after
string <date-time>

Filter for records updated after a specified datetime. The datetime must be in ISO 8601 format.

updated_before
string <date-time>

Filter for records updated before a specified datetime. The datetime must be in ISO 8601 format.

without_external_reference_service_name
string

Exclude by the existence of an external reference with the specified service name.

Responses
200

A list of Participations have been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

get/participations
Request samples
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "participations": {
    },
  • "external_references": {
    },
  • "users": {
    },
  • "workspaces": {
    },
  • "roles": {
    },
  • "workspace_resources": {
    }
}

Creating a new Participation

This endpoint returns structured Participation objects. As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array and will be indexed by ID in the participations top-level JSON key. Please see our Response Format section for more information.

Request
query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • active_roles (Role) - Retrieves all of the project roles of the participant. The response will include active_role_ids, which references the data in the roles top-level key.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - Retrieves account role of the participant. Only visible when the authenticated user is on the same account the project is on. The response will include primary_role_id, which references the data in the roles top-level key.
  • user (User) - Retrieves the user (also known as the participant). The response will include user_id, which references the data in the users top-level key.
  • workspace (Workspace) - Retrieves the project. The response will include workspace_id, which references the data in the workspaces top-level key.
  • workspace_resources (WorkspaceResource) - Retrieves the resource(s) associated with the participation, ordered alphabetically. The response will include workspace_resource_ids, which references the data in the workspace_resources top-level key.
  • workspace_role (Role) - Retrieves the primary project role for the participant. The response will include workspace_role_id, which references the data in the roles top-level key.
optional_fields
Array of strings

Allows you to request one or more optional fields as an array.

Items Value: "access_level"
Request Body schema: application/json
required
object
workspace_id
required
integer <int32>

The ID of the project the participation will belong to.

role
required
string

The team a participant is on in a project, defined as either the "maven" (provider) or "buyer" (client) team.

user_id
integer <int32>

The ID of the user that wants to participate in the project.

can_invite
boolean

Permission for the participant to invite other users into the project.

can_schedule_their_hours
boolean

Permission for the participant to schedule their own hours.

can_schedule_team_hours
boolean

Permission for the participant to schedule hours for project team members.

permissions
string

Permission for the user in the workspace. It must be any combination of "edit", "view_only", "view_and_post", "can_edit", "can_post", "can_edit_expense", "can_edit_time", "can_invite", "can_schedule_their_hours", or "can_schedule_team_hours" delimited by commas. ex. "can_post,can_edit_time"

If "can_invite", "can_schedule_their_hours", or "can_schedule_team_hours" are not set—either via the individual fields or the permissions string—they will inherit the default values defined in the account's Project Permissions Defaults.

access_level
string

Access level for the user in the workspace. Valid options include "edit_tasks", "view_tasks", "edit_time_and_expenses", "view_time_and_expenses", "edit_financials", "view_financials", "admin". Legacy options include "financial", "time_logging", "collaboration".

object

Typically populated programmatically by a third party system via an integration, this is an optional object that holds data from an external system. It connects objects in an external system with objects in Kantata OX (for example, to connect a Jira issue to a Kantata OX Project).

Responses
200

Participation has been created.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

post/participations
Request samples
application/json
{
  • "participation": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "participations": {
    },
  • "external_references": {
    },
  • "users": {
    },
  • "workspaces": {
    },
  • "roles": {
    },
  • "workspace_resources": {
    }
}

Fetching a single Participation

This endpoint returns structured Participation objects. As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array and will be indexed by ID in the participations top-level JSON key. Please see our Response Format section for more information.

Request
path Parameters
id
required
integer

The ID of the Model.

query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • active_roles (Role) - Retrieves all of the project roles of the participant. The response will include active_role_ids, which references the data in the roles top-level key.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - Retrieves account role of the participant. Only visible when the authenticated user is on the same account the project is on. The response will include primary_role_id, which references the data in the roles top-level key.
  • user (User) - Retrieves the user (also known as the participant). The response will include user_id, which references the data in the users top-level key.
  • workspace (Workspace) - Retrieves the project. The response will include workspace_id, which references the data in the workspaces top-level key.
  • workspace_resources (WorkspaceResource) - Retrieves the resource(s) associated with the participation, ordered alphabetically. The response will include workspace_resource_ids, which references the data in the workspace_resources top-level key.
  • workspace_role (Role) - Retrieves the primary project role for the participant. The response will include workspace_role_id, which references the data in the roles top-level key.
optional_fields
Array of strings

Allows you to request one or more optional fields as an array.

Items Value: "access_level"
Responses
200

The Participation has been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

get/participations/{id}
Request samples
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "participations": {
    },
  • "external_references": {
    },
  • "users": {
    },
  • "workspaces": {
    },
  • "roles": {
    },
  • "workspace_resources": {
    }
}

Updating an existing Participation

This endpoint returns structured Participation objects. As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array and will be indexed by ID in the participations top-level JSON key. Please see our Response Format section for more information.

Request
path Parameters
id
required
integer

The ID of the Model.

query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • active_roles (Role) - Retrieves all of the project roles of the participant. The response will include active_role_ids, which references the data in the roles top-level key.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - Retrieves account role of the participant. Only visible when the authenticated user is on the same account the project is on. The response will include primary_role_id, which references the data in the roles top-level key.
  • user (User) - Retrieves the user (also known as the participant). The response will include user_id, which references the data in the users top-level key.
  • workspace (Workspace) - Retrieves the project. The response will include workspace_id, which references the data in the workspaces top-level key.
  • workspace_resources (WorkspaceResource) - Retrieves the resource(s) associated with the participation, ordered alphabetically. The response will include workspace_resource_ids, which references the data in the workspace_resources top-level key.
  • workspace_role (Role) - Retrieves the primary project role for the participant. The response will include workspace_role_id, which references the data in the roles top-level key.
optional_fields
Array of strings

Allows you to request one or more optional fields as an array.

Items Value: "access_level"
Request Body schema: application/json
required
object
team_lead
boolean

Update the role of the participant to be the team lead of the project.

cost_in_cents
integer <int32>

Update the cost rate in cents per hour for the participant.

rate_in_cents
integer <int32>

Update the bill rate in cents per hour for the participant. This bill rate is ignored if Rate cards are enabled on the account.

workspace_role_id
integer <int32>

The ID of the participant's assigned role on a project.

can_invite
boolean

Permission for the participant to invite other users into the project.

can_schedule_their_hours
boolean

Permission for the participant to schedule their own hours.

can_schedule_team_hours
boolean

Permission for the participant to schedule hours for project team members.

permissions
string

Permission for the user in the workspace. It must be any combination of "edit", "view_only", "view_and_post", "can_edit", "can_post", "can_edit_expense", "can_edit_time", "can_invite", "can_schedule_their_hours", or "can_schedule_team_hours" delimited by commas. ex. "can_post,can_edit_time"

If "can_invite", "can_schedule_their_hours", or "can_schedule_team_hours" are not set—either via the individual fields or the permissions string—they will inherit the default values defined in the account's Project Permissions Defaults.

access_level
string

Access level for the user in the workspace. Valid options include "edit_tasks", "view_tasks", "edit_time_and_expenses", "view_time_and_expenses", "edit_financials", "view_financials", "admin". Legacy options include "financial", "time_logging", "collaboration".

object

Typically populated programmatically by a third party system via an integration, this is an optional object that holds data from an external system. It connects objects in an external system with objects in Kantata OX (for example, to connect a Jira issue to a Kantata OX Project).

Responses
200

Participation has been updated.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

put/participations/{id}
Request samples
application/json
{
  • "participation": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "participations": {
    },
  • "external_references": {
    },
  • "users": {
    },
  • "workspaces": {
    },
  • "roles": {
    },
  • "workspace_resources": {
    }
}

Deleting an existing Participation

Removes a participant from a project and deletes their associated project data.

The response will contain no content and an HTTP 204 status code if the request was successful, or a standard Kantata OX error message explaining why the object could not be deleted.

Request
path Parameters
id
required
integer

The ID of the Model.

Responses
204

Participation has been deleted.

400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

delete/participations/{id}
Request samples
Response samples
application/json
{
  • "errors": [
    ]
}