Skip to main content

Hub Planner

Hub Planner is a cloud-based resource scheduling, capacity planning, and timesheet management platform trusted by thousands of teams worldwide. It provides a centralized view of resource availability, project allocations, and team workloads through a visual drag-and-drop scheduling interface with dynamic heat maps for utilization tracking. Hub Planner covers the full resource management lifecycle—from scheduling resources across projects and tracking time entries, to managing vacation and time-off, defining billing rates, and generating reports on capacity and utilization. Its REST API provides programmatic access to all core entities including resources, projects, bookings, timesheets, clients, groups, milestones, events, and public holidays, supporting both data ingestion into Nexla and write-back workflows for automating resource planning operations.

Hub Planner icon

Power end-to-end data operations for your Hub Planner API with Nexla. Our bi-directional Hub Planner connector is purpose-built for Hub Planner, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Hub Planner or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Hub Planner workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

To connect Nexla to Hub Planner, you need an active Hub Planner account with Administrator-level privileges or higher, and you must generate an API key from within your Hub Planner account settings.

Hub Planner Account Requirements

  • A Hub Planner account with Administrator access or higher is required to generate API keys.

  • Hub Planner API access is available on all Hub Planner plans.

Generate a Hub Planner API Key

Hub Planner uses API key authentication. To generate an API key for use with Nexla:

  1. Log in to your Hub Planner account.

  2. Click Settings in the top-right corner of the page.

  3. In the left navigation panel, under Integrations, click Hub Planner API.

  4. On the Hub Planner API page, click Enable API to activate API access for your account.

  5. Under the API Key Generator section, select the Role that the API key should be associated with. The role determines the level of access the key provides — select the role with the minimum permissions necessary for your integration.

  6. Click Generate Key to create the API key.

  7. Copy the generated API key and store it securely. Treat this key like a password — do not share it with untrusted parties or store it in plain text.

Hub Planner enforces a daily API rate limit of 6,000 API calls per account and a burst limit of 50 requests per 5 seconds. Plan your integration accordingly to avoid hitting these limits.

Important

The API key is displayed only once at the time of generation. Copy it immediately and store it in a secure location, such as a password manager. If you lose the key, you will need to generate a new one.

For additional information about Hub Planner API authentication, see the Hub Planner API FAQ and the Hub Planner API documentation on GitHub.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the Hub Planner API key you generated in Prerequisites in the API Key field. This key authenticates all requests Nexla makes to the Hub Planner API on your behalf.

    Hub Planner's API authentication passes the API key directly in the Authorization header. Unlike standard Bearer token authentication, Hub Planner does not require the word "Bearer" before the key — Nexla handles this automatically based on the Hub Planner connector configuration.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Hub Planner connector tile, then select the credential that will be used to connect to the Hub Planner instance, and click Next; or, create a new Hub Planner credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Hub Planner endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Billing Rates

Returns a list of all billing rates configured in the Hub Planner account. Use this endpoint to extract billing rate data for financial reporting or cost analysis.

  • Sends a GET request to https://api.hubplanner.com/v1/billingRate and returns all billing rate records.
  • Response data is returned as a top-level JSON array; each element represents a single billing rate record. The data path is $[*].

Hub Planner enforces a daily API rate limit of 6,000 calls and a burst limit of 50 requests per 5 seconds. For accounts with many billing rates, consider scheduling runs during off-peak hours.

List Bookings

Returns a list of all bookings (resource allocations) in the Hub Planner account. Use this endpoint to retrieve scheduling and capacity data across projects and team members.

  • Sends a GET request to https://api.hubplanner.com/v1/booking and returns all booking records.
  • Response data is returned as a top-level JSON array; each element represents a single booking. The data path is $[*]. Booking endpoints support pagination via page and limit query parameters (max 1,000 per page).

For accounts with large numbers of bookings, use pagination parameters in the API URL (e.g., ?page=0&limit=1000) and configure Nexla to loop through pages for complete data retrieval.

List Clients

Returns a list of all clients in the Hub Planner account. Use this endpoint to sync client records with CRM systems or build client-level reporting.

  • Sends a GET request to https://api.hubplanner.com/v1/client and returns all client records.
  • Response data is returned as a top-level JSON array; each element represents a single client record. The data path is $[*].

Hub Planner API requests require HTTPS. Nexla handles the required Content-Type: application/json and Accept: application/json headers automatically based on the credential configuration.

List Events

Returns a list of all events in the Hub Planner account. Use this endpoint to track scheduled events alongside bookings and project milestones.

  • Sends a GET request to https://api.hubplanner.com/v1/event and returns all event records.
  • Response data is returned as a top-level JSON array; each element represents a single event. The data path is $[*].

Hub Planner resource IDs are alphanumeric strings. Ensure downstream systems that join event data with other Hub Planner resources handle string-type IDs correctly.

List Holidays

Returns a list of all holidays configured in the Hub Planner account. Use this endpoint to align capacity planning and scheduling data with non-working days.

  • Sends a GET request to https://api.hubplanner.com/v1/holiday and returns all holiday records.
  • Response data is returned as a top-level JSON array; each element represents a single holiday entry. The data path is $[*].

Holiday calendars in Hub Planner can be region-specific. Review the returned records to confirm the correct holiday set is being retrieved for your reporting needs.

List Projects

Returns a list of all projects in the Hub Planner account. Use this endpoint to build project-level dashboards, track project status, or sync projects with external project management tools.

  • Sends a GET request to https://api.hubplanner.com/v1/project and returns all project records.
  • Response data is returned as a top-level JSON array; each element represents a single project. The data path is $[*].

Hub Planner returns all results for Project endpoints without requiring pagination. For very large accounts, monitor response size and use filtering query parameters if supported by your Hub Planner plan.

