Skip to main content

My Hours

My Hours is a time tracking and project management service for logging hours, managing projects and clients, and generating activity reports. This connector uses the My Hours REST API to read data such as users, projects, clients, time logs, and invoices, and to write updates back to your My Hours account.

My Hours icon

Power end-to-end data operations for your My Hours API with Nexla. Our bi-directional My Hours connector is purpose-built for My Hours, 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 My Hours or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your My Hours 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

Before creating a My Hours credential, you need an API key from your My Hours account. My Hours authenticates every API request with an API key sent in the Authorization header, using the literal prefix apikey followed by your key value. API keys are available on paid plans, and each key is tied to the user who created it.

To obtain your My Hours API key, follow these steps:

  1. Sign in to your My Hours account at app.myhours.com.

  2. Navigate to Settings > Integrations, and click API keys. If you do not have access to Settings, open your user profile and click Manage integrations instead.

  3. Click Create API key and follow the on-screen instructions to generate a new key.

  4. Copy the generated API key and store it securely, as it grants access to your My Hours account data and should be treated as sensitive information.

For more details, see the My Hours API documentation and the My Hours Help Center.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Key ValueYesYesAn encoded string value used as a secret token to authenticate API requests
Base URLYesNoThe base URL for the My Hours API.

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 your API key in the API Key Value field. This is the key you generated in Prerequisites. It is sent in the Authorization header with the apikey prefix for every request to the My Hours API and must be kept confidential.

  4. Enter the Base URL for the My Hours API. This is the root URL against which the connector's endpoint paths are appended.

    Your API key is tied to the My Hours user who created it. If the key is compromised, revoke it from Settings > Integrations > API keys and generate a new one. For more information, see the My Hours API documentation.

  5. 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 My Hours connector tile, then select the credential that will be used to connect to My Hours, and click Next; or, create a new My Hours 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 My Hours 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.

[Rest API] List Users

This endpoint template retrieves data from the My Hours List Users endpoint. Returns a list of all users in the My Hours account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List Activity Time Logs

This endpoint template retrieves data from the My Hours List Activity Time Logs endpoint. Returns a list of time logs and activity records from the Reports API.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List Tags

This endpoint template retrieves data from the My Hours List Tags endpoint. Returns a list of all tags available in the My Hours account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List Projects

This endpoint template retrieves data from the My Hours List Projects endpoint. Returns a list of all projects in the My Hours account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List Clients

This endpoint template retrieves data from the My Hours List Clients endpoint. Returns a list of all clients in the My Hours account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get project with client data

This endpoint template retrieves data from the My Hours Get project with client data endpoint. Retrieves detailed project information including associated client data.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Retrieve task data by ID

This endpoint template retrieves data from the My Hours Retrieve task data by ID endpoint. Fetches detailed information for a specific task by its ID.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get API Clients

This endpoint template retrieves data from the My Hours Get API Clients endpoint. Retrieves all clients for the account, with optional archival status filtering.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List Invoices

This endpoint template retrieves data from the My Hours List Invoices endpoint. Retrieves all invoices within the specified date range.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get Recent Track Logs

This endpoint template retrieves data from the My Hours Get Recent Track Logs endpoint. Get user recent track logs ordered by date in descending order.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get Running Logs

This endpoint template retrieves data from the My Hours Get Running Logs endpoint. Get all currently running log entries.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get Timesheet

This endpoint template retrieves data from the My Hours Get Timesheet endpoint. Get the timesheet for a user on a specific date.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List User Projects

This endpoint template retrieves data from the My Hours List User Projects endpoint. Retrieves a list of all projects for the user with their associated clients.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] List all projects

This endpoint template retrieves data from the My Hours List all projects endpoint. Returns a list of all projects in the system.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get Subscription Overview

This endpoint template retrieves data from the My Hours Get Subscription Overview endpoint. Retrieves subscription information including the due date and customer portal link for the current account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Get Subscription

This endpoint template retrieves data from the My Hours Get Subscription endpoint. Retrieves the current subscription details for the authenticated account.

This endpoint returns data from the My Hours API. Nexla organizes the response into one or more Nexsets that you can preview, transform, and route to downstream destinations.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

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

My Hours data sources can also be manually configured to ingest data from any valid My Hours API endpoint, including endpoints not covered by the pre-built templates, chained API calls, 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.

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 My Hours 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 My Hours destination, and select the Send to Destination option from the menu. Select the My Hours connector from the list of available destination connectors, then select the credential that will be used to connect to My Hours, and click Next; or, create a new My Hours 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 My Hours 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.

[Rest API] Generate New Access Token

This endpoint template sends records from a Nexset to the My Hours Generate New Access Token endpoint. Authenticates a user with email and password to generate a new access token.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Refresh Access Token

This endpoint template sends records from a Nexset to the My Hours Refresh Access Token endpoint. Generates a new access token using a valid refresh token.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update task without rate changes

This endpoint template sends records from a Nexset to the My Hours Update task without rate changes endpoint. Updates a task's details such as name, description, and billing settings without modifying its rate.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Create Client

This endpoint template sends records from a Nexset to the My Hours Create Client endpoint. Creates a new client for the account with provided contact and billing information.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update Client

This endpoint template sends records from a Nexset to the My Hours Update Client endpoint. Updates an existing client with new contact, billing, and custom field information.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Create Invoice

This endpoint template sends records from a Nexset to the My Hours Create Invoice endpoint. Creates a new invoice for the specified date range.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update User Log

This endpoint template sends records from a Nexset to the My Hours Update User Log endpoint. Update a user log entry with new information.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update Subscription Payment Method

This endpoint template sends records from a Nexset to the My Hours Update Subscription Payment Method endpoint. Updates the payment method for a subscription with the specified payment type and method ID.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update Subscription

This endpoint template sends records from a Nexset to the My Hours Update Subscription endpoint. Updates subscription settings including interval, trial period, coupon, and payment details.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Create a new time log entry

This endpoint template sends records from a Nexset to the My Hours Create a new time log entry endpoint. Create a new time log entry. Either duration or both start and end time should be provided, but not all three.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Create a new project

This endpoint template sends records from a Nexset to the My Hours Create a new project endpoint. Create a new project.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Create a new tag

This endpoint template sends records from a Nexset to the My Hours Create a new tag endpoint. Create a new tag with a hex color.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update an existing client record

This endpoint template sends records from a Nexset to the My Hours Update an existing client record endpoint. Update an existing client record.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

[Rest API] Update an existing project

This endpoint template sends records from a Nexset to the My Hours Update an existing project endpoint. Update an existing project's name, client, budget, billability, or other fields.

This endpoint sends data as JSON in the request body to the My Hours API. Each record from your Nexset is sent as a separate API request. Ensure your record fields match the format expected by this My Hours endpoint.

For detailed information about this endpoint, its parameters, and response structure, see the My Hours API documentation.

Manual configuration

My Hours destinations can also be manually configured to send data to any valid My Hours API endpoint. 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.

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 My Hours endpoint, open the destination resource menu, and select Activate.

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