Skip to main content
New to Corsair? See API access, authentication, and error handling.

Bookings

create

bookings.create Create a new resource schedule booking Risk: write
Input Requires resource, project, start, and end dates (YYYY-MM-DD). Use allowOverschedule: true to bypass schedule warning thresholds. type: 'WAITING_FOR_APPROVAL' creates a booking request (requesting & approval extension). Output

delete

bookings.delete Delete a specific booking by ID Risk: destructive
Input Output

deleteBulk

bookings.deleteBulk Bulk delete bookings by IDs, or every booking of one resource or one project Risk: destructive
Input Pass exactly one of ids, resourceId or projectId. resourceId and projectId delete every booking of that resource or project. Output

get

bookings.get Get booking details by booking ID Risk: read
Input Output

list

bookings.list List scheduled bookings with pagination and filters Risk: read
Input Output: object[]

patch

bookings.patch Patch specific properties of a booking or approve/reject booking requests Risk: write
Input Used for partial updates or for approving/rejecting booking requests with type: 'APPROVED' or 'REJECTED'. Output
bookings.search Search bookings matching criteria such as date range or project Risk: read
Input Output: object[]

update

bookings.update Update all properties of an existing booking Risk: write
Input PUT replaces the booking: send every stored field you want to keep (title, note, type, metadata, categoryTemplateId, customFields), or use bookings.patch for a partial change. Output

Categories

create

categories.create Create a new booking category in a group Risk: write
Input Requires groupId, name and type. type: 'NON_OPTIONAL' sets the category as the group’s default; use 'CUSTOM' otherwise. Output

createCostCategory

categories.createCostCategory Create a new project cost category Risk: write
Input Output

deleteCostCategory

categories.deleteCostCategory Delete a project cost category by ID Risk: destructive
Input Output: undefined

get

categories.get Get booking category details by category ID Risk: read
Input Output

getCostCategory

categories.getCostCategory Get project cost category by ID Risk: read
Input Output

list

categories.list List all booking categories Risk: read
Input: empty object Output: object[]

listCostCategories

categories.listCostCategories List all project cost categories Risk: read
Input: empty object Output: object[]

listGroups

categories.listGroups List booking category groups Risk: read
Input: empty object Output: object[]

search

categories.search Search booking categories by name or group Risk: read
Input Output: object[]

searchCostCategories

categories.searchCostCategories Search project cost categories by name Risk: read
Input Output: object[]

update

categories.update Update an existing booking category Risk: write
Input PUT replaces the category: send name, gridColor and type together. Output

updateCostCategory

categories.updateCostCategory Update an existing project cost category Risk: write
Input Output

Custom Fields

addChoices

customFields.addChoices Add options to dropdown or selection custom field templates Risk: write
Input
Output

create

customFields.create Create a new custom field template for projects or resources Risk: write
Input entityType must be either 'project' or 'resource'. Requires type (e.g., 'TEXT', 'select') and label.
Output

delete

customFields.delete Delete a custom field template by ID Risk: destructive
Input Output: undefined

get

customFields.get Get custom field template details by ID Risk: read
Input Output

list

customFields.list List custom field templates for projects or resources Risk: read
Input Output: object[]

search

customFields.search Search custom field templates matching filter parameters Risk: read
Input Output: object[]

update

customFields.update Replace a custom field template; choices left out of the array are removed from records Risk: destructive
Input PUT replaces the template. For SELECT, RADIO and CHECKBOX types send the complete choices array (existing choices with their _id), or the API answers 400.
Output

Events

create

events.create Create a new company event Risk: write
Input Requires event name. Color and metadata custom fields are optional. Output

delete

events.delete Delete a company event by ID Risk: destructive
Input Output: boolean

get

events.get Get company event details by event ID Risk: read
Input Output

list

events.list List company events with pagination and sorting Risk: read
Input Output: object[]

search

events.search Search events by name or event code Risk: read
Input Output: object[]

update

events.update Update an existing company event Risk: write
Input Output

Milestones

create

milestones.create Create a new project milestone date Risk: write
Input Requires name, date (YYYY-MM-DD), and project. Output

delete

milestones.delete Delete a project milestone by ID Risk: destructive
Input Output: boolean

get

milestones.get Get milestone details by milestone ID Risk: read
Input Output

list

milestones.list List milestones with pagination and sorting Risk: read
Input Hub Planner has no GET /milestone, so this runs an empty milestone search. Output: object[]

search

milestones.search Search milestones by project or date range Risk: read
Input Output: object[]

update

milestones.update Update an existing project milestone Risk: write
Input Output

Projects

addClients

projects.addClients Associate client organizations with a project Risk: write
Input Output: boolean

addResources

projects.addResources Assign resources to a project Risk: write
Input Output: boolean

addTags

projects.addTags Add tags to a project Risk: write
Input Output

create

projects.create Create a new project Risk: write
Input Project name is required. Optional properties like budgetHours and budgetCashAmount configure budget limits. Output

delete

projects.delete Delete a specific project by ID Risk: destructive
Input Output: boolean

deleteBulk

projects.deleteBulk Delete multiple projects by their IDs Risk: destructive
Input Output: string[]

get

projects.get Get project details by project ID Risk: read
Input Output

getTags

projects.getTags List tags associated with a project Risk: read
Input Output: object[]

list

projects.list List all projects with pagination and sorting Risk: read
Input Output: object[]

removeClient

projects.removeClient Dissociate a client organization from projects Risk: write
Input Output: boolean

removeResource

projects.removeResource Remove a resource from multiple projects Risk: write
Input Output: boolean

removeTag

projects.removeTag Remove a tag from a project Risk: destructive
Input Output: undefined

search

projects.search Search projects matching custom criteria Risk: read
Input Output: object[]

setProjectManagers

projects.setProjectManagers Replace the project manager list of a project (managers not listed are removed) Risk: destructive
Input Output

update

projects.update Bulk update projects with modified attributes Risk: write
Input Bulk update accepts an array of project objects, each requiring _id and the attributes to be modified.
Output: object[]

Resources

addTags

resources.addTags Add tags to a resource Risk: write
Input Output

create

resources.create Create a new resource member Risk: write
Input Output

delete

resources.delete Delete a specific resource by ID Risk: destructive
Input Output: string[]

deleteBulk

resources.deleteBulk Delete multiple resources by their IDs Risk: destructive
Input Output: string[]

get

resources.get Get resource details by resource ID Risk: read
Input Output

getTags

resources.getTags List tags associated with a resource Risk: read
Input Output: object[]

list

resources.list List all resources with pagination and sorting Risk: read
Input Output: object[]

removeTag

resources.removeTag Remove a tag from a resource Risk: destructive
Input Output: undefined

search

resources.search Search resources matching custom criteria Risk: read
Input Output: object[]

update

resources.update Bulk update resources with modified attributes Risk: write
Input
Output: object[]

Time Entries

create

timeEntries.create Log new time entry on a project for a resource Risk: write
Input Requires resource, project, date (YYYY-MM-DD), and minutes. Output

delete

timeEntries.delete Delete a timesheet entry by ID Risk: destructive
Input Output: boolean

deleteBulk

timeEntries.deleteBulk Delete multiple timesheet entries by their IDs Risk: destructive
Input Output: undefined

get

timeEntries.get Get timesheet entry details by ID Risk: read
Input Output

list

timeEntries.list List recorded timesheet entries with pagination and filters Risk: read
Input Output: object[]

search

timeEntries.search Search time entries matching date ranges and resource/project filters Risk: read
Input Output: object[]

update

timeEntries.update Update an existing timesheet entry Risk: write
Input Output