InfoSum Developer API (1.0)

Download OpenAPI specification:Download

This page contains the documentation for the InfoSum Developer API. The methods allow you to try making requests and inspect the input and output formats.

First things first though - make sure you authenticate with your public/private key pair before sending any requests. Click the "Authorize" button to the right of this message.

Authentication

API_Keys

Your Public and Private key, separated by /, like so: <public_key>/<private_key>.

Security scheme type: API Key
header parameter name: Authorization

Connections

List all available Connections

List all Connections available from user owned Datasets to Datasets which the user has been granted access.

Authorizations:
query Parameters
filter.origin_private_ids
Array of string

Origin Private Dataset IDs. The private IDs of the Datasets to display all connections from.

filter.connected_datasets.private_ids
Array of string

PrivateIds. The filter to be applied to the private IDs of the returned Datasets. Only Datasets with private IDs containing one of the strings specified in this filter will be returned. Case insensitive.

filter.connected_datasets.public_names
Array of string

PublicNames. The filter to be applied to the public names of the returned Datasets. Only Datasets with public names containing one of the string specified in this filter will be returned. Case insensitive.

filter.connected_datasets.public_description
string

PublicDescription. The filter to be applied to the public descriptions of the returned Datasets. Only Datasets with public descriptions containing the string specified in this filter will be returned. Case insensitive.

filter.connected_datasets.create_time_filter.start_time
string <date-time>

Start. Defines the earliest time the filter is applied from. The filter matches all dates after this point in time, inclusive.

filter.connected_datasets.create_time_filter.end_time
string <date-time>

End. Defines the time the filter is applied until. The filter matches all dates before this point in time, inclusive.

filter.connected_datasets.owner_usernames
Array of string

OwnerUsernames. Filters Datasets on the specified owner username.

filter.connected_datasets.categories.ids
Array of string <int64>

Ids. The IDs of the Categories that must be present in the Dataset.

filter.connected_datasets.categories.min_fill_rates
Array of number <double>

MinFillRates. The minimum fill rates for each category specified in Ids. These are inclusive of the bound. A value must be specified for each Category. If the user doesn't want to filter by fill rate, they can set the minimum fill rate to 0, which will match all fill rate values. Values should be in the range 0 to 1, inclusive.

filter.min_intersection
number <double>

Min Intersection. The lowest acceptable intersection relative to the size of the connected Dataset. This is calculated by taking the number of rows in the from Dataset that are also in the to Dataset when using the 'best' key, and diving by the total number of rows in the from Dataset. Values can be between 0 and 1, inclusive. If ommitted, any intersection will be allowed.

sort.by
string

By is the field to sort by. Defaults to the ID associated with the.

sort.order
string
Default: "ASCENDING"
Enum:"ASCENDING" "DESCENDING"

Order is the order to sort in. Defaults to ascending.

  • ASCENDING: Sort in ascending order.
  • DESCENDING: Sort in descending order.

Responses

200

OK

400

Returned when an invalid request filter is used.

401

Returned when the user could not be authorized.

get /api/v1/connections
https://api.infosum.com/api/v1/connections

Response samples

application/json
Copy
Expand all Collapse all
{
  • "connections":
    [
    ]
}

List all available Connections, as a graph

List all Connections available from user owned Datasets to Datasets which the user has been granted access, in a format suitable for creating a graph of their relationships.

Authorizations:
query Parameters
filter.origin_private_ids
Array of string

Origin Private Dataset IDs. The private IDs of the Datasets to display all connections from.

filter.connected_datasets.private_ids
Array of string

PrivateIds. The filter to be applied to the private IDs of the returned Datasets. Only Datasets with private IDs containing one of the strings specified in this filter will be returned. Case insensitive.

filter.connected_datasets.public_names
Array of string

PublicNames. The filter to be applied to the public names of the returned Datasets. Only Datasets with public names containing one of the string specified in this filter will be returned. Case insensitive.

filter.connected_datasets.public_description
string

