API changelog

Each release of the Faraday API, newest first.

For product news, see the product changelog.

[0.21.0] - 2026-10-02

Added

  • Cohort stream_conditions take _on_or_before and _on_or_after, each a YYYY-MM-DD date, on datetime and other stream properties of type date. Both compare by calendar day, ignoring time of day, and include the named day. Set both for a date range, or both to the same day to match a single day. A new or changed condition that uses either on another property, or a condition whose _on_or_after is later than its _on_or_before, is rejected with a 400.
  • A stream's datetime property has type date in GET /streams and GET /streams/{stream_id_or_name}, including before the stream's first build.

Changed

  • A new or changed cohort stream condition that uses _gt, _gte, _lt or _lte on datetime or another stream property of type date is rejected with a 400. Use _on_or_before and _on_or_after on those properties.

[0.20.2] - 2026-09-30

Added

  • Use-case reviews now classify two facts about enrolling a sub-client, and surface them on use cases (UseCaseReview, UseCase, UseCaseSummary). provisioning_guide records whether enrollment requires a repeatable series of steps, and drives generation of a provisioning guide. enrollment_creates_resources records whether those steps create Faraday resources, and determines whether a knowledgebase can be audited. The two are independent: a client may have a repeatable enrollment procedure that creates no Faraday resources at all, and so receives both a guide and an audit. Both are read-only and absent until a review has classified them.

[0.20.1] - 2026-09-30

Added

  • Insights: a new singleton resource at /insights, one per account, available on plans with Insights. GET /insights returns its status and the tables and columns available to query; POST /insights/query runs one aggregate GoogleSQL query and returns its rows; POST /insights/force_update rebuilds its tables. Groups smaller than the aggregation threshold are never returned.
  • ResourceType gains insights. It appears in GET /graph as a downstream of the account's cohorts, streams and atlases.
  • ErrorCode gains QUOTA_EXCEEDED, returned with 429 by POST /insights/query when the account has used its daily Insights allowance.
  • GET /usages: insights.queries_per_day.max_count, insights.slot_hours_per_day.max_count and insights.refused_queries_per_30_days.max_count, for accounts with Insights.

[0.20.0] - 2026-09-29

Added

  • GET /atlases/{atlas_id}/logs/ingress and GET /atlases/{atlas_id}/logs/ingress/{log_id} return an atlas's build logs: one per build that reads its source or re-places its locations, including failed builds, with counts of rows read, malformed, placed and dropped by reason.
  • GET /atlases/{atlas_id}/logs/ingress/{log_id}/unplaced_rows lists the rows a build couldn't place, with their source values and an UnplacedRowReason.
  • Location property conditions accept name and reference_key, which filter on the location's own name and reference key.

Changed

  • POST /atlases and PATCH /atlases/{atlas_id} reject an output_to_locations property named name or reference_key with a 400, because a location condition on either name reads the location's own name or reference key.

[0.19.4] - 2026-09-29

Added

  • Configuration audits, a subresource of the account: GET /accounts/current/audits and GET /accounts/{account_id}/audits list an account's audits, GET .../audits/{audit_id} fetches one, POST .../audits requests a new one (202), and POST .../audits/{audit_id}/apply applies one (202). An audit compares the account's configuration with what its knowledgebase use cases require and lists the changes that would bring it in line, the orphaned_resources no use case asks for, any conflicts between use cases, and which of the account's resources serve each use case. Applying one carries out its applicable changes in dependency order, stops at the first failure, and records the outcome on the audit and on each change; it never archives or deletes anything.

Deprecated

  • UseCase.resources is deprecated and no longer maintained. Configuration audits report which resources serve each use case (use_cases[].resources on an audit).

[0.19.3] - 2026-09-28

Fixed

  • GET /connections (and the create and update responses) for a BigQuery connection whose stored region is missing or empty now includes options.region: "US". That is the region Faraday already uses for those connections. Sending US back on update is not a region change.

[0.19.2] - 2026-09-24

Added

  • GET /migrations: each target pair's push_readiness includes fig_v2_target_held_back, which says whether Faraday is holding the FIG v2 target's deliveries back.

[0.19.1] - 2026-09-22

Added

  • Scope outcome payload and Lookup API responses include fdy_outcome_{uuid}_propensity_lift (raw lift: probability / conversion rate) alongside percentile and probability; aggregated deliveries also include count_fdy_outcome_{uuid}_propensity_lift and avg_fdy_outcome_{uuid}_propensity_lift. A target on the default structure transform stays pinned to that transform and gains the column only when re-pinned or recreated; a target on a named preset reads the latest default rules for its mode and gains it on its next rebuild. Once the scope has rebuilt, a Lookup target whose transform predates the change returns the key with a null value. Propensity lift columns (*_propensity_lift, *_propensity_lift_as_of_attainment) are excluded from prediction billing; probability and percentile continue to bill as separate prediction columns.

[0.19.0] - 2026-09-18

Added

  • POST/PATCH /scopes: payload.location.distance_output_units (meters, the default, or miles) sets the unit fdy_location_distance is published in. max_distance and min_distance stay in meters. Changing the unit on a scope that feeds a target changes that column's values on the target's next build.

Changed

  • Targets with human_readable deliver the scope's location distance as fdy_location_distance_m or fdy_location_distance_mi, naming the unit, where they delivered fdy_location_distance. fdy_location_name and fdy_location_reference_key are unchanged. Targets without human_readable are unaffected.

[0.18.3] - 2026-09-15

Fixed

  • Persona individuals_count described a count of every matching member of the persona set's cohort. It counts only cohort members matched at the individual level, since members matched only at the address level aren't used to build personas. PersonaSet cohort_id now states the same, and ScopePayload persona_set_ids states that personas are assigned to everyone in the population matched at the individual or address level, including address-level people who were not used to build the persona set.

[0.18.2] - 2026-09-15

Added

  • Members that hold a credential are now marked x-secret: true: connection and target options such as password, api_key, token, client_secret, and private keys, along with an account's api_key and a webhook endpoint's secret. A read of one of these returns the placeholder "<secret>" rather than the value, so a client generated from this specification can tell a credential from an ordinary string and avoid storing or displaying it.
  • explore on cohorts and persona sets declares default: false, and prediction_mode on outcomes declares default: auto, stating that a create which omits the field reads back that value.

[0.18.1] - 2026-09-14

Added

  • Athena connections (type: athena): Faraday generates a unique IAM role per connection (aws_iam_role_arn) and assumes a role you create in your AWS account (aws_customer_role_arn) so Athena runs in your account. Provide your twelve-digit aws_account_id, Glue database, AWS region, and S3 output location. Optional workgroup defaults to primary. Datasets read Glue tables via Athena UNLOAD. Targets fully replace an external CSV table in that database.

[0.18.0] - 2026-09-14

Changed

  • event_contribution_by_dataset lists the stream's configured datasets rather than only those observed in the last build. A configured dataset that contributed nothing now appears with an event_count of zero instead of being absent, which is what makes its parsing report reachable in the case that most needs one. A dataset removed from the stream no longer appears while its rows survive in the artifact.
  • event_contribution_by_dataset is also reported for streams with no dated data, where it was previously omitted entirely.
  • oldest_date and newest_date on event_contribution_by_dataset are no longer required. They are omitted for a dataset that contributed no events, and for every dataset of a stream with no dated data.

[0.17.4] - 2026-09-14

