Members
The members
resource manages project memberships for individuals, ensuring
memberships stay in sync with account roles. It integrates with role-based
events—creating or deleting project memberships when roles like lead
are
assigned or removed—while providing flexible membership management
and filtering capabilities.
Endpoints
- get /api/v3/workflow/members
- post /api/v3/workflow/members
- delete /api/v3/workflow/members/:resource_id
- get /api/v3/workflow/members/:resource_id
- patch /api/v3/workflow/members/:resource_id
- get /api/v3/workflow/members/availability
get/api/v3/workflow/members
Return a paginated list of workflow/project/members
Input Schema
object
object
object
- `project`
array
The key is the resource type and the value is an array of fields.
dictionary
Typescript
type InputSchema = {
page?: {
// The page number, default to 1
number?: number;
// The number of items per page, default to 1000
size?: number;
};
// The sort order, comma separated list of fields. See sorting section for more details
sort?: string;
// Set to true to return the total number of items in the collection
count?: boolean;
filter?: {
id?: any;
project_id?: any;
person_id?: any;
account_id?: any;
actor_roles?: any;
first_name?: any;
middle_name?: any;
last_name?: any;
picture_url?: any;
is_supervisor?: any;
created_at?: any;
updated_at?: any;
account_id__in?: any;
search__match?: any;
project_id?: any;
is_supervisor?: any;
actor_roles__contains?: any;
};
// The related resources to include in the response. Allowed resources are:
// - `project`
included?: Array<string>;
// The fields to include in the response.
// The key is the resource type and the value is an array of fields.
fields?: { [key: string]: Array<any> };
};
Output Schema
object
array
object
object
array
Typescript
type OutputSchema = {
data: Array<{
type: string;
id?: string;
attributes?: {
id?: number;
person_id?: number;
account_id?: number;
actor_roles?: Array<any>;
first_name?: string;
middle_name?: string;
last_name?: string;
picture_url?: string | null;
is_supervisor?: boolean;
created_at?: Date;
updated_at?: Date;
};
relationships?: Record<string, any>;
}>;
included?: Array<Record<string, any>>;
};
post/api/v3/workflow/members
Create a new workflow/project/members
Input Schema
object
object
object
object
object
object
Typescript
type InputSchema = {
data: {
type: string;
attributes: {
id?: number;
person_id?: number;
account_id?: number;
actor_roles?: Array<any>;
first_name?: string;
middle_name?: string;
last_name?: string;
picture_url?: string | null;
is_supervisor?: boolean;
created_at?: Date;
updated_at?: Date;
};
relationships?: { project: { data: { type: string; id?: string } } };
};
};
delete/api/v3/workflow/members/:resource_id
Delete the workflow/project/members
Input Schema
object
Typescript
type InputSchema = { resource_id: number };
get/api/v3/workflow/members/:resource_id
Show a specific workflow/project/members
Input Schema
object
array
dictionary
Typescript
type InputSchema = {
resource_id: number;
included?: Array<string>;
fields?: { [key: string]: Array<any> };
};
Output Schema
object
object
object
array
Typescript
type OutputSchema = {
data: {
type: string;
id?: string;
attributes?: {
id?: number;
person_id?: number;
account_id?: number;
actor_roles?: Array<any>;
first_name?: string;
middle_name?: string;
last_name?: string;
picture_url?: string | null;
is_supervisor?: boolean;
created_at?: Date;
updated_at?: Date;
};
relationships?: Record<string, any>;
};
included?: Array<Record<string, any>>;
};
patch/api/v3/workflow/members/:resource_id
Update a workflow/project/members
Input Schema
object
object
object
Typescript
type InputSchema = {
resource_id: number;
data: {
type: string;
attributes: {
id?: number;
person_id?: number;
account_id?: number;
actor_roles?: Array<any>;
first_name?: string;
middle_name?: string;
last_name?: string;
picture_url?: string | null;
is_supervisor?: boolean;
created_at?: Date;
updated_at?: Date;
};
};
};
get/api/v3/workflow/members/availability
Get availability information for project members.
This endpoint returns the availability status of project members for each day in the specified date range. It takes into account employee schedules, holidays, and approved leave requests.
By default, it returns availability for non-supervisor members, but can be configured to return availability for supervisors by setting the is_supervisor parameter to true.
You can also filter by project_id to get availability only for members of a specific project.
The date range is limited to a maximum of 90 days.
Input Schema
object
object
Typescript
type InputSchema = {
filter: {
from: Date;
to: Date;
is_supervisor?: boolean;
project_id?: number;
};
};