Skip to main content

Everhour Data Source

Follow the instructions below to create a new data flow that ingests data from an Everhour source in Nexla.
everhour_api.png

Everhour

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Everhour connector tile from the list of available connectors. 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.

  3. In Nexla, Everhour data sources can be created using pre-built endpoint templates, which expedite source setup for common Everhour endpoints. Each template is designed specifically for the corresponding Everhour endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Everhour sources can also be configured manually, allowing you to ingest data from Everhour endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

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.

Endpoint Settings

  • 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.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Everhour data sources can be manually configured to ingest data from any valid Everhour API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Everhour sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Everhour API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API
    • POST: For sending data to the API or triggering actions
    • PUT: For updating existing data
    • PATCH: For partial updates to existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the Everhour API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Everhour API endpoints typically follow the pattern https://api.everhour.com/{endpoint_path}.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires API Key authentication via the X-Api-Key header, which is handled automatically by your credential configuration. For detailed information about Everhour API endpoints and available APIs, see the Everhour API documentation.

Path to Data

  1. Enter the JSON path that identifies the location of the relevant data within the API response in the Path to Data field. JSON paths use dot notation to navigate through nested JSON structures.

    • For example, if your API response has the structure [{"id": 1, "name": "..."}, ...], you would enter $[*] to extract all items from the root-level array.
    • Use $[*] to extract all items from a root-level array.
    • Use $ to extract the entire root-level object.

JSON paths are case-sensitive and must match the exact structure of your API response. Everhour API responses may use different structures like root-level arrays or objects depending on the endpoint. Use the Test button to verify that your JSON path correctly extracts the desired data from the API response.

Save the Data Source

  1. Once all configuration steps have been completed, click the Save button to save your data source configuration.

  2. The data source will now be available in your data flow and will begin ingesting data according to the configured schedule and endpoint settings.