Added

  • Use cases: applies_to, a read-only computed field on UseCase and UseCaseSummary carrying what the use case applies to as inferred by its most recent review — this_account (its configuration lives on the account it is stored on, which is audited against it) or subaccounts (a pattern applied to programmatically-provisioned subaccounts, for which an implementation guide is produced instead). Absent until a review has classified it. Also present on UseCaseReview as the classification made by that review.

Changed

  • Use cases: implementation guides are now generated automatically once a review judges a use case adequate (and it is not a draft, and it applies to subaccounts). There is no longer a request step, and generated_guide_status reports the status of that automatic generation.

Removed

  • Use cases: POST /knowledgebase/use_cases/{use_case_id}/generate_guide (experimental). Guide generation is now automatic (see Changed); there is no manual trigger.
  • Use cases: UseCaseGuide.flavor (experimental). The classification a guide's flavor conveyed is now on the use case itself as applies_to; a guide is only produced for the subaccounts case, so a per-guide flavor was redundant.

[0.17.3] - 2026-09-09

Fixed

  • In dataset.identity_sets, house_number_and_street's description incorrectly called it deprecated in favor of address_line_1/address_line_2. It is address_line_1/address_line_2 that are deprecated in favor of house_number_and_street, as documented in address_line_1/address_line_2's own descriptions and the 0.11.3 changelog entry.

[0.17.2] - 2026-09-04

Added

  • POST/PATCH /market_opportunity_analyses: aggregate (person, the default, or residence). A residence analysis counts households — people at the same address collapse into one entity before any metric is computed — where person counts individuals. How a household's member scores combine is not selectable: a residence analysis uses the best-scoring member, matching the rule that a household has attained if any member has.

[0.17.1] - 2026-09-03

Added

  • GET /traits/{trait_id}: each entry of emitted_by_datasets may now carry parsing, reporting how well that input's declared format read its column — the rows available, the rows holding a value, and the rows whose value could be read, so an input whose values and declared format disagree is visible as a read rate below 100%. A sample of the unreadable values is included as examples. Values that read successfully but resolved to an implausible date are counted as stale_row_count, with stale_examples and the stale_before date they were judged against; unlike an event stream, a trait does not exclude those rows, so the count is a misread-format signal rather than an exclusion. One report per input, because one input reads one column. Omitted when the input declares no format, and for traits last built before this was reported.
  • GET /streams/{stream_id_or_name}: each entry of event_contribution_by_dataset may now carry parsing, reporting how well that dataset's declared formats were read. Each entry names the stream property and dataset column, and gives the number of rows available, the number holding a value, and the number whose value could be read as the declared format — so a column whose values and declared format disagree is visible as a read rate below 100%. A sample of the values that could not be read is included as examples. Dates that read successfully but resolved to an implausible time are counted separately as stale_row_count, with their own stale_examples and the stale_before date they were judged against. parsing is omitted when no column in a dataset declares a format, and for contributions measured before this was reported.

Changed

  • A value that cannot be read as the format declared for its column no longer fails the whole stream build. It is treated as absent and counted in parsing instead. Dates that read successfully but land implausibly far in the past are excluded from the stream and counted as stale_row_count, rather than failing the build as they did before.

[0.17.0] - 2026-08-27

Added

  • POST, GET, PATCH, and DELETE for /migrations and /migrations/{migration_id}. Migrations use a type discriminator; fig_v1_to_fig_v2 returns the linked accounts, datasets, targets, notes, and normal resource status fields. Each paired target includes lookup_api_calls — Lookup API call counts for the last 7 days keyed by YYYY-MM-DD.
  • POST /migrations/{migration_id}/force_update to refresh migration metrics on demand.
  • FigV1ToFigV2Migration.approved_at: provide a non-null value via PATCH from either linked account to queue the account move. The server records the first approval time, and repeated requests are idempotent.
  • FigV1ToFigV2Migration.finished_at: when Faraday finished moving users and suspending the FIG v1 account.
  • FigV1ToFigV2Migration.rolled_back_at: when support restored the FIG v1 account.
  • FigV1ToFigV2Migration.status_needs_fix_from: who has to act before a failed migration can run again. user means editing the migration clears it, support means only Faraday can, and it is omitted when Faraday will retry on its own. A failed migration also now explains itself in status_error rather than falling back to the generic message.
  • Account-wide seven-day Lookup API call counts on the two accounts returned by a FIG v1-to-v2 migration. Counts are omitted until checked.
  • FigV1ToFigV2MigrationTarget.push_readiness, with target run, destination, and field mapping checks.
  • Optional cohorts, outcomes, persona_sets, and recommenders pair lists on FigV1ToFigV2Migration. Each list pairs a FIG v1 resource with its FIG v2 replacement so payload columns whose names embed those resource ids can be matched across accounts.
  • Resources in FIG v1-to-v2 migration pairs now include their run state, last successful build time, and archive time. Paired datasets also include row, identified-person, and matched-person counts.
  • FIG v1-to-v2 migration pairs now include model quality and size metrics: ROC AUC and training set size for Outcomes, overall ROC AUC for Recommenders, and cluster count for Persona Sets.
  • FigV1ToFigV2Migration.account_tree_relationship: how the two linked accounts sit in the account hierarchy, and therefore what the account move does to it. Siblings both keep their parent, so most moves reparent nothing.
  • FIG v1-to-v2 migration target pairs now accept destination_mapping: renamed destination options such as Snowflake table_name, S3 object_key, or SFTP file_name. Push readiness includes destination_mapping_status (not_required, complete, or incomplete).

Changed

  • FigV1ToFigV2Migration.migrated_at is replaced by approved_at and finished_at.
  • POST /migrations now requires at least one dataset or target pair, and requires the FIG v1 and FIG v2 accounts to be related in the account hierarchy: sharing a parent, or one being the parent of the other. Account names are not unique, so both rules guard against naming an unintended account, which would otherwise suspend it and move its users.
  • Per-target lookup_api_calls is deprecated in favor of the account-wide counts.
  • Lookup API call counts on FIG v1-to-v2 migrations are per Lookup API target again (targets[].fig_v1_target.lookup_api_calls / targets[].fig_v2_target.lookup_api_calls). Account-level lookup_api_calls is deprecated and omitted on new checks.
  • POST /migrations and migration configuration updates no longer require a dataset or target pair. Empty datasets and targets arrays are allowed. The FIG v1 and FIG v2 accounts must still be related in the account hierarchy.
  • POST /migrations no longer counts a rolled-back migration when refusing accounts that are already paired. An approved migration cannot be deleted, so counting it left a rolled-back pair permanently unable to migrate again.
  • POST /migrations now refuses a FIG v2 account that is the parent of the FIG v1 account and holds other accounts as well. Migrating gives the FIG v1 account's members access to the FIG v2 account, and a member of an account can see the accounts directly beneath it, so the move would also disclose those other accounts. The account move applies the same rule before it changes anything, so an already-approved migration of that shape stops with an error instead of running.
  • Archiving and unarchiving no longer count a migration as a dependency of the resources it pairs. A migration reports on those datasets and targets rather than building anything from them, so it never blocks the request, it is never archived or unarchived by cascade_to or cascade_to_all, and it keeps reporting once either side is archived.
  • A target pair's push_readiness.status is red while its FIG v2 target is archived, because an archived target will not deliver again. This holds even for a pair Faraday has overridden. An archived FIG v1 target is the target being retired, so it does not affect the status.
  • PATCH /migrations/{migration_id} takes application/merge-patch+json, the media type every other merge patch endpoint takes. It also documents 409 Conflict, which it already returned.
  • MigrationTarget is renamed MigrationTargetResource, matching the MigrationDatasetResource, MigrationOutcomeResource, MigrationPersonaSetResource, and MigrationRecommenderResource schemas it sits beside.
  • A target pair's push_readiness.status values are ready, needs_external_review, and blocked, replacing green, yellow, and red. The values name the state of the pair rather than a severity.
  • datasets and targets on a FigV1ToFigV2Migration are optional, as cohorts, outcomes, persona_sets, and recommenders already were. A migration may pair no resources of a given kind, so all six lists are optional on the way in and on the way out.

