### GET /projects Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves a list of projects with various filtering options. ```APIDOC ## GET /projects ### Description Retrieves a list of projects with various filtering options. ### Method GET ### Endpoint /projects ### Parameters #### Query Parameters - **customerCompanyId** (string) - Optional - You can use this param to provide customer company id separated by commas and the responses will not contain matches of projects that match the given set of customer company id. - **teamMemberId.eq** (string) - Optional - You can use this param to provide a team member id and the responses will contain exact matches of projects that match the given team member id. - **teamMemberId.oneOf** (string) - Optional - You can use this param to provide team member ids separated by commas and the responses will contain matches of projects that match any of the given team member id. - **teamMemberId.noneOf** (string) - Optional - You can use this param to provide team member id separated by commas and the responses will not contain matches of projects that match the given set of team member id. - **companyId.eq** (string) - Optional - You can use this param to provide a customer company id and the responses will contain exact matches of projects that match the given customer company id. - **companyId.oneOf** (string) - Optional - You can use this param to provide customer company ids separated by commas and the responses will contain matches of projects that match any of the given customer company id. - **companyId.noneOf** (string) - Optional - You can use this param to provide customer company id separated by commas and the responses will not contain matches of projects that match the given set of customer company id. - **projectName.eq** (string) - Optional - You can use this param to specify some project name and the responses will contain exact matches of projects that match the given name. - **projectName.cn** (string) - Optional - You can use this param to specify some project name and the responses will contain matches of projects that match the given name. - **projectName.nc** (string) - Optional - You can use this param to specify some project name and the responses will not contain matches of projects that match the given name. - **inferredProgress.eq** (array) - Optional - You can use this param to provide a inferred progress and the responses will contain exact matches of projects that match the given inferred progress. Allowed values: ON_TRACK, AHEAD_OF_TIME, RUNNING_LATE, NONE. - **contractType.eq** (array) - Optional - You can use this param to provide a contract type and the responses will contain exact matches of projects that match the given contract type. Allowed values: FIXED_FEE, TIME_AND_MATERIAL. ### Response #### Success Response (200) - **projects** (array) - List of projects matching the query. #### Response Example { "projects": [ { "id": "string", "name": "string", "companyId": "string", "inferredProgress": "string", "contractType": "string" } ] } ``` -------------------------------- ### GET /projects Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves a list of projects with various filtering options. ```APIDOC ## GET /projects ### Description Retrieves a list of projects. Supports filtering by contract type, budgeted hours, and allocated hours. ### Method GET ### Endpoint /projects ### Query Parameters - **contractType.oneOf** (array[string]) - Optional - Filters projects to include only those matching any of the provided contract types (FIXED_FEE, TIME_AND_MATERIAL, SUBSCRIPTION, NON_BILLABLE). - **contractType.noneOf** (array[string]) - Optional - Filters projects to exclude those matching any of the provided contract types (FIXED_FEE, TIME_AND_MATERIAL, SUBSCRIPTION, NON_BILLABLE). - **budgetedHours.gt** (string) - Optional - Filters projects with budgeted hours greater than the specified value. - **budgetedHours.eq** (string) - Optional - Filters projects with budgeted hours exactly matching the specified value. - **budgetedHours.lt** (string) - Optional - Filters projects with budgeted hours less than the specified value. - **budgetedHours.ge** (string) - Optional - Filters projects with budgeted hours greater than or equal to the specified value. - **allocatedHours.le** (string) - Optional - Filters projects with allocated hours less than or equal to the specified value. - **allocatedHours.gt** (string) - Optional - Filters projects with allocated hours greater than the specified value. - **allocatedHours.eq** (string) - Optional - Filters projects with allocated hours exactly matching the specified value. - **allocatedHours.lt** (string) - Optional - Filters projects with allocated hours less than the specified value. - **allocatedHours.ge** (string) - Optional - Filters projects with allocated hours greater than or equal to the specified value. - **customersInvited.gt** (string) - Optional - Filters projects where the number of invited customers is greater than the specified value. ### Response #### Success Response (200) - **projects** (array) - A list of project objects. - **id** (string) - The unique identifier of the project. - **name** (string) - The name of the project. - **contractType** (string) - The type of contract for the project. - **budgetedHours** (number) - The total budgeted hours for the project. - **allocatedHours** (number) - The total allocated hours for the project. - **customersInvited** (number) - The number of customers invited to the project. #### Response Example { "projects": [ { "id": "proj_123", "name": "Project Alpha", "contractType": "FIXED_FEE", "budgetedHours": 100, "allocatedHours": 80, "customersInvited": 5 } ] } ``` -------------------------------- ### GET /projects Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves a list of projects with various filtering options. ```APIDOC ## GET /projects ### Description Retrieves a list of projects. Supports filtering based on customer invitations, customer joins, archive status, and project status. ### Method GET ### Endpoint /projects ### Query Parameters - **customersInvited.gt** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have more customers invited than given number of customers invited. - **customersInvited.eq** (string) - Optional - You can use this param to provide a number and the responses will contain exact matches of projects that exactly have the given number of customers invited. - **customersInvited.lt** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have less customers invited than given number of customers invited. - **customersInvited.ge** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have equal or more customers invited than given number of customers invited. - **customersInvited.le** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have equal or less customers invited than given number of customers invited. - **customersJoined.gt** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have more customers joined than given number of customers joined. - **customersJoined.eq** (string) - Optional - You can use this param to provide a number and the responses will contain exact matches of projects that exactly have the given number of customers joined. - **customersJoined.lt** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have less customers joined than given number of customers joined. - **customersJoined.ge** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have equal or more customers joined than given number of customers joined. - **customersJoined.le** (string) - Optional - You can use this param to provide a number and the responses will contain projects that have equal or less customers joined than given number of customers joined. - **includeArchive** (boolean) - Optional - You can use this parameter to specify whether responses will include the archived projects. - **status.eq** (string) - Optional - You can use this param to provide status and the responses will contain projects that are equal to the given status. - **status.oneOf** (string) - Optional - You can use this param to provide statuses and the responses will contain projects that match one of the given statuses. - **status.noneOf** (string) - Optional - You can use this param to provide statuses and the responses will contain projects that matches none of the given statuses. ### Response #### Success Response (200) - **projects** (array) - A list of project objects. #### Response Example { "projects": [ { "id": "proj_123", "name": "Example Project", "customersInvited": 5, "customersJoined": 3, "isArchived": false, "status": "active" } ] } ``` -------------------------------- ### GET /websites/developer_rocketlane_reference Source: https://developer.rocketlane.com/reference/get-all-projects Retrieve a list of projects with various filtering options. ```APIDOC ## GET /websites/developer_rocketlane_reference ### Description Retrieves a list of projects, allowing for filtering based on various criteria including dates and matching logic. ### Method GET ### Endpoint /websites/developer_rocketlane_reference ### Parameters #### Query Parameters - **match** (string) - Optional - Specifies if entries should be filtered using AND (all) or OR (any). Defaults to AND. - **startDate.gt** (string) - Optional - Filters projects with a start date greater than the provided date (YYYY-MM-DD). - **startDate.eq** (string) - Optional - Filters projects with an exact start date match (YYYY-MM-DD). - **startDate.lt** (string) - Optional - Filters projects with a start date less than the provided date (YYYY-MM-DD). - **startDate.ge** (string) - Optional - Filters projects with a start date greater than or equal to the provided date (YYYY-MM-DD). - **startDate.le** (string) - Optional - Filters projects with a start date less than or equal to the provided date (YYYY-MM-DD). - **dueDate.gt** (string) - Optional - Filters projects with a due date greater than the provided date (YYYY-MM-DD). - **dueDate.eq** (string) - Optional - Filters projects with an exact due date match (YYYY-MM-DD). - **dueDate.lt** (string) - Optional - Filters projects with a due date less than the provided date (YYYY-MM-DD). - **dueDate.ge** (string) - Optional - Filters projects with a due date greater than or equal to the provided date (YYYY-MM-DD). - **dueDate.le** (string) - Optional - Filters projects with a due date less than or equal to the provided date (YYYY-MM-DD). - **startDateActual.gt** (string) - Optional - Filters projects with an actual start date greater than the provided date (YYYY-MM-DD). - **startDateActual.eq** (string) - Optional - Filters projects with an exact actual start date match (YYYY-MM-DD). - **startDateActual.lt** (string) - Optional - Filters projects with an actual start date less than the provided date (YYYY-MM-DD). ### Response #### Success Response (200) - **projects** (array) - A list of project objects matching the query criteria. #### Response Example ```json { "projects": [ { "id": "proj_123", "name": "Project Alpha", "startDate": "2023-01-15", "dueDate": "2023-12-31", "startDateActual": "2023-01-20" } ] } ``` ``` -------------------------------- ### GET /projects/{projectId} Source: https://developer.rocketlane.com/reference/get-project Retrieves detailed information about a specific project. ```APIDOC ## GET /projects/{projectId} ### Description Retrieves detailed information about a specific project, including its progress, timelines, and participant engagement metrics. ### Method GET ### Endpoint /projects/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **remainingMinutes** (integer) - Number of minutes left to complete the project or task and complements RemainingHours. - **progressPercentage** (integer) - The progress percentage is computed based on the number of tasks that are completed vs the total number of tasks in the project. This can be used to track how much the project has progressed over time. - **currentPhases** (array) - The phases that are currently marked as in progress are available here. - **autoAllocation** (boolean) - The field autoAllocation defines whether Auto Allocation is enabled for the project or not. If auto allocation is enabled, instead of adding it manually, the allocations are computed from the tasks duration, effort and the assignees specified in the project. - **sources** (array) - Sources denotes the project templates involved in creation/ imported post creation of the project. - **plannedDurationInDays** (integer) - The difference between `startDate` and `dueDate` is computed and stored in days as `plannedDurationInDays`. - **inferredProgress** (string) - The `inferredProgress` can be used to know whether the project's progress is as per the expectation. For eg: the value `ON_TRACK` specifies that the project is in good state and not further action would be necessary to track the progress of it, whereas the value `RUNNING_LATE` means that the project state deviates from the original plan and needs immediate attention. (enum: ["ON_TRACK", "AHEAD_OF_TIME", "RUNNING_LATE", "NONE"]) - **projectAgeInDays** (integer) - If both the project actual dates (`startDateActual` and `dueDateActual`) are available, the difference is computed and shown in days. If `dueDateActual` isn't available, then the value is computed by the difference of today's date and the available date under `startDateActual`. The value will be null or not present if `startDateActual` is not available. - **customersInvited** (integer) - Reflects the number of customers that have been invited to the project. - **customersJoined** (integer) - CustomersJoined tracks the actual number of customers who joined the project after being invited. It is mostly used to track customer engagement. - **externalReferenceId** (string) - An externalReferenceId is a unique identifier that links entities or transactions between external systems and Rocketlane, ensuring accurate data correlation and consistency. #### Response Example { "remainingMinutes": 530, "progressPercentage": 42, "currentPhases": [], "autoAllocation": false, "sources": [], "plannedDurationInDays": 24, "inferredProgress": "RUNNING_LATE", "projectAgeInDays": 38, "customersInvited": 5, "customersJoined": 12, "externalReferenceId": "pr_8171" } ``` -------------------------------- ### GET /1.0/projects Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves a list of all projects. Supports pagination, field selection, sorting, and filtering. ```APIDOC ## GET /1.0/projects ### Description Retrieves a list of all projects. Supports pagination, field selection, sorting, and filtering. ### Method GET ### Endpoint /1.0/projects ### Parameters #### Query Parameters - **pageSize** (number) - Optional - Sets the maximum number of responses per page. Defaults to 100. - **pageToken** (string) - Optional - Specifies the page token for navigation. Obtained from a previous request and active for 15 minutes. - **includeFields** (array of strings) - Optional - Comma-separated values to specify which fields to return. If left blank, default properties are returned. Possible values: "annualizedRecurringRevenue", "projectFee", "allocatedHours", "allocatedMinutes", "budgetedHours", "percentageBudgetedHoursConsumed", "percentageBudgetConsumed", "billableHours", "billableMinutes", "nonBillableHours", "nonBillableMinutes", "trackedHours", "trackedMinutes", "progressPercentage", "startDateActual", "dueDateActual", "currentPhase", "autoAllocation", "sources", "inferredProgress", "plannedDuration", "projectAgeInDays", "customersInvited", "customersJoined", "externalReferenceId", "metrics", "remainingMinutes", "remainingHours". - **includeAllFields** (boolean) - Optional - If true, all fields are returned. If left blank, default properties are returned. - **sortBy** (string) - Optional - Field to sort the responses by. Possible values: "projectName", "startDate", "dueDate", "startDateActual", "dueDateActual", "annualizedRecurringRevenue", "projectFee". - **sortOrder** (string) - Optional - Sorting order. Possible values: "ASC", "DESC". Defaults to DESC. - **match** (string) - Optional - Description not provided in the source. ### Response #### Success Response (200) - **projects** (array) - Description not provided in the source. - **pagination** (object) - Description not provided in the source. #### Response Example { "projects": [ { "id": "641c707e-173a-11ee-afa1-0242ac120002", "projectName": "Project Alpha", "projectFee": 10000, "currency": "USD", "startDate": "2023-01-01T00:00:00Z", "dueDate": "2023-12-31T23:59:59Z", "status": "Active", "createdAt": "2023-01-01T10:00:00Z", "updatedAt": "2023-10-26T14:30:00Z" } ], "pagination": { "nextPageToken": "59c12a42-dd10-11ed-afa1-0242ac120002", "hasNextPage": true } } ``` -------------------------------- ### GET /websites/developer_rocketlane_reference/projects/{projectId} Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves detailed information about a specific project. ```APIDOC ## GET /websites/developer_rocketlane_reference/projects/{projectId} ### Description Retrieves detailed information about a specific project, including various metrics and status indicators. ### Method GET ### Endpoint `/websites/developer_rocketlane_reference/projects/{projectId}` ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **nonBillableHours** (integer) - Total non-billable hours tracked for the project. - **nonBillableMinutes** (number) - Total non-billable minutes tracked for the project. - **remainingHours** (integer) - Number of hours left to complete the project. - **remainingMinutes** (integer) - Number of minutes left to complete the project. - **progressPercentage** (integer) - The progress percentage of the project based on completed tasks. - **currentPhases** (array) - An array of phases currently in progress. - **autoAllocation** (boolean) - Indicates if auto-allocation is enabled for the project. - **sources** (array) - An array of project templates or sources used for the project. - **plannedDurationInDays** (integer) - The planned duration of the project in days. - **inferredProgress** (string) - The inferred progress status of the project (e.g., ON_TRACK, RUNNING_LATE). - **projectAgeInDays** (integer) - The age of the project in days. - **customersInvited** (integer) - The number of customers invited to the project. - **customersJoined** (integer) - The number of customers who have joined the project. - **externalReferenceId** (string) - An external reference ID for the project. #### Response Example ```json { "nonBillableHours": 500, "nonBillableMinutes": 500.0, "remainingHours": 530, "remainingMinutes": 530, "progressPercentage": 42, "currentPhases": [], "autoAllocation": false, "sources": [], "plannedDurationInDays": 24, "inferredProgress": "RUNNING_LATE", "projectAgeInDays": 38, "customersInvited": 5, "customersJoined": 12, "externalReferenceId": "ext-12345" } ``` ``` -------------------------------- ### GET /api/placeholders Source: https://developer.rocketlane.com/reference/get-placeholders Searches for placeholders across the project. Supports pagination using 'limit' and 'pageToken'. ```APIDOC ## GET /api/placeholders ### Description This endpoint can be used to search for placeholders across project. The response body is paginated and you can control the pagination using the `limit` and `pageToken` parameters. ### Method GET ### Endpoint /api/placeholders ### Query Parameters - **limit** (integer) - Optional - The maximum number of placeholders to return in the response. - **pageToken** (string) - Optional - A token that identifies a specific page of results to retrieve. ``` -------------------------------- ### GET /projects/{projectId} Source: https://developer.rocketlane.com/reference/get-project Retrieves detailed information about a specific project based on its unique identifier. ```APIDOC ## GET /projects/{projectId} ### Description Retrieves extensive information about a given project based on its unique identifier (`projectId`). This endpoint is useful for gaining access to detailed project information for further analysis. The response can be tailored using the `includeFields` parameter. ### Method GET ### Endpoint `/projects/{projectId}` ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. #### Query Parameters - **includeFields** (string) - Optional - A comma-separated list of fields to include in the response. For example: `tasks,members`. ### Response #### Success Response (200) - **projectId** (string) - The unique identifier of the project. - **projectName** (string) - The name of the project. - **description** (string) - A detailed description of the project. - **startDate** (string) - The start date of the project. - **endDate** (string) - The end date of the project. - **status** (string) - The current status of the project (e.g., 'Active', 'Completed', 'On Hold'). - **tasks** (array) - A list of tasks associated with the project. - **members** (array) - A list of members assigned to the project. #### Response Example ```json { "projectId": "proj_12345", "projectName": "Rocketlane Website Redesign", "description": "Redesign the company website to improve user experience and modern aesthetics.", "startDate": "2023-10-26T00:00:00Z", "endDate": "2023-12-31T00:00:00Z", "status": "Active", "tasks": [ { "taskId": "task_abc", "taskName": "Design Mockups" } ], "members": [ { "memberId": "user_xyz", "memberName": "Alice Smith" } ] } ``` ``` -------------------------------- ### Project Details Fields Source: https://developer.rocketlane.com/reference/create-project This section details the fields available for project information, including their types, descriptions, and examples. ```APIDOC ## Project Details Fields This section describes the various fields that represent project details. ### Fields - **startDateActual** (string) - The date on which the project status is changed to in progress. The status can be either the default said status (in progress) or custom statuses that are categorised as in progress. It can be null for projects that have not yet begun. The format for the actual start date is _YYYY-MM-DD_. - Example: "2023-03-28" - **dueDateActual** (string) - The date when project status gets changed to completed. The status can be either the default provided status (completed) or a custom status that is labelled under the Completed category. It will be null if the project is yet to be completed. The format for the actual due date is _YYYY-MM-DD_. - Example: "2023-03-28" - **annualizedRecurringRevenue** (integer) - Indicates the value of the recurring revenue of the customer's subscriptions for a single calendar year. - Format: int64 - Example: 10000 - **projectFee** (integer) - The total fee that is charged for the project. - Format: int64 - Example: 100000 - **budgetedHours** (number) - Budgeted hours represent the total hours allocated for project execution. This value can be edited at any point throughout the project's duration. You can enter the budgeted hours in decimal form, including both hours and minutes, with up to two decimal places of precision. Eg: 1.65 hrs = 1h 39m(1.65h * 60m = 99m). - Format: double - ReadOnly: true - Example: 10.5 - **percentageBudgetedHoursConsumed** (number) - The budgeted hours consumed percentage. - Format: double - ReadOnly: true - Example: 42 - **percentageBudgetConsumed** (number) - The budget consumed percentage. - Format: double - ReadOnly: true - Example: 42 - **trackedHours** (integer) - The number of hours tracked as part of `submitted` time-entries are captured here and computed in hours. - Format: int32 - ReadOnly: true - Example: 530 - **trackedMinutes** (number) - The number of minutes tracked as part of `submitted` time-entries are captured here and computed in minutes. - Format: double - ReadOnly: true - Example: 530 - **allocatedHours** (integer) - If the project has `allocations` against say users or placeholders, it is collected and computed in hours. - Format: int32 - ReadOnly: true - Example: 500 - **allocatedMinutes** (number) - If the project has `allocations` against say users or placeholders, it is collected and computed in minutes. - Format: double - ReadOnly: true - Example: 500 - **billableHours** (integer) - If the project has time entries tracked under billable, it is collected and computed in hours. - Format: int32 - ReadOnly: true - Example: 500 - **billableMinutes** (number) - If the project has time entries tracked under billable, it is collected and computed in minutes. - Format: double - ReadOnly: true - Example: 500 - **nonBillableHours** (integer) - If the project has time entries tracked under non-billable, it is collected and computed in hours. - Format: int32 - ReadOnly: true - Example: 500 - **nonBillableMinutes** (number) - If the project has time entries tracked under non-billable, it is collected and computed in minutes. - Format: double - ReadOnly: true - Example: 500 - **remainingHours** (integer) - Number of hours left to complete the project or task based on tracked and budgeted hours. - Format: int32 - ReadOnly: true - Example: 530 ``` -------------------------------- ### Get All Projects Source: https://developer.rocketlane.com/reference/get-all-projects Retrieves a list of projects from your Rocketlane instance with options for filtering, sorting, and pagination. Archived projects are not included in the response. ```APIDOC ## GET /projects ### Description Retrieves a list of projects from your Rocketlane instance. This API supports advanced filtering, sorting, and pagination to help you find specific project data. ### Method GET ### Endpoint /projects ### Query Parameters - **includeFields** (string) - Optional - Comma-separated list of fields to include in the response. - **limit** (integer) - Optional - The maximum number of projects to return per page. Defaults to 20. - **pageToken** (string) - Optional - A token for retrieving the next page of results. - **sortBy** (string) - Optional - The field to sort the projects by. Example: `createdAt`. - **sortOrder** (string) - Optional - The order to sort the projects. Possible values: `asc`, `desc`. Defaults to `desc`. - **filters** (object) - Optional - An object containing various filtering criteria. Specific filter fields are not detailed in the provided text but are implied by the 'Filtering' section. ### Response #### Success Response (200) - **projects** (array) - A list of project objects. - **pageToken** (string) - A token for retrieving the next page of results, if available. #### Response Example { "projects": [ { "id": "proj_123", "name": "Example Project", "createdAt": "2023-10-27T10:00:00Z" } ], "pageToken": "next_page_token_xyz" } ``` -------------------------------- ### POST /projects Source: https://developer.rocketlane.com/reference/create-project Create a new project with specified details, including name, dates, owner, team members, status, custom fields, partners, and sources. ```APIDOC ## POST /projects ### Description Creates a new project. You can specify project details such as name, start and due dates, visibility, owner, team members, status, custom fields, partners, and sources (templates). ### Method POST ### Endpoint /projects ### Parameters #### Request Body - **projectName** (string) - Required - The name of the project. - **startDate** (string) - Optional - The project's start date in YYYY-MM-DD format. - **dueDate** (string) - Optional - The project's due date in YYYY-MM-DD format. - **visibility** (string) - Optional - Visibility setting for the project (`EVERYONE` or `MEMBERS`). - **owner** (object) - Required - Information about the project owner. - **userId** (integer) - Required - The ID of the user who will own the project. - **firstName** (string) - Optional - The first name of the project owner. - **lastName** (string) - Optional - The last name of the project owner. - **teamMembers** (object) - Optional - Information about team members to be added to the project. - **members** (array) - Optional - List of members to add. - **userId** (integer) - Required - The ID of the user. - **role** (string) - Optional - The role of the member in the project. - **status** (object) - Optional - The status of the project. - **statusId** (integer) - Required - The ID of the project status. - **statusName** (string) - Optional - The name of the project status. - **fields** (array) - Optional - Custom fields for the project. - **fieldId** (integer) - Required - The ID of the custom field. - **fieldValue** (any) - Required - The value for the custom field. - **customer** (object) - Optional - Information about the customer company. - **companyId** (integer) - Required - The ID of the customer company. - **companyName** (string) - Optional - The name of the customer company. - **partners** (array) - Optional - Partner companies associated with the project. - **companyName** (string) - Required - The name of the partner company. - **companyId** (integer) - Optional - The ID of the partner company. - **sources** (array) - Optional - Project templates or sources to import. - **sourceId** (integer) - Required - The ID of the source. - **sourceType** (string) - Required - The type of the source (e.g., 'TEMPLATE'). - **assignProjectOwner** (boolean) - Optional - Whether to assign the specified owner as the project owner. ### Request Example ```json { "projectName": "Acme onboarding", "startDate": "2023-03-28", "dueDate": "2023-04-15", "visibility": "EVERYONE", "owner": { "userId": 123, "firstName": "John", "lastName": "Doe" }, "teamMembers": { "members": [ { "userId": 456, "role": "Editor" } ] }, "status": { "statusId": 1, "statusName": "Planning" }, "fields": [ { "fieldId": 10, "fieldValue": "High Priority" } ], "customer": { "companyId": 301, "companyName": "Acme Corp" }, "partners": [ { "companyId": 201, "companyName": "Modert Inc" } ], "sources": [ { "sourceId": 5, "sourceType": "TEMPLATE" } ], "assignProjectOwner": true } ``` ### Response #### Success Response (200) - **projectId** (integer) - The unique identifier of the created project. - **projectName** (string) - The name of the created project. - **startDate** (string) - The start date of the project. - **dueDate** (string) - The due date of the project. - **visibility** (string) - The visibility setting of the project. - **owner** (object) - Information about the project owner. - **status** (object) - The status of the project. #### Response Example ```json { "projectId": 201, "projectName": "Acme onboarding", "startDate": "2023-03-28", "dueDate": "2023-04-15", "visibility": "EVERYONE", "owner": { "userId": 123, "firstName": "John", "lastName": "Doe" }, "status": { "statusId": 1, "statusName": "Planning" } } ``` ``` -------------------------------- ### Get Task by ID (cURL) Source: https://developer.rocketlane.com/reference/get-task Use this cURL command to make a GET request to retrieve a specific task by its ID. Ensure you replace {taskId} with the actual task ID. ```shell curl --request GET \ --url https://api.rocketlane.com/api/1.0/tasks/1 \ --header 'accept: application/json' ``` -------------------------------- ### Project Creation Parameters Source: https://developer.rocketlane.com/reference/create-project This section details the various parameters that can be used when creating a project. These include settings for task assignment, financial details, and project configuration. ```APIDOC ## POST /api/projects ### Description Creates a new project with specified configurations. ### Method POST ### Endpoint /api/projects ### Parameters #### Request Body - **autoAllocation** (boolean) - Optional - The field autoAllocation defines whether Auto Allocation is enabled for the project or not. If auto allocation is enabled, instead of adding it manually, the allocations are computed from the tasks duration, effort and the assignees specified in the project. - **placeholders** (array) - Optional - Rocketlane's placeholders are associated with roles. Based on the kind of roles and expertise that are needed to execute a task, placeholders can be added as assignees to templates as well as projects. Eventually, you can resolve placeholders by replacing them with team members according to their availability and role. - **annualizedRecurringRevenue** (integer) - Optional - Indicates the value of the recurring revenue of the customer's subscriptions for a single calendar year. - **projectFee** (integer) - Optional - The total fee that is charged for the project. - **autoCreateCompany** (boolean) - Optional - The field auto create company defines whether company should be created as part of the project creation. If the field is set to true, then if the company exists we re-use the company and proceed further. Else we will create a new company. - **budgetedHours** (number) - Optional - Budgeted hours represent the total hours allocated for project execution. This value can be edited at any point throughout the project's duration. You can enter the budgeted hours in decimal form, including both hours and minutes, with up to two decimal places of precision. Eg: 1.65 hrs = 1h 39m(1.65h * 60m = 99m). - **financials** (object) - Optional - Financial details for the project. - **currency** (string) - Optional - The currency for handling the project’s financials. You can only specify a currency for a project that is added at the account level. Please note that the project’s currency cannot to changed once set. Example: USD. Allowed values: AFN, ALL, DZD, ARS, AMD, AUD, AZN, BHD, BDT, BYN, BZD, BOB, BAM, BWP, BRL, GBP, BND, BGN, BIF, KHR, CAD, CVE, XAF, CLP, CNY, COP, KMF, CDF, CRC, HRK, CZK, DKK, DJF, DOP, EGP, ERN, EEK, ETB, EUR, GEL, GHS, GTQ, GNF, HNL, HKD, HUF, ISK, INR, IDR, IRR, IQD, ILS, JMD, JPY, JOD, KZT, KES, KWD, LVL, LBP, LYD, LTL, MOP, MKD, MGA, MYR, MUR, MXN, MDL, MAD, MZN, MMK, NAD, NPR, TWD, NZD, NIO, NGN, NOK, OMR, PKR, PAB, PYG, PEN, PHP, PLN. ### Request Example ```json { "autoAllocation": false, "placeholders": [ { "role": "Developer", "assignee": "user_id_123" } ], "annualizedRecurringRevenue": 10000, "projectFee": 100000, "autoCreateCompany": false, "budgetedHours": 10.5, "financials": {}, "currency": "USD" } ``` ### Response #### Success Response (200) - **projectId** (string) - The unique identifier for the newly created project. - **projectName** (string) - The name of the created project. #### Response Example ```json { "projectId": "proj_abc123", "projectName": "Example Project" } ``` ``` -------------------------------- ### Task Dependencies Source: https://developer.rocketlane.com/reference/add-dependencies-to-task Task Dependencies allow you to define relationships between tasks that are dependent on each other. Rocketlane allows you to have finish to start task dependencies. This means that dependent tasks are meant to start after the dependencies are marked as Complete. ```APIDOC ## Task Dependencies ### Description Task Dependencies allow you to define relationships between tasks that are dependent on each other. Note: Rocketlane allows you to have finish to start task dependencies. This means that dependent tasks are meant to start after the dependencies are marked as Complete. ### Request Body Example (TaskDependencyPublicAPI) ```json { "dependencies": [ { "taskId": 201 } ] } ``` ### Request Body Parameters (TaskDependencyPredecessorPublicRequest) - **taskId** (integer) - Required - The task's unique, system-generated identifier, which can be used to identify the task globally. Example: 201 ### Response #### Success Response (200) - **dependencies** (array) - An array of task dependency objects. - **taskId** (integer) - The unique identifier of the predecessor task. #### Response Example ```json { "dependencies": [ { "taskId": 201 } ] } ``` ``` -------------------------------- ### Project Phase Lite Details Source: https://developer.rocketlane.com/reference/get-all-projects Basic information about project phases that are currently in progress. ```APIDOC ## Project Phase Lite Details ### Description Basic details of project phases that are currently marked as in progress. ### Properties - **phaseId** (integer) - The unique identifier for the phase in a project. - **phaseName** (string) - The name of the phase. ``` -------------------------------- ### Get Time Entry by ID (cURL) Source: https://developer.rocketlane.com/reference/time-tracking-1 Use this cURL command to make a GET request to retrieve a specific time entry. Ensure the `timeEntryId` in the URL is correct. The `accept` header specifies the desired response format. ```shell curl --request GET \ --url https://api.rocketlane.com/api/1.0/time-entries/1 \ --header 'accept: application/json' ``` -------------------------------- ### cURL Request to Get Space by ID Source: https://developer.rocketlane.com/reference/get-space Use this cURL command to make a GET request to retrieve a specific space's details. Replace '{spaceId}' with the actual ID of the space you want to fetch. Ensure you include the 'accept' header for JSON response. ```shell curl --request GET \ --url https://api.rocketlane.com/api/1.0/spaces/1 \ --header 'accept: application/json' ``` -------------------------------- ### POST /1.0/projects/{projectId}/get-placeholders Source: https://developer.rocketlane.com/reference/get-placeholders Retrieves placeholders for a given project. Supports pagination via `limit` and `pageToken` query parameters. ```APIDOC ## POST /1.0/projects/{projectId}/get-placeholders ### Description This endpoint can be used to search for placeholders across a project. The response body is paginated and you can control the pagination using the `limit` and `pageToken` parameters. ### Method POST ### Endpoint /1.0/projects/{projectId}/get-placeholders ### Parameters #### Path Parameters - **projectId** (integer) - Required - The ID of the project. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **ExampleAPIResponsePlaceholders** (object) - The schema for the placeholder response. #### Response Example ```json { "example": "response body" } ``` #### Error Responses - **400 Bad Request**: Indicates an error in the request payload. Check parameter names and data types. - **401 Unauthorized**: Indicates missing or invalid API key. Ensure the `api-key` header is present and valid. - **404 Not Found**: Indicates that the requested resource or API endpoint could not be found. ``` -------------------------------- ### POST /1.0/projects Source: https://developer.rocketlane.com/reference/create-project Creates a new project in Rocketlane. You can specify which fields to include in the response using query parameters. ```APIDOC ## POST /1.0/projects ### Description Creates a new project in Rocketlane. You can specify which fields to include in the response using query parameters. ### Method POST ### Endpoint /1.0/projects ### Parameters #### Query Parameters - **includeFields** (array) - Optional - This query parameter allows you to specify which fields should be returned in the response body by selecting from the drop down. To get the relevant fields, use comma separated values. If the field is left blank, the default properties are returned. - **includeAllFields** (boolean) - Optional - This query parameter allows you to specify if all the fields should be returned in the response body. If the field is left blank, the default properties are returned. ### Request Body Refer to the `ProjectPublicAPIRequestEntity` schema for the request body structure. ### Response #### Success Response (201) - The response body will contain the details of the created project, conforming to the `ProjectPublicAPIResponseEntity` schema. #### Error Responses - **400 Bad Request**: Returned when the request payload contains an error. Check parameter names and data types. - **401 Unauthorized**: Returned when authentication is missing or invalid. Ensure the API request header has a valid api-key. - **500 Internal Server Error**: Returned when an error occurs on the server. The response body may help narrow down the cause. ```