# Parallax Api The Parallax API allows developers to integrate with core platform data related to clients, projects, and opportunities. It is primarily designed to support CRM integrations, enabling systems to push and pull data in and out of Parallax for better visibility and coordination.The API uses standard REST principles, with JSON responses and token-based authentication. It is versioned and designed to expand over time.A timesheet API is planned for future versions, which will support time entry, reporting, and resource planning features. Version: v1 License: Proprietary ## Servers Production Server ``` https://api.getparallax.com ``` ## Security ### ApiKey Personal Access Token (PAT) for authentication within the X-API-KEY header. Type: apiKey In: header Name: X-API-KEY ## Download OpenAPI description [Parallax Api](https://developer.getparallax.com/_bundle/API%20Documentation/swagger.yaml) ## ActualTime Actual Time represents the timesheet data capturing the work performed by employees and logged against assigned Project Offerings. Actual Time is used to compare planned vs. actual effort, drive utilization reporting, support variance analysis, and inform project health and forecasting across the platform. ### List Actual Time - [GET /v1/actual-time](https://developer.getparallax.com/api-documentation/swagger/actualtime/listactualtime.md): Gets a paginated list of actual time entries with optional filtering by date range, project offering, and person. When no start or end date filters are provided, returns entries from the last 7 days (7 days ago through today). ### Create Actual Time - [POST /v1/actual-time](https://developer.getparallax.com/api-documentation/swagger/actualtime/createactualtime.md): Creates a new record representing hours a person has logged to a project, typically synced from the Timesheet System for tracking actuals against planned work. Parallax only allows a person to have a single role on a project offering, which means that the role is inferred by project_offering_id. ### Delete Actual Time - [DELETE /v1/actual-time/{id}](https://developer.getparallax.com/api-documentation/swagger/actualtime/deleteactualtime.md): Removes a recorded entry of hours worked from the system, typically used for error correction or cleanup. ### Get Actual Time - [GET /v1/actual-time/{id}](https://developer.getparallax.com/api-documentation/swagger/actualtime/getactualtime.md): Fetches specified actual time details by id. ### Update Actual Time - [PATCH /v1/actual-time/{id}](https://developer.getparallax.com/api-documentation/swagger/actualtime/updateactualtime.md): Updates an existing Actual Hours record, used to correct or adjust time entries for accuracy in utilization and variance tracking. ## Clients A client represents the customer organization associated with one or more projects. Clients serve as the primary entity used to group projects, service offerings, and resource plans, allowing for aggregated reporting on revenue, margin, utilization, and forecasting. Each project is tied to a client, enabling organizations to track work and financial performance at both the individual project and client account levels. ### List Clients - [GET /v1/clients](https://developer.getparallax.com/api-documentation/swagger/clients/listclients.md): Gets a paginated list of client organizations tracked in the system, supporting filtering and searching for project association and reporting. ### Create Client - [POST /v1/clients](https://developer.getparallax.com/api-documentation/swagger/clients/createclient.md): Creates a new client representing an organization that projects and revenue are associated with. ### Get Client - [GET /v1/clients/{id}](https://developer.getparallax.com/api-documentation/swagger/clients/getclient.md): Gets a specific client details by id, useful for project association and sales pipeline reporting. ### Update Client - [PATCH /v1/clients/{id}](https://developer.getparallax.com/api-documentation/swagger/clients/updateclient.md): Modifies an existing client, updating details like name, account manager, or CRM identifiers. ## Departments A department is used to categorize and group roles within the organization based on functional teams or disciplines. Departments help segment resource capacity, manage utilization targets, and support filtering within reporting and planning workflows. Each role in Parallax belongs to a department for organizational clarity and capacity planning. ### List Departments - [GET /v1/departments](https://developer.getparallax.com/api-documentation/swagger/departments/listdepartments.md): Returns a paginated list of departments configured in the system, used to categorize people and roles for filtering and resourcing. ### Create Department - [POST /v1/departments](https://developer.getparallax.com/api-documentation/swagger/departments/createdepartment.md): Creates a new Department to categorize roles within the organization. ### Update Department - [PATCH /v1/departments/{id}](https://developer.getparallax.com/api-documentation/swagger/departments/updatedepartment.md): Updates an existing department's name or archived status. ## People People represent the individual resources available for assignment to projects. People are assigned roles, billable capacity, and utilization targets, and can be categorized by worker type, billing type, and department. A Persons record is central to capacity planning, resource allocation, forecasting, and reporting across the platform. ### List People - [GET /v1/people](https://developer.getparallax.com/api-documentation/swagger/people/listpeople.md): Returns a paginated list of individuals in the system. ### Create Person - [POST /v1/people](https://developer.getparallax.com/api-documentation/swagger/people/createperson.md): Creates a profile for an individual within the organization, defining capacity, roles, and billable status for resourcing and forecasting. ### Get Person - [GET /v1/people/{id}](https://developer.getparallax.com/api-documentation/swagger/people/getperson.md): Fetches specified person's profile details by id. ### Update Person - [PATCH /v1/people/{id}](https://developer.getparallax.com/api-documentation/swagger/people/updateperson.md): Updates a person’s profile details such as capacity, cost rate, billing type, or termination date. ## Pipelines A Pipeline mirrors the sales opportunity stages configured in the integrated CRM system. The Pipeline allows Parallax to track deal progression, forecast demand, and convert opportunities into projects once deals are closed-won. ### List Pipelines - [GET /v1/pipelines](https://developer.getparallax.com/api-documentation/swagger/pipelines/listpipelines.md): Fetches a paginated list of sales pipelines ### Create Pipeline - [POST /v1/pipelines](https://developer.getparallax.com/api-documentation/swagger/pipelines/createpipeline.md): Creates a new pipeline in the system to create pipeline stages for, unlocking the ability to track a deal's progress through the sale cycle. ### Get Pipeline by id - [GET /v1/pipelines/{id}](https://developer.getparallax.com/api-documentation/swagger/pipelines/getpipeline.md): Fetches pipeline by id to support sales forecasting and resource planning. ### Update Pipeline - [PATCH /v1/pipelines/{id}](https://developer.getparallax.com/api-documentation/swagger/pipelines/updatepipeline.md): Updates an existing pipeline entry to reflect stage changes, budget adjustments, or anticipated start dates. ## ProjectOfferingRoles A Project Offering Role defines the specific role, resource allocation, and scheduled hours needed within a Service Offering. These roles form the basis of the resource plan by identifying the skill sets, timelines, and capacity requirements for successful delivery of the scoped work. ### List Project Offering Roles - [GET /v1/projects/{project_id}/offerings/{project_offering_id}/roles](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/listprojectofferingroles.md): Lists paginated project offering roles currently planned or used within a project offering. ### Create Project Offering Role - [POST /v1/projects/{project_id}/offerings/{project_offering_id}/roles](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/createprojectofferingrole.md): Creates a Project Offering Role. ### Delete Project Offering Role - [DELETE /v1/projects/{project_id}/offerings/{project_offering_id}/roles/{id}](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/deleteprojectofferingrole.md): Deletes a Project Offering Role. The role must not have any assignments or planned time. ### Get Project Offering Role - [GET /v1/projects/{project_id}/offerings/{project_offering_id}/roles/{id}](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/getprojectofferingrole.md): Gets details of a specific role within a Project Offering, including assignment. ### Update Project Offering Role - [PATCH /v1/projects/{project_id}/offerings/{project_offering_id}/roles/{id}](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/updateprojectofferingrole.md): Updates a Project Offering Role. This includes assigning a specific Person or Requisition. Removing or replacing an assignment where the current person has actuals will return a 409 Conflict. ### List Project Offering Role Plans - [GET /v1/projects/{project_id}/offerings/{project_offering_id}/roles/{id}/planned-time](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/listprojectofferingroleplans.md): Lists paginated planned time entries for a Project Offering Role with filtering by date range. Days with no planned hours are not returned. ### Update Project Offering Role Plans - [POST /v1/projects/{project_id}/offerings/{project_offering_id}/roles/{id}/planned-time](https://developer.getparallax.com/api-documentation/swagger/projectofferingroles/updateprojectofferingroleplans.md): Updates a Project Offering Role's Plans. Takes an array of ProjectOfferingRolePlannedTime entries and applies them to the specified Project Offering Role. Up to 100 entries can be sent at a time. To clear plans for a given day, send 0 hours. Dates omitted from the request will not be altered. ## ProjectOfferings A Project Offering (Service Offering) represents a distinct scope or phase of work within a Project. Each Project Offering contains resource plans, financial models, and revenue data, allowing organizations to model different work types and billing structures within a single project. Offerings help align sales, delivery, and operations teams around specific scopes of work and resourcing needs. ### List Project Offerings - [GET /v1/projects/{project_id}/offerings](https://developer.getparallax.com/api-documentation/swagger/projectofferings/listprojectofferings.md): Gets a paginated list of Project Offerings for a specified project, which serve as containers for resource plans, budgets, and financial models. ### Create Project Offering. - [POST /v1/projects/{project_id}/offerings](https://developer.getparallax.com/api-documentation/swagger/projectofferings/createprojectoffering.md): Creates a new Project Offering for the specified Project. Additional configuration for certain Billing Models are optional. ### Get Project Offering - [GET /v1/projects/{project_id}/offerings/{id}](https://developer.getparallax.com/api-documentation/swagger/projectofferings/getprojectoffering.md): Gets details of a specific Project Offering, including financial settings, planned roles, and associated timesheet project. ### Update Project Offering. - [PATCH /v1/projects/{project_id}/offerings/{id}](https://developer.getparallax.com/api-documentation/swagger/projectofferings/updateprojectoffering.md): Updates a Project Offering's name and billing model, if provided. The ability to modify a Project Offering is limited, once the parent Project status has been moved beyond Awaiting Start. ### Get Project Offering Metrics - [GET /v1/projects/{project_id}/offerings/{id}/metrics](https://developer.getparallax.com/api-documentation/swagger/projectofferings/getprojectofferingmetricsbyid.md): Labor and financial metrics for this Project Offering. All calculations involving Actual Time entries are subject to the Calculation Threshold organization setting. ## Projects A Project represents a distinct engagement or scope of work that the organization is delivering for a Client. Projects serve as containers for Service Offerings, resource plans, financial models, and delivery data. ### List Projects - [GET /v1/projects](https://developer.getparallax.com/api-documentation/swagger/projects/listprojects.md): Gets a paginated list of projects in the system, including client and internal projects, for comprehensive visibility across your portfolio. ### Create Project - [POST /v1/projects](https://developer.getparallax.com/api-documentation/swagger/projects/createproject.md): Creates a new Project entity, either via CRM integration or manually for internal use, serving as the main container for Service Offerings. ### Get Project - [GET /v1/projects/{id}](https://developer.getparallax.com/api-documentation/swagger/projects/getproject.md): Gets a specific project's full details, including Service Offerings, status, and key performance indicators. ### Update Project - [PATCH /v1/projects/{id}](https://developer.getparallax.com/api-documentation/swagger/projects/updateproject.md): Updates project-level details such as name, status, client association, and overall metadata. ### Merge Projects - [POST /v1/projects/{target_id}/merge/{source_id}](https://developer.getparallax.com/api-documentation/swagger/projects/mergeprojects.md): Merges a source project into a target project, consolidating all project offerings, roles, and associated data from the source into the target. This operation cannot be undone. Projects with actual time on them cannot be the source of a merge. ## RateCardRates Rate Card Rates represent the billable rates for specific roles within a Rate Card. ### List Rate Card Rates - [GET /v1/rate-cards/{rate_card_id}/rates](https://developer.getparallax.com/api-documentation/swagger/ratecardrates/listratecardrates.md): Gets a paginated list of rates for all roles on a specific rate card. ## RateCards A Rate Card represents a list of roles with a standard bill rate for each role. ### List Rate Cards - [GET /v1/rate-cards](https://developer.getparallax.com/api-documentation/swagger/ratecards/listratecards.md): Returns a paginated list of Rate Cards. ## Roles A Role defines the type of work or skill set associated with resource assignments across projects and offerings. Roles are used to categorize resources, shape staffing needs, and support forecasting by identifying which types of personnel are required for each project or service offering. ### List Roles - [GET /v1/roles](https://developer.getparallax.com/api-documentation/swagger/roles/listroles.md): Returns paginated list of defined roles used in shaping resource plans, typically categorized by department and used to match people to work. ### Create Role - [POST /v1/roles](https://developer.getparallax.com/api-documentation/swagger/roles/createrole.md): Creates a new role within a department to be used for shaping, planning, and reporting. ### Get Role - [GET /v1/roles/{id}](https://developer.getparallax.com/api-documentation/swagger/roles/getrole.md): Gets details of a specific role used for shaping, planning, and reporting. ### Update Role - [PATCH /v1/roles/{id}](https://developer.getparallax.com/api-documentation/swagger/roles/updaterole.md): Updates an existing role's properties including name, department, capacity, and utilization targets. ## Stages A Pipeline Stage represents a single stage within the Pipeline, mapping directly to the stages defined in the system. Pipeline Stages allow for real-time visibility into opportunity status and expected resource demand throughout the sales process. ### List Pipeline Stages - [GET /v1/pipelines/{pipeline_id}/stages](https://developer.getparallax.com/api-documentation/swagger/stages/liststages.md): Gets all pipeline stages reflected in the specified sales pipeline, enabling alignment between sales forecasting and project readiness. ### Create Pipeline Stage - [POST /v1/pipelines/{pipeline_id}/stages](https://developer.getparallax.com/api-documentation/swagger/stages/createstage.md): Adds a new sales stage to the specified pipeline mapping in Parallax, aligning sales progress with resourcing needs. ### Get Pipeline Stage - [GET /v1/pipelines/{pipeline_id}/stages/{id}](https://developer.getparallax.com/api-documentation/swagger/stages/getstage.md): Gets details of a pipeline stage used in sales pipeline alignment. ### Update Pipeline Stage - [PATCH /v1/pipelines/{pipeline_id}/stages/{id}](https://developer.getparallax.com/api-documentation/swagger/stages/updatestage.md): Updates a stage in the pipeline used to mirror opportunity progress into Parallax. ## Tags A Tag is a flexible metadata label used to categorize and filter entities such as People, Projects, and Project Offering Roles. Tags support custom grouping, reporting, and segmentation across multiple areas of the platform, enabling organizations to adapt Parallax to their internal business structures and workflows. ### List all Tags - [GET /v1/tags](https://developer.getparallax.com/api-documentation/swagger/tags/listtags.md): Returns all custom tags used throughout the system for categorization, filtering, and segmentation of people, projects, or clients. ## TimesheetEntries Timesheet Entries represent time recorded within the Parallax Timesheets service, including additional properties related approval state. ### List Timesheet Entries - [GET /v1/timesheet-entries](https://developer.getparallax.com/api-documentation/swagger/timesheetentries/listtimesheetentries.md): Gets a paginated list of timesheet entries recorded for a given time period with optional filtering by project offering, approval status, and etc. When no start or end date filters are provided, returns entries from the last 7 days (7 days ago through today).