[0.16.9] - 2026-08-27

Added

  • New BigQuery, GCS, and S3 connections now receive a unique Faraday-owned cloud identity (gcp_service_account_email or aws_iam_role_arn). Faraday impersonates or assumes that principal. Grant it access, then force-update. Existing connections keep Faraday's shared identities.

[0.16.8] - 2026-08-25

Added

  • AccountUsageBatchDeployments: people_with_nearest_location, the number of distinct people deployed with a nearest atlas location during each reporting period. People whose payload carried no location are not counted.

Changed

  • Atlas output_to_locations.geometry: the description now states that coordinates are written longitude first, and that a column holding a bare coordinate pair should be split and mapped as latitude and longitude instead.

[0.16.7] - 2026-08-20

Added

  • ModelingAttribute and AllowedClusteringAttributes now also accept three FIG v2 clustering names: fig/automated_valuation_model, fig/general_travel_interest, and fig/credit_score_proxy. The previous names (fig/tax_assessed_property_value, fig/travel_interest, fig/marketing_value_overall) remain valid. fig/credit_score_proxy is a credit-derived attribute.

[0.16.6] - 2026-08-19

Added

  • ModelingAttribute and AllowedClusteringAttributes: fig/individual_marital_status. Default clustering for identity-graph accounts uses this name in place of the deprecated fig/marital_status. Existing persona sets that already list fig/marital_status remain valid.

[0.16.5] - 2026-08-15

Fixed

  • PATCH /knowledgebase/use_cases/{use_case_id}: the guide and preface content fields now accept null to clear them, matching the documented merge-patch semantics. Previously sending null was rejected with a "must be string" validation error, so a use case saved with an empty field could not be edited and saved again.

[0.16.4] - 2026-08-15

Added

  • Databricks bidirectional replication connection type (databricks): SQL warehouse access with host, http_path, Unity Catalog catalog and schema, and a secret personal access token. Dataset table_name, full-replacement targets, and optional referenced-target upsert.

[0.16.3] - 2026-08-14

Added

  • BigQuery connection region. Defaults to US (multi-region). US single regions from BigQuery locations are also accepted; non-US locations are not supported.

[0.16.2] - 2026-08-12

Changed

  • PATCH /atlases/{atlas_id}: the members of output_to_locations accept null to clear an existing value, as merge patch members elsewhere in the API do. A location is placed by exactly one of a geometry column, a coordinate pair, or address columns, so moving an atlas from one group to another means naming the columns of the group being left as null; omitting them leaves them in place and the mapping is rejected for naming more than one group.
  • PATCH /scopes/{scope_id}: the members of payload.location and of its conditions accept null to clear an existing value, as merge patch members elsewhere in the API do. A distance bound, in particular, can now be removed so that each person is matched at any distance; omitting it leaves the stored bound in place.

Deprecated

  • Every /places endpoint, the Place schema, and the CohortPlaceCondition schema. Places are superseded by atlases, whose locations are built from a connection or an uploaded file. Build new spatial filters on an atlas with POST /atlases and a cohort's location_conditions. Existing places and the cohorts that use them are unaffected and continue to be readable and writable.

[0.16.1] - 2026-08-10

Added

  • DELETE /knowledgebase/use_cases/{use_case_id}: delete a use case. Unlike archiving, a deleted use case is no longer returned by any read, including when listing archived use cases.

[0.16.0] - 2026-08-07

Changed

  • ClickHouse connections always use TLS on the native protocol. The secure option is removed from ClickHouse connection create/update/response schemas; callers no longer set it.

[0.15.4] - 2026-08-06

Added

  • ClickHouse bidirectional replication connection type (clickhouse): host-based native-protocol access with system-generated Ed25519 ssh_public_key, dataset table_name, and full-replacement targets with required order_by. Credential rotation via POST /connections/{connection_id}/rotate_credentials with type: clickhouse.
  • IdentitySet.date_of_birth: optional date-of-birth mapping. Combined with first name, last name, and postcode, it can resolve a person to an identity even without an email, phone, or full street address. Accepts either a column name (whose values are read as ISO 8601 YYYY-MM-DD dates) or an object { column_name, format } where format is a DateColumnFormat (the date subset of DataMapColumnFormat).
  • IdentitySet.email_hash_base64: Base64-encoded form of the email_hash SHA-256 email hash.
  • IdentitySet.phone_hash_base64: Base64-encoded SHA-256 hash of a phone number's last ten digits, non-digits removed.
  • IdentitySet.person_date_of_birth_postcode_hash_base64: Base64-encoded SHA-256 composite hash of a person's first name, last name, date of birth, and postcode — each field standardized and hashed, then the four hashes concatenated (first name, last name, date of birth, postcode) and hashed again — resolving an identity from that combination without an email, phone, or street address.

[0.15.3] - 2026-07-17

Added

  • Atlas: a new resource that imports a collection of geographic locations from a connection, configured with options (AtlasOptions, per connection type) and output_to_locations, which maps source columns to each location's name, reference key, geometry, and properties. An atlas reads from a file-based or client-hosted warehouse connection; the classic, managed integration, and merge connection types have no AtlasOptions variant. Each location is placed by exactly one of a geometry column, a coordinate pair, or address columns; naming columns from more than one group is rejected, and naming none is allowed, so an atlas can be created before the columns of its source data are known and configured once they are. Atlases report detected_columns and counts — the source rows, how many produced a location, and how many placed none because their geometry could not be read, encloses nowhere, or describes too large an outline — and support archive, unarchive, and force-update like other resources. An atlas' name and every column it names in output_to_locations must be non-blank.
  • GET /locations and GET /atlases/{atlas_id}/locations: paginated listings of the locations an atlas produced, with limit/offset parameters and X-Total-Count and Link response headers.
  • Location.atlas_id: the UUID of the atlas a location belongs to, which identifies its owner in the account-wide listing.
  • Location.latitude and Location.longitude: the coordinates a location was placed from, in decimal degrees, EPSG 4326 (WGS 84); present only for locations placed from latitude and longitude columns.
  • Cohort.location_conditions: spatially filter cohort membership on the locations of one or more atlases, selecting people who intersect (or, with invert, do not intersect) a location's geometry expanded by distance. A cohort may not set both location_conditions and place_conditions.
  • ScopePayload.location: include each person's proximity to an atlas' locations, choosing the nearest matching location or all of them, bounded by max_distance and min_distance. The choice sets the shape of the three location columns: a single scalar each under nearest, an index-aligned JSON array each under all. fdy_location_distance is therefore a number under nearest and text under all, so any target already receiving these columns must be rebuilt after the choice changes. A person matching no location has no location data under either choice, rather than an empty array.
  • MarketOpportunityAnalysis.locations: the atlas locations an analysis covers.
  • LocationPropertyCondition: narrow location conditions to the locations whose properties satisfy them. A condition reads its property either as a number or as text, so _matches cannot be combined with _gt, _gte, _lt, or _lte; give each comparison its own condition.
  • location_reference_keys, on cohort location conditions, ScopePayload.location and MarketOpportunityAnalysis.locations: a reference key is unique only within one atlas, so these keys are matched in every atlas the reference selects; select a single atlas to restrict them to that atlas' keys. Every atlas the reference selects must map a reference key column in its output_to_locations, since an atlas whose locations carry no key can match none of them.

