Skip to main content

Everhour

Everhour: Free time tracking software and timesheets for teams

Everhour icon

Power end-to-end data operations for your Everhour API with Nexla. Our bi-directional Everhour connector is purpose-built for Everhour, 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 Everhour or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Everhour 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 an Everhour credential, you need to obtain an API key from your Everhour account. The API key is required to authenticate with the Everhour API.

To obtain your API key, you need to have an Everhour account with API access enabled. Once you have access to your account, you can find your API key in "your profile" at the bottom of the page. The API key is sent in the X-Api-Key header for all API requests to the Everhour API. For detailed information about API key setup and authentication, refer to the Everhour API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API KeyYesYesYou can find an API key in "your profile" at the bottom of the page.

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.

New Credential Overlay – Everhour

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

  2. Enter your Everhour API key in the API Key field. This is the API key you found in "your profile" at the bottom of the page in your Everhour account. The API key is sent in the X-Api-Key header for all API requests to the Everhour API.

    Keep your API key secure and do not share it publicly. The API key provides access to your Everhour account and should be treated as sensitive information. The API key is sent in the X-Api-Key header for all API requests to the Everhour API. You can find your API key in "your profile" at the bottom of the page in your Everhour account. For detailed information about obtaining and managing API keys, see the Everhour API documentation.

  3. 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 Everhour connector tile, then select the credential that will be used to connect to the Everhour instance, and click Next; or, create a new Everhour 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 Everhour endpoints. Each template is designed specifically for the corresponding Everhour endpoint, making data source setup easy and efficient. 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. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List all projects

This endpoint lists all projects using project name (query) and platform. Use this endpoint when you need to access project information, project lists, or project data from your Everhour account.

  • Enter the maximum number of results to return in the Limit field. This is the maximum number of projects to retrieve. The default value is 100 if not specified.

  • Enter the search query to filter projects by name in the Query field. This is used to search projects by name. Leave empty to retrieve all projects. The default value is empty if not specified.

  • Enter the platform to filter by integration in the Platform field. This is used to filter projects by integration platform. Leave empty to retrieve projects from all platforms. The default value is empty if not specified.

  • The endpoint uses GET requests to https://api.everhour.com/projects?limit={limit}&query={query}&platform={platform} where {limit} is the Limit you provide, {query} is the Query you provide, and {platform} is the Platform you provide. The endpoint URL is automatically constructed based on the Everhour API base URL and the query parameters.
  • The endpoint does not use pagination and returns all matching projects in a single request.
  • The endpoint will return all projects matching the specified criteria. The response data is extracted from the root-level array in the API response ($[*]), with each project record processed individually.

The Limit parameter controls the maximum number of results returned. The Query parameter allows you to search projects by name. The Platform parameter allows you to filter projects by integration platform. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $[*], which extracts all items from the root-level array in the API response. For detailed information about listing projects, see the Everhour API documentation.

Get all invoices

This endpoint retrieves the details of all invoices. Use this endpoint when you need to access invoice information, invoice lists, or invoice data from your Everhour account.

  • This endpoint automatically retrieves all invoices from your Everhour account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.everhour.com/invoices. The endpoint URL is automatically constructed based on the Everhour API base URL.
  • The endpoint does not use pagination and returns all invoices in a single request.
  • The endpoint will return all invoices. The response data is extracted from the root-level array in the API response ($[*]), with each invoice record processed individually.

This endpoint returns all invoices for your Everhour account. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $[*], which extracts all items from the root-level array in the API response. For detailed information about retrieving invoices, see the Everhour 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

Everhour data sources can also be manually configured to ingest data from any valid Everhour 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.

Everhour API endpoints typically follow the pattern https://api.everhour.com/{endpoint_path}. Requests are authenticated via the X-Api-Key header, which is handled automatically by your credential configuration.

Once all of the relevant settings have been configured, click the Save button to save and create the new Everhour 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 Everhour destination, and select the Send to Destination option from the menu. Select the Everhour connector from the list of available destination connectors, then select the credential that will be used to connect to the Everhour organization, and click Next; or, create a new Everhour 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 Everhour endpoints. Each template is designed specifically for the corresponding Everhour endpoint, making destination setup easy and efficient. 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

This endpoint creates a new project resource. Use this endpoint when you need to create new projects in your Everhour account from your data sources.

  • This endpoint automatically creates projects in your Everhour account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses POST requests to https://api.everhour.com/projects. The endpoint URL is automatically constructed based on the Everhour API base URL.
  • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the project data to create. The request body should follow the Everhour API specification for creating projects, including required fields and field names.
  • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create a project. If you need to create multiple projects, you can send multiple records, but each will be processed as a separate request.

The request body must be properly formatted JSON that matches the Everhour API specification for creating projects. The endpoint requires API Key authentication via the X-Api-Key header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about creating projects, including required fields, field names, and request formats, see the Everhour API documentation.

Create Invoice

This endpoint creates an invoice. Use this endpoint when you need to create new invoices in your Everhour account from your data sources.

  • Enter the Client ID for which you want to create the invoice in the Client ID field. This is the unique identifier of the client for which you want to create the invoice.

  • The endpoint uses POST requests to https://api.everhour.com/clients/{client_id}/invoices where {client_id} is the Client ID you provide. The endpoint URL is automatically constructed based on the Everhour API base URL and the client ID.
  • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the invoice data to create. The request body should follow the Everhour API specification for creating invoices, including required fields and field names.
  • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create an invoice. If you need to create multiple invoices, you can send multiple records, but each will be processed as a separate request.

Client IDs can be obtained from other Everhour API endpoints, such as the "Get all invoices" data source endpoint, which may include client information. The request body must be properly formatted JSON that matches the Everhour API specification for creating invoices. The endpoint requires API Key authentication via the X-Api-Key header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about creating invoices, including required fields, field names, and request formats, see the Everhour API documentation.

Manual configuration

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

Everhour API endpoints typically follow the pattern https://api.everhour.com/{endpoint_path} and expect JSON request bodies. Requests are authenticated via the X-Api-Key header, which is handled automatically by your credential configuration.

Save & activate

Once all endpoint settings have been configured, click the Save button to save and create the destination. To send the data to the configured Everhour endpoint, open the destination resource menu, and select Activate.

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