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

Filter for records created after a specified datetime.

created_before
string

Filter for records created before a specified datetime.

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_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) - Resources' roles for the participation.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - The participant's account role. Only visible for an API user on the project's account.
  • user (User) - The user (also known as the participant).
  • workspace (Workspace) - The project.
  • workspace_resources (WorkspaceResource) - Resources for the participation in alphabetical order.
  • workspace_role (Role) - The role for the participant.
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

Filter for records updated after a specified datetime.

updated_before
string

Filter for records updated before a specified datetime.

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) - Resources' roles for the participation.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - The participant's account role. Only visible for an API user on the project's account.
  • user (User) - The user (also known as the participant).
  • workspace (Workspace) - The project.
  • workspace_resources (WorkspaceResource) - Resources for the participation in alphabetical order.
  • workspace_role (Role) - The role for the participant.
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
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.

permissions
string

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

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 HubSpot Deal 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) - Resources' roles for the participation.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - The participant's account role. Only visible for an API user on the project's account.
  • user (User) - The user (also known as the participant).
  • workspace (Workspace) - The project.
  • workspace_resources (WorkspaceResource) - Resources for the participation in alphabetical order.
  • workspace_role (Role) - The role for the participant.
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) - Resources' roles for the participation.
  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • primary_role (Role) - The participant's account role. Only visible for an API user on the project's account.
  • user (User) - The user (also known as the participant).
  • workspace (Workspace) - The project.
  • workspace_resources (WorkspaceResource) - Resources for the participation in alphabetical order.
  • workspace_role (Role) - The role for the participant.
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
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 one of "edit", "view_only", "view_and_post", or "can_edit", or any combination of "can_post", "can_edit_expense", or "can_edit_time" delimited by commas. ex. "can_post,can_edit_time".

access_level
string

Access level for the user in the workspace. It must be one of "admin", "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 HubSpot Deal 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

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": [
    ]
}