Deprecated

  • Cohort.place_conditions: superseded by location_conditions.

[0.15.2] - 2026-07-16

Added

  • PersonaSet.clustering_dimensions: specify the dimensions to consider when clustering a persona set — first-party traits (with fig/-prefixed FIG traits on accounts without an identity graph feature store set), Faraday-provided attributes (accounts with one; a closed AllowedClusteringAttributes enum), attribute_max_observation_date to pin the FIG attribute release used for clustering, and event stream streams properties keyed by stream name. Accepted on create and update; changing it on an existing persona set triggers a complete rebuild. When supplied alongside the deprecated modeling_* inputs on the same request, clustering_dimensions takes precedence and the deprecated inputs are ignored.
  • AllowedClusteringAttributes: the closed set of Faraday-provided attributes allowed for clustering on accounts with an identity graph feature store set.

Deprecated

  • PersonaSet.modeling_fields and PersonaSet.modeling_attributes: use clustering_dimensions instead.
  • PersonaSet.modeling_field_max_observation_date: use clustering_dimensions.attribute_max_observation_date instead.

[0.15.1] - 2026-07-08

Added

  • TargetFilter.attribute: optional list of TargetFilterAttributeConditions for filtering a target's exported rows by scope payload attribute columns. Your account must have an identity graph set.

[0.15.0] - 2026-06-24

Changed

  • Breaking: AnalysisDimensionsTraitBinNumber.min and AnalysisDimensionsTraitBinDate.min are now optional — consumers can no longer assume min is always present. When omitted, the bin is open-ended below its max, counting all values below that range (the mirror of an omitted max, which is open-ended above min).

[0.14.25] - 2026-06-10

Added

  • Attribute.type is now writable on create and update (previously read-only).
  • Attribute.statistical_type: optional TraitStatisticalType describing the nature of the attribute's data.
  • Attribute.unit: optional string giving the units a numeric attribute is stored in.
  • Dataset.output_to_authority: optional { name, date } that tags a dataset's contents as a dated assertion from a named authority. Available only for vendor accounts.
  • Attribute.sources: optional effective-dated source configuration nested by authority, source column, and inclusive effective-from date. Each entry sets precision, quality, optional derivations/effective_until, and an optional transform (cast, selector, or decode/recode).

[0.14.24] - 2026-06-11

Deprecated

  • GET /persona_sets/{persona_set_id}/analysis/flow (getPersonaSetAnalysisFlow) is now deprecated and no longer maintained.

[0.14.23] - 2026-06-03

Added

  • ScopePopulation.exclusion_address_level_cohort_ids: optional array of cohort UUIDs whose addresses are suppressed from the scope. Useful for direct-mail and other household-level suppression. A new GET /scopes/{scope_id}/population/exclusion_address_level_cohorts endpoint returns the resolved Cohort[] for a scope.

[0.14.22] - 2026-05-21

Added

  • scope_analysis: residence-level analysis. Six additive, optional fields on ScopeAnalysisProbabilityDistributionDatum — scope_residences, eligible_residences (residence-level proportions) and scope_individuals_count, scope_residences_count, eligible_individuals_count, eligible_residences_count (absolute counts) — plus a new GET /scopes/{scope_id}/analysis/geography endpoint with ScopeGeography, ScopeGeographyArea, ScopeGeographyCohort schemas returning a postcode- and state-level breakdown with per-payload-cohort counts. postcodes is omitted when the scope spans more than 250 distinct postcodes; both geography fields are absent ({}) until the analysis has run for the scope.

[0.14.21] - 2026-05-20

Added

  • attributes array and AnalysisDimensionsAttribute schema (attribute_name + bins + salient) on the persona set analysis dimensions response (GET /persona_sets/{persona_set_id}/analysis/dimensions). Returned instead of traits for accounts with an identity graph feature store set (FIG v2). Attribute names are fig/ prefixed (pattern: ^fig/[a-z][a-z0-9_]+$).

[0.14.20] - 2026-05-19

Added

  • fig/vehicles, fig/civic, fig/engagement values for TraitCategory enum (already present on StreamPropertyCategory since 0.14.11). Fixes prod GET /v1/streams 500s on streams in those categories.

[0.14.19] - 2026-05-08

Added

  • impute_payload field on TargetModesHashed, TargetModesIdentified, and TargetModesReferenced representations — array of payload elements to include imputed values for. Defaults to [] (off). Pass ["attributes"] to include attribute values imputed from cohabitants and neighbors; otherwise the target's payload only includes attribute values from rows matched at person-level precision. TargetModesAggregated does not support this field.

[0.14.18] - 2026-05-04