PublicDescription. The filter to be applied to the public descriptions of the returned Datasets. Only Datasets with public descriptions containing the string specified in this filter will be returned. Case insensitive.

filter.connected_datasets.create_time_filter.start_time
string <date-time>

Start. Defines the earliest time the filter is applied from. The filter matches all dates after this point in time, inclusive.

filter.connected_datasets.create_time_filter.end_time
string <date-time>

End. Defines the time the filter is applied until. The filter matches all dates before this point in time, inclusive.

filter.connected_datasets.owner_usernames
Array of string

OwnerUsernames. Filters Datasets on the specified owner username.

filter.connected_datasets.categories.ids
Array of string <int64>

Ids. The IDs of the Categories that must be present in the Dataset.

filter.connected_datasets.categories.min_fill_rates
Array of number <double>

MinFillRates. The minimum fill rates for each category specified in Ids. These are inclusive of the bound. A value must be specified for each Category. If the user doesn't want to filter by fill rate, they can set the minimum fill rate to 0, which will match all fill rate values. Values should be in the range 0 to 1, inclusive.

filter.min_intersection
number <double>

Min Intersection. The lowest acceptable intersection relative to the size of the connected Dataset. This is calculated by taking the number of rows in the from Dataset that are also in the to Dataset when using the 'best' key, and diving by the total number of rows in the from Dataset. Values can be between 0 and 1, inclusive. If ommitted, any intersection will be allowed.

Responses

200

OK

400

Returned when an invalid request filter is used.

401

Returned when the user could not be authorized.

get /api/v1/connections/graph
https://api.infosum.com/api/v1/connections/graph

Response samples

application/json
Copy
Expand all Collapse all
{
  • "datasets":
    [
    ],
  • "connections":
    [
    ]
}

Get metadata for a Connection

Gets metadata for a specific Connection between two Datasets.

Authorizations:
path Parameters
first_private_id
required
string
second_private_id
required
string

Responses

200

OK

401

Returned when the user could not be authorized.

404

Returned when one or both of the Datasets could not be found.

get /api/v1/connections/{first_private_id}/{second_private_id}
https://api.infosum.com/api/v1/connections/{first_private_id}/{second_private_id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "connection":
    {
    }
}

Datasets

List Datasets

Lists Datasets the user has access to.

Authorizations:
query Parameters
filter.ownership
string
Default: "ANY_OWNERSHIP"
Enum:"ANY_OWNERSHIP" "OWNED" "NOT_OWNED"

OwnershipFilter. Specifies whether to return all Datasets, or only those that are owned or not owned by the requesting user.

  • ANY_OWNERSHIP: Returns all Datasets the user has access to.
  • OWNED: Only returns Datasets owned by the user.
  • NOT_OWNED: Only returns Datasets not owned by the user.
filter.datasets.private_ids
Array of string

PrivateIds. The filter to be applied to the private IDs of the returned Datasets. Only Datasets with private IDs containing one of the strings specified in this filter will be returned. Case insensitive.

filter.datasets.public_names
Array of string

PublicNames. The filter to be applied to the public names of the returned Datasets. Only Datasets with public names containing one of the string specified in this filter will be returned. Case insensitive.

filter.datasets.public_description
string

PublicDescription. The filter to be applied to the public descriptions of the returned Datasets. Only Datasets with public descriptions containing the string specified in this filter will be returned. Case insensitive.

filter.datasets.create_time_filter.start_time
string <date-time>

Start. Defines the earliest time the filter is applied from. The filter matches all dates after this point in time, inclusive.

filter.datasets.create_time_filter.end_time
string <date-time>

End. Defines the time the filter is applied until. The filter matches all dates before this point in time, inclusive.

filter.datasets.owner_usernames
Array of string

OwnerUsernames. Filters Datasets on the specified owner username.

filter.datasets.categories.ids
Array of string <int64>

Ids. The IDs of the Categories that must be present in the Dataset.

filter.datasets.categories.min_fill_rates
Array of number <double>

