Prerequisites
- You need a Postgres database that can receive incoming trafic from our IPs
15.188.105.163,15.188.215.105and35.181.129.14 - The associated database URL (should look something like
postgres://username:password@host.com/database)
Load your data
To get start, just go to the data loaders page in Hyperline. You should see an empty state.
- Select a provider
- Give a name you’ll remember to your connection
- Enter the URL you got from the prerequisites
- Select the connection you just created
- Set an Event type for this query, it’s the identifier we’ll use later in the product to refer to the data from this query. It could be
api_callsoractive_usersfor instance - Select the refresh rate depending on your use case, to get started every hour is largely sufficient

Getting the SQL right
Now it’s time to start typing your query. Hyperline will need a few things from you and expect a specific format as the query output. We’ll need 3 fields to validate the query:timestampwill represent the date we use to calculate if a record should be included in an invoice. For instance, if you bill on monthly API calls, we’ll bill all events with a timestamp within the last 30 days. It’s less important if you don’t have periodic meteringcustomerIdis the customer unique identifier ON YOUR SIDE. We’ll use it to associate a record with a subscription.idis the identifier of the record ON YOUR SIDE. We’ll use it to de-duplicate and update records later, so make sure it really represents the record uniquely.
automatically_created that won’t be displayed by default in your customers list to avoid spam (but you can access them using the pending customers table).
Optionally, you can also return a customerName property so we had a name to the customer when creating it, which will make it easier for you to find them later.
To to summarise, the minimum acceptable request looks like this

Updating records
Hyperline automatically updates existing records, we’re using a combination of the suppliedid and customerId and always keep the latest version. We don’t update customer names in Hyperline even if the name has changed, you’ll need to change in the interface.
Deleting records
Hyperline doesn’t delete records automatically to avoid any issue, we recommend that you add adeletedAt fields in the query that you set to something when the record is deleted. You’ll then be able to filter these records out in our pricing engine.