List Resources

Returns a list of all resources (team members) in the Hub Planner account. Use this endpoint to sync resource data with HR systems, build workforce capacity reports, or populate lookups for other Hub Planner data flows.

  • Sends a GET request to https://api.hubplanner.com/v1/resource and returns all resource records.
  • Response data is returned as a top-level JSON array; each element represents a single resource (team member). The data path is $[*].

Hub Planner returns all results for Resource endpoints without requiring pagination. Resource records include fields such as name, email, role, and availability settings that are useful for downstream workforce analytics.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Hub Planner data sources can also be manually configured to ingest data from any valid Hub Planner API endpoint, including endpoints not covered by the pre-built templates or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

All Hub Planner API URLs use the base https://api.hubplanner.com/v1/ followed by the resource path — for example, /resource, /project, /booking, /timeentry, /client, /group, /milestone, /event, /publicholiday, and /billingrate. Most Hub Planner list endpoints return a top-level JSON array, so the path to data is typically $[*]. GET is used for most read operations; Hub Planner also supports POST /areaName/search for filtered queries.

Booking and time entry endpoints support startDate/endDate date macros using the YYYY-MM-DD format, and support pagination via page (zero-indexed) and limit (max 1,000) query parameters — Project and Resource endpoints return all results without pagination. Nexla automatically applies the required Content-Type and Accept headers, so these do not need to be added manually.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Hub Planner data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Hub Planner destination, and select the Send to Destination option from the menu. Select the Hub Planner connector from the list of available destination connectors, then select the credential that will be used to connect to the Hub Planner organization, and click Next; or, create a new Hub Planner credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Hub Planner endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Project

Creates a new project in Hub Planner. Use this endpoint to programmatically provision projects from external systems such as CRMs or project intake workflows.

  • Sends a POST request to https://api.hubplanner.com/v1/project with a JSON payload describing the new project.
  • No path parameters are required for project creation; all project fields are provided in the request body.

Hub Planner enforces a daily API rate limit of 6,000 calls and a burst limit of 50 requests per 5 seconds. For high-volume project creation, consider enabling record batching to reduce individual API calls.

Update Project

Updates an existing project in Hub Planner. Use this endpoint to sync project status, metadata, or custom fields from external systems back into Hub Planner.

  • Sends a PUT or PATCH request to https://api.hubplanner.com/v1/project/{'{id}'} with a JSON payload containing the fields to update.
  • Configure the following parameters: Project ID — the alphanumeric ID of the Hub Planner project to update. This value must be included in the API URL path.

Hub Planner project IDs are alphanumeric strings. Ensure the correct project ID format is used when constructing the destination URL for update operations.

Delete Project

Deletes an existing project in Hub Planner. Use this endpoint to programmatically remove projects as part of automated archival or cleanup workflows.

  • Sends a DELETE request to https://api.hubplanner.com/v1/project/{'{id}'}. No request body is required.
  • Configure the following parameters: Project ID — the alphanumeric ID of the Hub Planner project to delete. This value must be included in the API URL path.

Project deletion in Hub Planner is permanent and cannot be undone. Verify the correct project IDs before activating a delete destination to avoid accidental data loss.

Create Resource

Creates a new resource (team member) in Hub Planner. Use this endpoint to onboard new employees or contractors into Hub Planner from HR or identity management systems.

  • Sends a POST request to https://api.hubplanner.com/v1/resource with a JSON payload describing the new resource.
  • No path parameters are required for resource creation; all resource fields (e.g., name, email, role) are provided in the request body.

Newly created resources must be assigned to projects or groups within Hub Planner before they can be included in booking and scheduling operations.

Update Resource

Updates an existing resource (team member) in Hub Planner. Use this endpoint to keep resource profiles synchronized with HR systems or directory services.

  • Sends a PUT or PATCH request to https://api.hubplanner.com/v1/resource/{'{id}'} with a JSON payload containing the fields to update.
  • Configure the following parameters: Resource ID — the alphanumeric ID of the Hub Planner resource to update. This value must be included in the API URL path.

Hub Planner resource IDs are alphanumeric strings. Ensure the correct resource ID format is used when constructing the destination URL for update operations.

Create Booking

Creates a new booking (resource allocation) in Hub Planner. Use this endpoint to programmatically schedule team members to projects from external planning or ticketing systems.

  • Sends a POST request to https://api.hubplanner.com/v1/booking with a JSON payload describing the new booking, including resource ID, project ID, start date, end date, and allocation details.
  • No path parameters are required for booking creation; all booking fields are provided in the request body.

Bookings require valid resource IDs and project IDs. Ensure these values are correctly mapped from your Nexset data before activating the destination to avoid validation errors from the Hub Planner API.

Manual configuration

Hub Planner destinations can also be manually configured to send data to any valid Hub Planner API endpoint. You can also configure Nexla to automatically send the response received from the Hub Planner API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Hub Planner accepts and returns JSON for all write operations, so JSON is the appropriate Content Format for every Hub Planner destination. Destination URLs use the base https://api.hubplanner.com/v1/ followed by the resource path — for example, /booking, /timeentry, /project, /resource, /event, and /milestone for creates (POST), with the record ID appended to the URL for updates (PUT/PATCH) and deletes (DELETE), e.g. https://api.hubplanner.com/v1/booking/64a1b2c3d4e5f6789.

Hub Planner resource and project IDs are alphanumeric strings, so ensure the correct ID format is used when constructing update or delete URLs. Enabling the response webhook option is particularly useful for capturing the IDs of newly created bookings, time entries, or other records returned by Hub Planner in response to a POST request.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Hub Planner endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Hub Planner until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.