MinFillRates. The minimum fill rates for each category specified in Ids. These are inclusive of the bound. A value must be specified for each Category. If the user doesn't want to filter by fill rate, they can set the minimum fill rate to 0, which will match all fill rate values. Values should be in the range 0 to 1, inclusive.

sort.by
string

By is the field to sort by. Defaults to the ID associated with the.

sort.order
string
Default: "ASCENDING"
Enum:"ASCENDING" "DESCENDING"

Order is the order to sort in. Defaults to ascending.

  • ASCENDING: Sort in ascending order.
  • DESCENDING: Sort in descending order.

Responses

200

OK

400

Returned when an invalid filter is used.

401

Returned when the user could not be authorized.

get /api/v1/datasets
https://api.infosum.com/api/v1/datasets

Response samples

application/json
Copy
Expand all Collapse all
{
  • "datasets":
    [
    ]
}

Get Dataset metadata

Gets metadata for a specific Dataset the user owns or has access to.

Authorizations:
path Parameters
private_id
required
string

Responses

200

OK

401

Returned when the user could not be authorized.

404

Returned when the requested Dataset could not be found.

get /api/v1/datasets/{private_id}
https://api.infosum.com/api/v1/datasets/{private_id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "dataset":
    {
    },
  • "schema":
    {
    }
}

Get Dataset credit usage

Gets a time series of credit usage on the specified Dataset.

Authorizations:
path Parameters
private_id
required
string
query Parameters
start_time
string <date-time>

Start Time. The timestamp from which to return usage data. If not specified, will default to the beginning of the current month. If specified, the StartTime will be rounded down to the next group boundary as specified by Grouping.

end_time
string <date-time>

End Time. The timestamp up to which to return usage data. If not specified, will return all data up to the present moment. The EndTime will be rounded up to the next group boundary as specified by Grouping.

grouping
string
Default: "TIME_GROUPING_UNSPECIFIED"
Enum:"TIME_GROUPING_UNSPECIFIED" "DAY" "WEEK" "MONTH" "YEAR"

Grouping. Specifies how to roll up a time series into discrete groups.

  • TIME_GROUPING_UNSPECIFIED: Default value - should not be used.
  • DAY: All values within a single day will be rolled up into a single datapoint.
  • WEEK: All values within a single week (Monday - Sunday) will be rolled up into a single datapoint.
  • MONTH: All values within a single calendar month will be rolled up into a single datapoint.
  • YEAR: All values within a single calendar year will be rolled up into a single datapoint.

Responses

200

OK

400

Returned when an invalid request filter is used.

401

Returned when the user could not be authorized.

404

Returned when the requested Dataset could not be found.

get /api/v1/usage/datasets/{private_id}
https://api.infosum.com/api/v1/usage/datasets/{private_id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "timeseries":
    [
    ]
}

Queries

ExplainQuery explains how a query will be executed.

Provides information about the choices made by the platfrom before executing a query.

Authorizations:
Request Body schema: application/json
query
string (Query)

The Query whose execution will be explained. This takes the format of an InfoSum Query Language Query. See the documentation of the InfoSum Query Language for more information.

path_overrides
Array of object (Path Overrides)

A list of instructions on how to connect two datasets, overriding the automatic choices made by the core engine.

Responses

200

OK

400

Returned when the Query could not be parsed.

401

Returned when the user could not be authorized.

post /api/v1/explain
https://api.infosum.com/api/v1/explain

Request samples

application/json
Copy
Expand all Collapse all
{
  • "query": "string",
  • "path_overrides":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "query_plan":
    {
    },
  • "hop_table":
    [
    ]
}

Create a Query

Queue a Query for execution. Returns immediately with an ID of the Query created.

Authorizations:
Request Body schema: application/json
query
string (Query)

The Query that should be queued. This takes the format of an InfoSum Query Language Query. See the documentation of the InfoSum Query Language for more information.

path_overrides
Array of object (Path Overrides)

A list of instructions on how to connect two datasets, overriding the automatic choices made by the core engine.

Responses

200

OK

400

Returned when the Query could not be parsed.

401

Returned when the user could not be authorized.

post