Added

  • modeling_attributes field on persona sets and new ModelingAttribute enum (29 fig/* paths) for accounts with an identity graph feature store set (FIG v2). Mutually exclusive with modeling_fields: feature-store accounts must use modeling_attributes; non-feature-store accounts must continue to use modeling_fields.

[0.14.17] - 2026-04-30

Added

  • Target.analysis_config.attributes optional array of attribute names to include as dimensions in target analysis. Your account must have an identity graph feature store set. Faraday provided attributes must be prefixed with fig/ ex. fig/age (pattern: ^fig/[a-z][a-z0-9_]+$).
  • TargetAnalysisAttribute response schema (attribute_name + bins) returned from GET /targets/{target_id}/analysis alongside trait and geography dimensions.

[0.14.16] - 2026-04-29

Added

  • Optional limit field on AccountUsageTimePeriod and AccountUsagePredictiveData — exposes the customer's yearly contractual limit. Populated only on the rolled-up /v1/accounts/current/usage/all endpoint (the per-account endpoints omit it because the contractual limit applies to the parent + sub-accounts total). Omitted when no limit is on record.

[0.14.15] - 2026-04-28

Added

  • Add read-only categories field on /attributes endpoint - for categorical data types, the list of distinct category values observed in the stream.

[0.14.14] - 2026-04-20

Added

  • attributes field on cohorts — list of CohortAttributeCondition to filter cohort membership by attribute value (supports _eq, _gt, _lt, _gte, _lte, _null, _nnull, _in, _nin, _matches, plus optional for union semantics).
  • fig/length_of_residence_v2 value for persona set modeling_fields enum. fig/length_of_residence is deprecated; use _v2 for new persona sets.

[0.14.13] - 2026-04-10

Added

  • Add read-only type field on /attributes endpoint - the data type of the attribute's value property, derived from stream event_stream_properties.

[0.14.12] - 2026-04-10

Added

  • Add breaks on GET /attributes endpoint - for continuous data types, list of reasonable cutoff values.

[0.14.11] - 2026-04-09

Added

  • binary, count, interval, ratio values for TraitStatisticalType enum.
  • fig/vehicles, fig/civic, fig/engagement values for StreamPropertyCategory enum.

[0.14.10] - 2026-04-01

Added

  • predictors.max_observation_date optional date field on outcomes and recommenders for release pinning — caps FIG attribute data used during modeling to a specific date.
  • payload.max_attribute_observation_date optional date field on scopes for release pinning — caps FIG attribute data included in scope output to a specific date.
  • modeling_field_max_observation_date optional date field on persona sets for release pinning — caps FIG attribute data used in modeling fields to a specific date.

[0.14.9] - 2026-04-01

Added

  • sum and count_not_null aggregation methods for AttributeAggregationMethod.

[0.14.8] - 2026-03-26

Added

  • permissions read-only array field on GET /attributes and GET /attributes/{id}. Returns the set of permissions granted for the attribute for the requesting account (e.g. ["add_to_scope_payload"]).
  • AttributePermission enum with value add_to_scope_payload.

[0.14.7] - 2026-03-23

Added

  • identity_graph field on accounts, indicating which feature store the account uses for retrieving metadata such as attributes.

[0.14.6] - 2026-03-12

Added

  • GET /accounts/{account_id}/usage - returns usage metrics for a specific account. Parent accounts can view sub-account usage; accounts can view their own usage.

[0.14.5] - 2026-02-10

Added

  • GET /accounts/current/usage - returns usage metrics for the current account, including batch deployments, lookup API calls, and predictive data usage.
  • GET /accounts/current/usage/all - returns aggregated usage metrics across the current account and all sub-accounts.
  • contract_started_at field on accounts.

[0.14.4] - 2026-02-20

Added

  • All list endpoints now accept an optional ids query parameter to filter results by resource ID. Repeat the parameter for multiple IDs (e.g. ?ids=a&ids=b), up to 100.

[0.14.3] - 2026-02-20

Fixed

  • PATCH endpoints now use the RFC 7396 compliant Content-Type: application/merge-patch+json header (previously application/json+merge-patch). Both headers are accepted for backwards compatibility.

[0.14.2] - 2026-02-19

Added

  • New statistical_type values for streams and traits: continuous_ordinal, categorical_nominal, multicategorical_nominal, categorical_ordinal. Legacy values (categorical, multicategorical, ordinal, nominal) are still accepted but deprecated.

[0.14.1] - 2026-02-01

Added

  • GET /datasets/{dataset_id}/logs/ingress - returns paginated ingress logs showing row processing metrics (total, processable, valid, allowed, recognized, enrichable counts).
  • GET /datasets/{dataset_id}/logs/ingress/{log_id} - returns a specific ingress log entry.

[0.14.0] - 2026-01-29

Changed

  • Made aggregation and default_selector_by_purpose optional on /attributes endpoints (POST, PUT, GET) to match the database schema where these columns are nullable.

[0.13.1] - 2025-12-12

Added

  • GET/POST/PATCH/DELETE /attributes - wraps multiple event_streams 'assertions' into one 'trait' (similar to FIG) usable in modeling, inference, and appends. When multiple assertions are available for a given person, the attribute specifies how to choose the best assertion for each use case.

  • GET/POST/PATCH/DELETE /feature_stores - a collection of attributes, similar to Faraday's FIG identity graph.

[0.13.0] - 2025-12-04

Deprecated

  • /targets analysis - deprecated all geographies except state and postcode.

[0.12.0] - 2025-11-11

Changed

  • Changed allowed values for category in /streams endpoints. Should match the values allowed in /traits endpoints.

[0.11.4] - 2025-10-20

Added

  • Added interpretation to GET /persona_sets/{persona_set_id}

[0.11.3] - 2025-10-20

Deprecated

  • In dataset.identity_sets, address_line_1 and address_line_2 are deprecated. Use house_number_and_street array format instead to compose address lines.

[0.11.2] - 2025-10-02

Deprecated

  • persona_set.personas[].avatar

[0.11.1] - 2025-10-02

Added

  • Added salient to AnalysisDimensionsTrait to show whether the trait distinguishes the persona from the rest of the persona set.

[0.11.0] - 2025-09-05

Breaking

  • No longer support zip or tar uploads due to security issues

[0.10.62] - 2025-09-04

Changed

  • Allow / in SFTP dataset prefix

[0.10.61] - 2025-07-07

Added

  • Added address_line_1 and address_line_2 to dataset.identity_sets. This means you may now see a recommended column to use in identifier_recommendation for address_line_2 as well.

Deprecated

  • Array-based house_number_and_street field in dataset.identity_sets. Use address_line_1 and address_line_2 instead. If you use all 3, address lines will be prioritized.

[0.10.60] - 2025-07-02

Added

  • Add unknown data type for dataset detected columns when we don't yet support a detected schema type.

[0.10.59] - 2025-06-23

Added

  • Added a boolean output_multiple_identities to identified and referenced target.representation config - defaults to false.

[0.10.58] - 2025-06-13

Added

  • Added optional value property to output_to_traits on datasets and changed column_name to optional. One or the other must be included and validation will occur at runtime.

[0.10.57] - 2025-06-09

Added

  • Added household_income_v2 to allowed modeling fields in persona set creation. household_income is deprecated.

[0.10.56] - 2025-05-29

Added

  • Added strategies to GET /outcomes/{outcome_id}/analysis and strategy_id in the tenure objects, which refers to the strategy used to generate the outcome analysis. This is useful for understanding how the outcome was generated and what modeling techniques were applied.

[0.10.55] - 2025-05-22

Changed

  • GET /market_opportunity_analyses/{id} - fix typing - certain fields can be floats (eg average attainment value). 'Integer' was too strict.

[0.10.54] - 2025-05-15

Added

  • POST /{resource_type}/{resource_id}/force_update - allows user to manually rerun a resource (Faraday does this automatically whenever it detects changes, but this option allows the user to 'force' a rerun). If changes are detected as a result of the rerun, downstream resources will also be rerun.

[0.10.53] - 2025-05-01

Changed

  • POST & PATCH /datasets - clarify which identity set fields are required for matching, and throw an error if insufficient.

[0.10.52] - 2025-04-08

Added

  • POST /uploads - allow compressed file formats (zip, bz2, gz, tar). The uncompressed file must still be formatted like a csv.

[0.10.52] - 2025-03-31

Changed

  • POST /uploads - clarify which file types are allowed.

[0.10.51] - 2025-03-18

Added

  • Added trait.precision, which refers to the specificity used to assign a trait.

[0.10.50] - 2025-03-17

Added

  • Added coverage to traits result to show the percentage of the US population that has the trait.

[0.10.49] - 2025-03-04

Changed

  • Dataset identity set keys/names must start with letter or underscore

[0.10.48] - 2025-02-25

Added

  • Added identifier_recommendation to dataset.detected_columns. Useful when configuring dataset identity_sets.

[0.10.47] - 2025-02-18

Added

  • Added carrier_route to Target mode aggregate options

[0.10.46] - 2025-02-14

Added

  • Added scope.population_residence_count to show unique residence count for the scope's population. Populated once the scope has built.

[0.10.45] - 2025-02-05

Added

  • Added new endpoints for target analysis:
    • GET /targets/{target_id}/analysis: Get target analysis report.
    • GET /targets/{target_id}/pdf: Get a signed url redirect to target analysis pdf report
  • Added count and analysis_config properties to POST and PATCH /targets
  • Added branding property to POST and PATCH /accounts

[0.10.44] - 2025-02-03

Added

  • Allow users to create Outcomes, Recommenders, and Persona Sets in preview mode, which will cause them not to build immediately.
  • Add Outcomes prediction_mode: auto | static, which can be used to disable dynamic modeling. Defaults to true.

[0.10.43] - 2025-01-16

Added

  • Added new endpoints for market opportunity analyses:
    • POST /market_opportunity_analyses: Create a new market opportunity analysis.
    • GET /market_opportunity_analyses: Get all market opportunity analyses.
    • GET /market_opportunity_analyses/{market_opportunity_analysis_id}: Get a specific market opportunity analysis.
    • PATCH /market_opportunity_analyses/{market_opportunity_analysis_id}: Update a specific market opportunity analysis.
    • DELETE /market_opportunity_analyses/{market_opportunity_analysis_id}: Delete a specific market opportunity analysis.
    • POST /market_opportunity_analyses/{market_opportunity_analysis_id}/archive: Archive a specific market opportunity analysis.
    • POST /market_opportunity_analyses/{market_opportunity_analysis_id}/unarchive: Unarchive a specific market opportunity analysis.

[0.10.42] - 2024-12-17

Added

  • Add /scopes/{scope_id}/efficacy to return scope payload resource efficacy metrics

[0.10.41] - 2024-12-09

Added

  • Add all_individuals and unrecognized_individuals to GET /outcomes/{outcome_id}/analysis response

[0.10.40] - 2024-10-31

Added

  • Add identity_provider field to lookup API response to describe which identity provider was used to match the identity.

[0.10.39] - 2024-10-10

Added

  • Add residence_count to GET /cohorts

[0.10.38] - 2024-10-10

Added

  • GET /scopes/{scope_id}/analysis to return scope payload resource probability distribution

[0.10.37] - 2024-10-08

Fixed

  • Enable more permissible glob patterns for prefix connection options.

[0.10.36] - 2024-09-30

Fixed

  • Make webhook secrets read-only

[0.10.35] - 2024-09-26

Added

  • Added secret (sha256 signing key) to webhook endpoints

[0.10.34] - 2024-09-25

Added

  • Webhook endpoints

[0.10.33] - 2024-09-24

Added

  • GET /usages and GET /accounts/x/billing added name to each usage

[0.10.32] - 2024-09-16

Added

  • GET /traits and GET /traits/{id} added life_event category

[0.10.31] - 2024-09-12

Added

  • GET /traits and GET /traits/{id} added deprecated boolean field for Faraday's traits.

[0.10.30] - 2024-09-04

Added

  • GET /traits.csv to return information about all traits the user has access to, in csv form.
  • GET /traits and GET /traits/{id} added tier and permissions for each trait.

[0.10.29] - 2024-08-30

Added

  • GET /streams/{stream_id_or_name}/analysis to return event stream analysis (starting with a time_series)
  • stream.properties[property].distribution which is present for numeric properties and contains the distribution of values
  • stream.properties[property].values which is present for categorical and multicategorical properties and contains the unique values and their counts
  • stream.event_contribution_by_dataset to show which datasets contributed to the stream and their event count
  • stream.event_count which is the total number of events in the stream
  • stream.oldest_date and stream.newest_date which are the oldest and newest dates of events found in the stream

[0.10.28] - 2024-08-26

Added

  • Add yyyy_mm_dash and yyyy_mm_slash to data map date formats

[0.10.27] - 2024-08-05

Added

  • Add identity_sets to lookup api to allow for including multiple identifying information for the same individual, i.e. addresses, emails, phone numbers etc...

[0.10.26] - 2024-08-01

Added

  • datasets.output_all_columns_as_traits.include enables an allowlist for automatically generated traits.

[0.10.25] - 2024-07-31

Added

  • Added merge_datasets to datasets. This field contains a list of parent/merge dataset IDs and join columns that use the current dataset as a source.

[0.10.24] - 2024-07-18

Added

  • GET /graph returns 1 new status field for both upstream and downstream resources for a total of 2 fields: xxx_status_error (where xxx = downstream or upstream)
  • Added required to several fields on /graph that were not really optional and always included: id, status, literate, and type

[0.10.23] - 2024-07-10

Added

  • POST /{resource_type}/{resource_id}/archive archive the specified resource. If a resource is archived, it will no longer appear in the Faraday UI (except in the 'archived' tab), and Faraday will no longer update the resource. To archive a resource, all downstream resources must also be archived.

  • POST /{resource_type}/{resource_id}/unarchive unarchive the specified resource. To unarchive a resource, all upstream resources must also be unarchived.

[0.10.22] - 2024-07-10

Added

  • null_values added to output_to_traits to support null transformations.

[0.10.21] - 2024-07-03

Added

  • GET /graph returns 4 new status fields for both upstream and downstream resources for a total of 8 fields: xxx_status_changed_at, xxx_last_updated_output_at, xxx_last_updated_config_at, xxx_last_read_input_at (where xxx = downstream or upstream)

[0.10.20] - 2024-06-25

Added

  • GET /recommenders/{recommender_id}/analysis to return model performance, feature importance, and more.

[0.10.19] - 2024-06-24

Fixed

  • GET PATCH POST /connections: allow slashes in s3 and gcs bucket_name
  • PATCH /user_places: setting a place's addresses = null will now delete addresses

Deprecated

  • GET /datasets: deprecate match_count. Use enrichment instead

[0.10.18] - 2024-06-12

Added

  • Updated pattern for header_row to match delimiter options and added tab delimiter option '\t'

[0.10.17] - 2024-06-11

Added

  • Added dd_mm_yyyy_slash, dd_mm_yy_slash, dd_mm_yyyy_dash, and dd_mm_yy_dash date formats to output_to_streams

[0.10.16] - 2024-06-10

Added

  • Add recommenders.report_url (like outcomes.report_url) to provide signed download link for technical report

[0.10.15] - 2024-05-28

Added

  • Added conditions option to datasets' output_to_streams, giving users the ability to filter which rows in the dataset should be added to the stream

[0.10.14] - 2024-05-28

Added

  • Support UUID as a data type for detected columns in datasets

[0.10.13] - 2024-05-21

Added

  • Add PATCH /persona_sets/{persona_set_id}/personas/{persona_id} to update a persona in a persona set. Supports name for now.

[0.10.12] - 2024-05-13

Added

  • Added privacy option to datasets, giving users the ability to treat a dataset as a do not contact list (suppress) or as a deletion list (delete and do not contact)

[0.10.11] - 2024-05-07

Added

  • datasets: reference_columns
  • targets: reference: {dataset_id, column_name}

Deprecated

  • datasets: reference_key_column. Use datasets.reference_columns instead
  • targets: reference_dataset_id. Use targets.reference.dataset_id instead

[0.10.10] - 2024-05-06

Added

  • Added new identified target transformation option: address only

[0.10.9] - 2024-04-30

Added

  • Add predictors.blocked.providers to outcomes resource. This will allow a user to block first party data from models during outcome builds.

[0.10.8] - 2024-04-29

Fixed

  • add date as a PrimitiveDataType
  • reconcile TraitCategory with the actual categories used in the db

[0.10.7] - 2024-04-12

Added

  • Added output_all_columns_as_traits as an alternative to output_to_traits when configuring datasets.

[0.10.6] - 2024-03-21

Added

  • Add new dataset type merge - merges two or more existing datasets into a single dataset (leaves the original datasets intact)

[0.10.5] - 2024-03-13

Added

  • Added target_filter_recommender_ranks and target_filter_recommender_uncalibrated_probabilities to the filter object of a target.

[0.10.4] - 2024-02-14

Added

  • Added schema as an optional parameter for Microsoft SQL Server connection types.

[0.10.3] - 2024-02-13

Added

  • Added header_row as an optional parameter for connection types that support CSV files.

[0.10.2] - 2024-02-09

Fixed

  • Allow slashes in detected_column names

[0.10.1] - 2024-02-08

Added

  • Add recommender_ids to scope.payload

[0.10.0] - 2024-01-31

Fixed

  • Fixed DELETE status codes for all resources (except accounts because they have a waiting period) 202->204. This is technically a breaking change based on the spec but the API was already returning 204.

[0.9.3] - 2024-01-31

Added

  • Added include_geometry boolean to TargetModesAggregated to append optional geometries to aggregated targets.

[0.9.2] - 2024-01-05

Added

  • Added dataset enrichment rates. This reports the number of identities that were appended with additional data, grouped by provider.

[0.9.1] - 2023-12-05

Added

  • Add Recommenders endpoints for building and managing recommendation models.

[0.9.1] - 2023-12-21

  • Updated lift value descriptions for outcomes

[0.9.0] - 2023-12-14

Fixed

  • Changed targets/{target_id}/lookup success response code from 201 to 200

[0.8.2] - 2023-11-27

Added

  • Relaxed reference key pattern to allow for leading underscore.

[0.8.1] - 2023-11-17

Changed

  • Outcome analysis descriptions for bias metrics updated.

[0.8.0] - 2023-11-08

Breaking

  • Outcome analysis lift value is optional because not all reports have it yet.

[0.7.15] - 2023-11-01

Added

  • Add customer id option to google ads connection

[0.7.14] - 2023-10-30

Fixed

  • Require non-empty strings for resource names

[0.7.13] - 2023-10-11

Added

  • Score explainability as an opt-in scope payload column

[0.7.12] - 2023-10-10

Changed

  • Remove target score language in favor of target percentile for lift charts.

[0.7.11] - 2023-09-06

Added

  • Add last_updated_config_at to most Resources
  • Add last_read_input_at to most Resources

[0.7.10] - 2023-08-24

Added

  • Add bias analysis to GET /outcomes/{outcome_id}/analysis

[0.7.9] - 2023-08-17

Added

  • GET /traits/{trait_id}/analysis/dimensions - returns summary data about the trait. For example, what percentage of the US population falls into a certain age range.

[0.7.8] - 2023-08-15

Fixed

  • Move maximum and minimum on target filter probability and percentile down onto the component/schema

[0.7.7] - 2023-08-11

Added

  • Add bias mitigation to outcome configuration. Though the spec appears you can combine different mitigation strategies per dimension of concern (age=equity, gender=equality), API runtime validation will prevent it for now. Later we may support this so the spec is designed for future proofing. Note: age=none, gender=equity is allowed.

[0.7.6] - 2023-08-07

Deprecated

  • Using Outcome Score in target filter is deprecated. Use Outcome percentile or probability instead.

[0.7.5] - 2023-08-07

Fixed

  • Let BigQuery dataset names start with a number

[0.7.4] - 2023-08-04

Added

  • Added dataset sample and non-null data (anonymized)

[0.7.3] - 2023-08-03

Added

  • Add lookup_api connection type for targets
  • Add JSON types for lookup requests

[0.7.2] - 2023-07-31

Added

  • Added GET outcomes/{outcome_id}/analysis to return outcome report data for model performance, feature importance, and more.

[0.7.1] - 2023-07-13

Fixed

  • connection options that aren't required now use * instead of + in regex pattern matching
  • added yyyymmdd to data map formats

[0.7.0] - 2023-06-22

Breaking

  • instead of billing via ppds (person-predictions per day), Faraday now bills via a variety of metrics (number of connections, number of known contacts, etc). The endpoint exposes this information to the users

[0.6.0] - 2023-06-06

Breaking

  • Change shape of datasets.output_to_traits from string to object to support additional configuration details.
  • Add metadata to the /traits endpoint including literate, description, units, and emitted_by_datasets.

[0.5.3] - 2023-06-21

Added

  • Made some minor updates to managed connection types metadata.

[0.5.2] - 2023-06-20

Added

  • Added new managed connection types.

[0.5.1] - 2023-06-12

Added

  • Added a new target filter for score probabilities. Allows a user to filter a target with various operators by the following payload element outcome_probability.

[0.5.0] - 2023-05-12

Breaking

  • DELETE /account no longer returns the account object - this is in-line with how the other DELETE endpoints work.

[0.4.17] - 2023-05-11

Added

  • 'census_block_group', 'census_tract', and 'dma' are now options for geo aggregated targets.

[0.4.16] - 2023-05-11

Fixed

  • Allow false to be passed to target filter persona and cohort membership eq

[0.4.15] - 2023-04-25

Added

  • Target row_count limits now allow outcome_id to be optional.
  • Added secondary connections (e.g. Klaviyo). These are marked as "managed" and therefore do NOT get written into the API spec.
  • Added tags:string[] and blurb:string to ConnectionTypes. This is for the website only.

Changed

  • Added null (_null) and not null (_nnull) operators to target filters for outcome_percentile and outcome_score.

[0.4.14] - 2023-04-10

Added

  • Added a new target transformation called filter. Allows a user to filter a target with various operators by any of the following payload elements: persona_id, attributes (traits), cohort_membership, outcome_percentile, outcome_score.

[0.4.13] - 2023-04-07

Changed

  • Example values for explore field in cohorts and invert in cohort place conditions so that users of the API docs get better default values.

[0.4.12] - 2023-04-05

Added

  • GET uploads/{directory}/{filename} - download the file previously uploaded at POST uploads/{directory}/{filename}.

[0.4.11] - 2023-03-22

Added

  • GET dependencies - returns the list of edges in a dependency graph of the account's resources.

[0.4.10] - 2023-03-16

Added

  • Added 'managed' boolean to connections, datasets, and targets. Managed resources are read-only.

[0.4.9] - 2023-02-24

Added

  • Added rules for liveramp as a target transformation.

[0.4.8] - 2023-02-22

Changed

  • Updated connection type descriptions.

[0.4.7] - 2023-02-21

Changed

  • Cohort stream name is now mutable

[0.4.6] - 2023-02-16

Added

  • Added new target transformation options for: pinterest, snapchat, klaviyo, segment, youtube, tiktok, taboola, iterable, poplar, salesforce, google ads, facebook

[0.4.5] - 2023-02-14

Added

  • New error: EXPIRED_API_KEY

[0.4.4] - 2023-02-05

Added

  • data map format: static_date_iso8601, with column_name as the (temporary?) place you put the static value
  • new date format yyyymm e.g. 201901

[0.4.3] - 2023-01-28

Added

  • freeform_address and email_hash added to identity sets on data sets.

[0.4.2] - 2023-01-24

Added

  • number_of_clusters parameter to PersonaSets

[0.4.1] - 2023-01-12

Added

  • New GET /cohorts/{cohort_id}/analysis/membership endpoint to show cohort membership counts over time.

[0.4.0] - 2023-01-12

Breaking

  • Change the format of event stream properties include type, statistical type, breaks, format, emitted_by_datasets.

[0.3.23] - 2023-01-09

Scopes

  • added columns detailed metadata for the front-end.

Targets

[0.3.22] - 2023-01-06

Added

  • Implement DELETE for /traits

[0.3.21] - 2023-01-03

Added

  • Remove TRIM on date parsing and implement regex, removing time, only for when we do not autodetect

[0.3.20] - 2022-12-21

Added

  • Places resource endpoint: GET, POST, PATCH, DELETE
  • Added place_conditions parameter to /cohorts, used to filter a Cohort's population using a Place's geometry

[0.3.19] - 2022-12-20

Added

  • Targets: added linkedin transform preset

[0.3.18] - 2022-12-13

Changed

  • Align the initial target transformation presets with the existing target update worker.

[0.3.17] - 2022-12-09

Changed

  • /datasets upsert_column can now be PATCHed after the dataset is created

[0.3.16] - 2022-12-07

Added

  • Target transformation presets and compilation script.

[0.3.15] - 2022-12-06

Added

  • Add GET /persona_sets/{persona_set_id}/analysis/flow to return typed persona analysis info on the associated value and member count of each persona by day.

[0.3.14] - 2022-12-05

Added

  • Add stream_conditions field to cohorts. This allows users to specify values for stream properties to filter cohort membership.

[0.3.13] - 2022-12-04

Added

  • Added person_full_name to datasets identity sets
  • Allow spaces and capital letters in identity sets

[0.3.12] - 2022-11-29

Added

  • PATCH and POST /outcomes - feature_blocklist could previously only include Faraday-provided traits. Now it can also include user-defined traits.

[0.3.11] - 2022-11-29

Added

  • GET /streams and GET /streams/{id} endpoints now return properties. Properties are set on /datasets output_to_streams.

[0.3.10] - 2022-11-22

Added

  • GET, POST, PATCH /datasets: for output_to_streams, instead of being limited to 'datetime', 'product', 'value', and 'channel', you can create any property.
  • provided clearer date parsing specifications (yyyy_mm_dd_dash instead of date_iso8601, mm_dd_yy_slash instead of date_month_day_shortyear (this didn't even allow delimiter choosing)). For backwards compatibility, the old formats are still available, but deprecated.

[0.3.9] - 2022-11-15

Added

  • Add GET /persona_sets/{persona_set_id}/analysis/dimensions to return typed persona analysis info for traits beyond the clustering/modeling_fields of the persona set. Eventually this can contain predictions and other event analysis information.

Changed

  • Marked persona_set.personas[0].details.bins as deprecated (use /persona_sets/{persona_set_id}/analysis/dimensions instead which has a typed response and contains more dimensions)

[0.3.8] - 2022-11-15

Changed

  • support "upsert" for snowflake referenced targets

[0.3.7] - 2022-11-11

Added

  • Added _matches field to trait conditions on cohorts for regex matching.

[0.3.6] - 2022-11-02

Added

  • Added last_updated_output_at to most endpoints - this specifies when the resource last finished building.

[0.3.5] - 2022-11-01

Fixed

  • Make persona.id required (non-nullable).

[0.3.4] - 2022-10-28

Added

  • Added GET /accounts - to show your account plus all subaccounts
  • Added GET /accounts/{id} - to show the details of a specific account
  • Added GET /accounts/current - to show the details of the account associated with your specific API key
  • Added GET /accounts/{id}/billing - to show billing details for the given account. including payments, invoices, and account usage

[0.3.3] - 2022-10-28

Added

  • New field persona.individuals_count returns number of members that match the persona within the cohort the set was based on.

[0.3.2] - 2022-10-24

Added

  • Allow spaces in column names

[0.3.1] - 2022-10-24

Added

  • Added "case_sensitive_columns" to Snowflake datasets

[0.3.0] - 2022-10-17

Added

  • Added name and explore fields to creating persona sets
  • Added PATCH support for /persona_sets/{persona_set_id} to update name and explore

Breaking

  • name is now required for POST /persona_sets

[0.2.11] - 2022-10-14

Added

  • DELETE endpoints for all resources except traits.

[0.2.10] - 2022-10-13

Added

  • add matched_count to /datasets. This will show the user how many of their identified people matched a person in Faraday's data.
  • fixed the calculation for row count and identified count.

[0.2.9] - 2022-10-13

Changed

  • allow space character in SQL server database options

Added

  • support "upsert" for bigquery referenced targets

[0.2.8] - 2022-10-05

Added

  • new supported 'format' for /datasets output_to_streams - seconds since unix epoch and milliseconds since epoch

[0.2.7] - 2022-10-03

Changed

  • show whether cohort is classic (managed)

[0.2.6] - 2022-09-29

Changed

  • allow bucket prefixes to start with capital letters and numbers

[0.2.5] - 2022-09-21

Changed

  • allow colon in column names (e.g. "Source: Product Description")

[0.2.4] - 2022-09-10

Changed

  • added dataset updates, showing the date and rows added per update. Note that we don't currently provide the row count pre-processing as this is technically difficult.

[0.2.3] - 2022-09-06

Changed

  • refactor target limits to support two types of input: percentile ranges (WHERE min <= percentile_score <= max) and absolute limits (LIMIT)

[0.2.2] - 2022-09-06

Changed

  • add explore boolean to cohorts

[0.2.1] - 2022-09-02

Changed

  • add preview mode to datasets, facilitating "New Dataset" UI (and advanced API users who want low latency column detection)
  • allow spaces in column names (e.g. "Product Description")

[0.2.0] - 2022-08-30

Changed

  • move required dataset_name from BigQuery datasets/targets to BigQuery connection level

[0.1.19] - 2022-08-25

  • add active to persona_sets

[0.1.18] - 2022-08-21

  • add contents and contents_error to connections

[0.1.17] - 2022-08-18

Changed

  • add metro as an aggregation option to targets

[0.1.16] - 2022-08-17

Changed

  • for /datasets endpoints, made output_to_streams optional

[0.1.15] - 2022-08-15

Added

  • /datasets read-only, optional fields row_count and identified_count

[0.1.14] - 2022-08-09

Changed

  • Create a new 403 error code MAX_RESOURCES_REACHED. When user hits the resource quota, they will get a 403 MAX_RESOURCES_REACHED error instead of 403 FORBIDDEN. The user will instead get FORBIDDEN if they do not have access to the resource.

[0.1.13] - 2022-08-04

Changed

  • /targets endpoint re-spec
  • Added support for read-only connection_types_options

[0.1.12] - 2022-07-29

Added

  • GET /datasets[/X] now returns name

[0.1.11] - 2022-07-28

Added

  • GET /datasets[/X] now returns detected_columns

[0.1.10] - 2022-07-27

Added

  • GET /scopes/{scope_id}/datasets for returning all datasets associated with a scope's population cohorts.

[0.1.9] - 2022-07-26

Added

  • fig/geography trait category to distinguish location-based fields which contain census, ZIP, etc. IDs.

[0.1.8] - 2022-07-19

Added

  • report_url to scopes for returning a signed url with the report location
  • output_url to targets for returning a signed url for the default output

[0.1.7] - 2022-07-18

Added

  • New to datasets: primary_key_column.

[0.1.6] - 2022-07-12

Added

  • GET /scope/{scope_id}/payload/cohorts for returning all cohorts in the scope's payload

[0.1.5] - 2022-07-11

Fixed

  • Scope payload attributes will not fail validation for prefixed field names.

[0.1.4] - 2022-07-07

Fixed

  • url for Snowflake connections now uses the correct regex.

[0.1.3] - 2022-06-27

Added

  • connections/{connection_id}/targets endpoint, which returns all targets with the given connection_id

Fixed

  • url for redshift connections now uses the correct regex.

[0.1.2] - 2022-06-24

Added

  • Recency options to the /cohorts endpoint.

[0.1.1] - 2022-06-23

Added

  • Added classic options for datasets and connections to expose querying and patching of classic datasets.

[0.1.0] - 2022-06-23

Fixed

  • Obsolete code in this repository has been deleted.
  • This repository is now completely standalone.

[0.2.0] - 2022-06-26

Changed

  • Name is now required on cohorts.