Skip to main content
Glama

Measure subscriptions from bank outflows and received invoices

well_measure_subscriptions
Read-only

Measure the workspace's subscriptions from its bank and credit card outflows: which suppliers it pays on a regular cadence, what each costs per month and per year, and how the spend moved month by month. It draws no card.

Call it when the user asks what they pay for on a regular basis, what their subscriptions cost, or how that spend moved. Then draw the two cards from its result, trend first:

  1. well_render_category_trend with one category_trends entry, passed as it is.

  2. well_render_monthly_pivot with the pivots entry of the same currency, passed as it is. When the result holds more than one currency, draw one pair per currency. Never add two currencies together. When the result reads success: true and partial: false, subscriptions and invoice_candidates are empty, other_workspaces_status is not unreadable, other_workspaces_skipped is 0, and every other_workspaces entry reads success: true, partial: false and rows_truncated: false with its subscriptions and invoice_candidates empty too, no subscription was found: say so and draw nothing. When an invoice_read.status of a workspace read is not read, its invoice_read.unplaced_excluded_count is above 0 or null, or other_workspaces_empty_invoices_unread_count is above 0, add that the received invoices of that workspace were not all read. When the result reads success: false, or partial: true with a workspace.has_bank_or_card that is not false, the subscriptions of this workspace are unknown: say so, never that no subscription was found. When an other_workspaces entry reads success: false or rows_truncated: true, or partial: true with a workspace.has_bank_or_card that is not false, other_workspaces_status is unreadable, or other_workspaces_skipped is above 0, the subscriptions of that workspace are unknown: say so, never that no subscription was found. A workspace that reads success: true and partial: true with workspace.has_bank_or_card: false holds no bank: only its bank part is unknown. When its invoice_read.status is read, its invoice part is measured: list its invoice_candidates, or, with invoice_read.unplaced_excluded_count at 0, say that no received invoice shows a subscription, and never say that its subscriptions could not be measured. When a workspace read lists a subscription but category_trends and pivots are empty, the subscriptions were found and nothing falls in the drawn months: every subscription of this workspace was last debited before them, or only another workspace pays one. List the subscriptions, never say none was found, and draw nothing.

The server applies every rule, and the result states each one in rules. Quote the figures as returned: never recompute a cost, a total or a cadence, and never loosen a rule to list a supplier the user expects. A supplier in not_recurring missed the rule named in its missed_rule.

Every amount in the result is in the major units of its currency, never in cents: 1860 is 1,860.00 EUR, not 18.60 EUR.

The window is fixed: the last 24 complete calendar months in UTC and the running month are read, and the cards draw the last 12 complete months (the pivot draws the running month apart, marked as in progress). window, current_month and display_months say which months those were.

A supplier row is a company or a bank label. A row with a company_id is a company. A row whose company_id is null carries a label_means_id instead: a payee Well knows only by the label the bank prints, named by name, with no domain. List it like any other supplier, under its name. Never pass a label_means_id where a company_id is asked for: no contract, record or company lookup takes it.

due_this_month lists subscriptions still due in the running month. If the caller supplies balance_by_currency, balance_after gives the balance after those debits for each supplied currency. The caller selects the balance and applies its cash policy; this tool does not read account balances. Without the input, balance_after is omitted.

What the result is:

  • subscriptions: the suppliers on a cadence (monthly, bimonthly, quarterly, yearly) whose category is software or a service paid on a schedule, or a fee paid to a firm (accounting, legal, consulting, contractors and the like) when the payee is a company paid a fixed or changed price, largest cost per month first, at most 50; subscription_count is the full count, and a list that shows fewer says how many it shows. Each carries its cadence evidence, its amount pattern (fixed, changed, varying), the amount its cost per month starts from, the cost per month and per year, its latest month, possibly_ended, its category and state (possibly_ended, rising, falling, varying, stable): the one section it belongs to. Never list one supplier under two states.

  • A subscription with uncategorised: true is a company paid a fixed or changed price on a cadence whose category says nothing about it (none, residual or suspense). It is a subscription like any other, in subscriptions and in totals: list it under its name, and you may add that Well has not categorised it yet. Never take it out of the list or the total.

  • uncategorised_recurring: the other suppliers on a cadence whose category says nothing about them, a person, a bank label with no company, or a varying amount, at most 25; uncategorised_recurring_count is the full count and uncategorised_recurring_monthly_total their cost per month, one entry per currency, as decimal strings, over all of them and not only the listed ones. They are not counted as subscriptions and are in no total: give the count and the monthly total as leads (recurring payments Well cannot categorise yet, which may be subscriptions), and point the user to categorizing their counterparties. Never add the monthly total to totals.

  • totals: per currency, the subscription count, the total cost per month and per year, and the count and the cost per month of the subscriptions flagged as possibly ended (possibly_ended_count, possibly_ended_cost_per_month, already inside the count and the total).

  • possible_duplicates: subscription suppliers charged their own price more than once in a month. A lead to check, never a verdict, and never in a total. Taxes, meals, travel and a one-off transfer are never in it. A month whose confirmed_distinct_pair is true holds debits of one same amount, at most 7 days apart, one of them confirmed by a person as a separate payment: the bank took that charge twice, and dispute_leads holds it. A month whose one_off_pair is true holds exactly two debits of one same amount, at most 7 days apart, both from one bank feed connection (never from a statement upload), and a later month is back to one debit of that amount: dispute_leads holds it too. Every other month is unsure.

  • not_recurring: suppliers paid in the window that are not subscriptions, at most 25, with the rule missed (one_month, too_few_months, multiple_debits_in_month, irregular_gaps, not_subscription_category). not_subscription_category is a supplier paid on a cadence whose category is spend by use, a salary, a tax or a money movement, or a fee paid to a person or at a varying amount: never call it a subscription.

  • unattributed: outflows whose payee resolves to no company and to no bank label, such as a person or a row with no payee. Real spend with no supplier to repeat, so never on a cadence.

  • category_trends and pivots: the render inputs, one per currency. A trend holds at most 6 lines, the smallest categories rolled into the last one.

  • excluded: what fell out, counted apart. internal_transfers are movements between the workspace's own accounts, card repayments among them. A charge on a credit card the workspace connected is measured like a bank debit, on the day of the charge and against its supplier, so its repayment is never counted a second time. no_asset_movement counts the outflows with no leg on an owned bank account or credit card: rows whose payer resolved to no account, a charge on a card that is not connected among them. Say so whenever the count is not zero: payments on rows linked to no connected account are NOT measured here. payments_to_own_accounts are payments to another owned account, such as a loan, own_company payments to the workspace's own company, unreadable_rows rows with no readable amount or currency. category_keys lists the categories never counted as subscriptions (transfers, treasury, loans, taxes, salaries, social charges), and category_excluded is how many bank outflows those categories removed. internal_transfers counts a transfer whatever its category. A null count was not measured, which is not zero.

Received invoices. Beside the bank, the tool reads the workspace's received supplier invoices, under rules.invoice_source. invoice_candidates lists the suppliers on a cadence from their invoices that no bank row lists: two invoices one cadence apart, or one invoice that states its period. Largest cost per month first, at most 50; invoice_candidate_count is the full count. Each carries its cost_per_month, its cadence and cadence_basis, uncategorised, and a number with the action cancel: the person answers that number to cancel it. The numbers follow the last lead and dispute lead, this workspace first, then other_workspaces in their order. candidate_key names the workspace and the supplier: act on a number only when a fresh measure gives it the same candidate_key. Every bank row carries source: both when the supplier's invoices are merged into it, else bank; one supplier is never listed twice. invoice_candidate_totals sums every invoice candidate per currency, past the list cap too, and is never added to totals. With partial: true and no bank in scope, the invoice candidates are still measured: list them as found from received invoices. invoice_read.status side_unknown or failed means the invoices were not read, which is not "no invoice". invoice_read.side personal_space or assumed_received means the workspace has no proven own company, so the invoices that name no side were read as received: say so in one clause beside the invoice lines. invoice_read.unplaced_excluded_count above 0 counts the invoices on no side the read left out, such as one to another company: they were not read. A null count failed, so the invoices were not all read either. invoice_read.rows_truncated: true means some months missed their smallest suppliers. invoice_read.category_unread_count above 0 counts the smallest suppliers whose category was not looked up: an excluded category among them can be listed as uncategorised. invoice_read.merge_incomplete: true means the bank labels were not all tied to their invoice suppliers: an invoice line can repeat a bank row paid under a label.

What pays each one. Each subscription carries paid_with: the means that paid its latest debit (last_paid_on). card_last_four and card_name name the card when Well knows it. card_connector_slug names the connector that synced that card, such as qonto, and card_workspace_connector_id names that connection: a card action runs on it, never on another connection. account_name names the account debited. card_last_four: null means the debit names no card (a transfer, a direct debit, or a bank that does not say), never "no card". paid_with: null means the read named no payer; payers_truncated: true means the read hit its cap, so some subscriptions carry none. Show a card as its last four digits only, such as ••1234.

Never claim a saving. A possibly ended subscription or a possible duplicate is what the bank shows, and Well cannot see whether a service is in use.

The yearly leads. Each subscription carries rise_per_year: what its price rise costs over a year, null when the amount did not rise, with first_cost_per_year and latest_cost_per_year: what it cost a year before the rise and costs a year after it. Quote those two for the old and the new price per year, and never multiply a payment yourself. Each one also carries rise_per_seat: that rise for one seat, the rise divided by the stored seat count, to two decimal places. No stored seat count counts as one, so the two figures match. rise_leads lists the rises that count as leads: a possibly ended subscription is none, and a copy already counted in paid_in_several_workspaces is none, because dropping that copy drops its rise too. annual_lead_totals sums, per currency, every rise lead and every extra copy below, with how many it sums. A rise of a supplier known only by its bank label is no lead: label_only_rises lists it with the same yearly figures. bank_rise_count counts every rise the bank shows, the label-only ones included; a possible duplicate, a dispute lead, a refused payment and an unused tool are never a rise. yearly_savings gives, per currency, the yearly saving a reply opens on and each part it sums: saving_per_year is rise_per_year (every bank rise still paid, label-only ones included, rise_count of them) plus duplicate_per_year (the extra copies, duplicate_count of them). to_recover is what the confirmed double charges took twice (double_charge_count of them): paid once, never in saving_per_year. Quote them as returned: a lead to check, never a saving made.

Every workspace of the person. When the person asks where they can save or what they could cut, do not answer from this tool alone: load the subscription-spend skill (with well_get_skill, or with the host's own skill tool when the Well skills are installed in it) and follow it, because it orders the answer and names each workspace. A list ask or a rise ask, such as "which subscriptions do I pay?" or "did any of our subscriptions go up?", loads the skill first too, on an AI app host and on WhatsApp; on WhatsApp it takes that same answer across the person's workspaces. On WhatsApp, pass workspaces: "all_my_workspaces" on every call. Elsewhere, pass it when the person asks where they can save, what to cut, or about everything they pay across their workspaces. other_workspaces returns the measured other-workspace groups selected for named blocks. On WhatsApp, the tool reads up to 10 other workspaces of the login the turn acts as, the starting login or the one picked with /account; elsewhere, it reads up to 10 other real workspaces this same signed-in person is a member of. Each returned group comes with its subscriptions, totals and possible duplicates. workspace_order.workspace_ids lists at most 10 groups in answer order, including the current workspace when its group holds something. workspace_groups_omitted counts measured groups outside that limit; other_workspaces_omitted gives each omitted other workspace's descriptor, subscription count and check facts (possible duplicates and possibly ended subscriptions) so the answer can still name them. A group whose read failed, read partially or truncated keeps a named slot ahead of readable groups, so it is never dropped by the cap. other_workspaces_skipped counts other workspaces not read; totals and leads use all workspaces measured, including unnamed groups. paid_in_several_workspaces holds the suppliers two or more of them pay for what reads as one subscription: the same payee domain, cadence and category, at a comparable cost. When the person may read more workspaces than that, other_workspaces_skipped counts the ones not read, and every total covers the workspaces read only. Well finds those workspaces from the person; a workspace is never named in the call, and an AI app connection reaches only the workspaces its grant covers. all_workspaces_totals gives, per currency, the subscription count, the cost per month and the cost per year of every workspace read, this one included, and the count and the cost per month of the possibly ended ones among them: each the sum of the workspaces' own totals. other_workspaces_status says why the list is what it is: not_requested, read, no_signed_in_person or unreadable (which is not "no other workspace"). The cards draw this workspace only.

Workspace names and empty groups. leads[].targets, kept and dispute_leads[].targets carry each target's workspace_name, including a target in a group omitted from other_workspaces. other_workspaces_empty_count counts other workspaces whose bank was fully read with no subscription and that have no invoice candidate, whatever their invoice read; other_workspaces_empty_invoices_unread_count counts those among them whose received invoices were not read.

The order and the numbers. workspace_order.workspace_ids is the order to list the workspaces in: the biggest cost per year first, in workspace_order.currency, and on a tie this workspace (the one the call runs in), else the person's own space. When the call runs in the person's own space, a workspace of a company comes first on a tie. leads is every yearly lead annual_lead_totals sums, numbered in the order a reply shows them: the biggest amount_per_year first, and on a tie the lead acting in this workspace, else in the person's own space, with the same company rule as the workspaces. Each lead carries its kind (rise, paid_in_several_workspaces), the one action it proposes (renegotiate, cancel_extra_copies) and its targets: the workspace and the supplier row each action runs on (a null workspace_id is this workspace). A cancel_extra_copies lead also names in kept the copy it keeps; show the kept copy and the copies cancelled on its line. Show each lead under its number, never renumber them: the person answers with these numbers, and the same measure numbers the same leads the same way. dispute_leads come first, numbered from 1, and leads are numbered on from the last of them, because the money to recover comes first. A dispute lead is one per confirmed pair or one-off pair month of possible_duplicates in any workspace read, the biggest amount_charged_twice first, each with the action contest, its month and its one target. amount_charged_twice is paid once, so it is never a cost per year and never in annual_lead_totals: a dispute lead is still to check, and nothing is contested from here. lead_key joins the action, the supplier, the sorted target workspaces, the sorted target supplier rows and the supplier row of the copy kept: when a person answers a number from an earlier answer, act only when the lead under that number in a fresh measure has the same lead_key as in the answer they read, because the figures can move and give the number another supplier, action or workspace.

Naming a workspace. workspace and each other_workspaces[].workspace carry workspace_name, own_company_name, is_personal, bank_names and has_bank_or_card. Name a workspace from them, by what sets it apart, never by a generic label such as "personal space" alone.

partial: true means nothing was measured from the bank: the read was cut short, or the workspace holds no bank account and no credit card, which workspace.has_bank_or_card: false says. Say so rather than reporting no subscriptions; the invoice candidates are measured apart, and with invoice_read.status read they are the measured answer of that workspace. The top-level flag describes workspace only; each other_workspaces entry carries its own partial. rows_truncated: true means the smallest counterparties were not read, so every total is a floor.

scope is required: own_and_adopted is the spend population the burn counts, own the workspace's own rows only.

When the person asks about software subscriptions, pass category: "software"; it includes software, hosting, AI and sales tools, and excludes rent, insurance and bank fees.

When the token authorizes one workspace, call this directly — no workspace call is needed first. When it authorizes several, this read will not guess which one you mean: pass workspace_id on the call.

Input Schema

NameRequiredDescriptionDefault
scopeYesWhich rows are this workspace's: `own_and_adopted` for its spend, `own` for its own rows only. Required; see the description.
categoryNo
workspacesNoWhich workspaces the measure reads. Omit it, or pass "this_workspace", for this workspace alone. Pass "all_my_workspaces" on every call on WhatsApp, and elsewhere when the person asks where they can save, what to cut, or what they pay across all their workspaces: `other_workspaces` then measures each other workspace the same signed-in person is a member of.
workspace_idNoTarget workspace. Omit when the token authorizes one workspace. Required when it authorizes several: this read reports one workspace's own figures and will not choose which.
conversation_idNoThe conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation.
workspace_scopeNoRestrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.
balance_by_currencyNoThe caller's starting balance in major units, keyed by currency. Omit it to return due debits without a balance calculation.

Output Schema

NameRequiredDescriptionDefault
errorNo
leadsYes
rulesYes
scopeYes
pivotsYes
totalsYes
windowYes
partialYes
successYes
excludedYes
workspaceYes
rise_leadsYes
invoice_readYes
unattributedYes
balance_afterNo
current_monthYes
dispute_leadsYes
not_recurringYes
subscriptionsYes
display_monthsYes
due_this_monthYes
rows_truncatedYes
yearly_savingsYes
bank_rise_countYes
category_trendsYes
conversation_idNoThe conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation.
newly_connectedNoTools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.
workspace_orderYes
label_only_risesYes
other_workspacesYes
payers_truncatedYes
annual_lead_totalsYes
invoice_candidatesYes
resolved_workspaceNoThe workspace that answered, when the caller named none and the token authorizes several.
subscription_countYes
not_recurring_countYes
possible_duplicatesYes
conversation_id_noteNoPresent only when the server opened a fresh lane, stating that no choice recorded earlier was read.
all_workspaces_totalsYes
conversation_id_sourceNoWhere the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened.
invoice_candidate_countYes
other_workspaces_statusYes
subscriptions_truncatedYes
uncategorised_recurringYes
invoice_candidate_totalsYes
other_workspaces_omittedYes
other_workspaces_skippedYes
possible_duplicate_countYes
workspace_groups_omittedYes
paid_in_several_workspacesYes
other_workspaces_empty_countYes
uncategorised_recurring_countYes
uncategorised_recurring_monthly_totalYes
other_workspaces_empty_invoices_unread_countYesOf the empty other workspaces, how many had their received invoices not all read (`side_unknown`, `failed`, or `unplaced_excluded_count` above 0 or null).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / one_off_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount",
      -  "confirmed_distinct_pair"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair",
      +  "one_off_pair"
      +]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / one_off_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount",
      -  "confirmed_distinct_pair"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair",
      +  "one_off_pair"
      +]
    • addedOutput schema / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / one_off_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount",
      -  "confirmed_distinct_pair"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair",
      +  "one_off_pair"
      +]
    • addedOutput schema / properties / yearly_savings / items / properties / up_to_total
      Added value: +{
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / yearly_savings / items / required
      Previous value: -[
      -  "currency",
      -  "saving_per_year",
      -  "rise_per_year",
      -  "rise_count",
      -  "duplicate_per_year",
      -  "duplicate_count",
      -  "to_recover",
      -  "double_charge_count"
      -]New value: +[
      +  "currency",
      +  "saving_per_year",
      +  "rise_per_year",
      +  "rise_count",
      +  "duplicate_per_year",
      +  "duplicate_count",
      +  "to_recover",
      +  "up_to_total",
      +  "double_charge_count"
      +]
  2. Changed281 schema fields changed
    • addedInput schema / properties / balance_by_currency
      Added value: +{
      +  "additionalProperties": {
      +    "type": "number"
      +  },
      +  "description": "The caller's starting balance in major units, keyed by currency. Omit it to return due debits without a balance calculation.",
      +  "propertyNames": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / balance_after
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "balance_after": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "balance_after"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / category_trends / items / properties / series / items / properties / category_key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / category_trends / items / properties / series / items / properties / category_key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / category_trends / items / properties / series / items / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / category_trends / items / properties / series / items / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / dispute_leads / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / dispute_leads / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / workspace_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / workspace_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / workspace_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / dispute_leads / items / properties / targets / items / properties / workspace_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / due_this_month
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "estimated_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_month": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "currency",
      +      "cadence",
      +      "latest_month",
      +      "estimated_amount"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / excluded / properties / category_excluded / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / category_excluded / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / internal_transfers / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / internal_transfers / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / no_asset_movement / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / no_asset_movement / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / no_owned_leg / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / no_owned_leg / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / own_company / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / own_company / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / payments_to_own_accounts / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / payments_to_own_accounts / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / excluded / properties / unreadable_rows / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / excluded / properties / unreadable_rows / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / evidence / properties / stated_period_days / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / evidence / properties / stated_period_days / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / workspace_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / workspace_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / invoice_candidates / items / properties / workspace_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / invoice_candidates / items / properties / workspace_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / invoice_read / properties / side / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "payable",
      -      "personal_space",
      -      "unknown"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "payable",
      +      "personal_space",
      +      "assumed_received",
      +      "unknown"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / invoice_read / properties / unplaced_excluded_count
      Added value: +{
      +  "description": "The invoices on no side an `assumed_received` read left out, such as one to another company. Above 0 or `null` (the count failed), the invoices were not all read.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / invoice_read / required
      Previous value: -[
      -  "status",
      -  "side",
      -  "rows_truncated",
      -  "candidates_truncated",
      -  "merge_incomplete",
      -  "not_recurring_count",
      -  "excluded_category_count",
      -  "category_unread_count"
      -]New value: +[
      +  "status",
      +  "side",
      +  "rows_truncated",
      +  "candidates_truncated",
      +  "merge_incomplete",
      +  "not_recurring_count",
      +  "excluded_category_count",
      +  "category_unread_count",
      +  "unplaced_excluded_count"
      +]
    • removedOutput schema / properties / label_only_rises / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_only_rises / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / label_only_rises / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_only_rises / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / label_only_rises / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_only_rises / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / label_only_rises / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_only_rises / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / leads / items / properties / kept / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "company_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      -      },
      -      "label_means_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      -      },
      -      "workspace_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "workspace_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "workspace_id",
      -      "workspace_name",
      -      "company_id",
      -      "label_means_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "company_id": {
      +        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "label_means_id": {
      +        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "workspace_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "workspace_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "workspace_name",
      +      "company_id",
      +      "label_means_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / leads / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / leads / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / leads / items / properties / targets / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / leads / items / properties / targets / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / leads / items / properties / targets / items / properties / workspace_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / workspace_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / leads / items / properties / targets / items / properties / workspace_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / workspace_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / not_recurring / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / not_recurring / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / not_recurring / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / not_recurring / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / not_recurring / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / not_recurring / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / evidence / properties / stated_period_days / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / evidence / properties / stated_period_days / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / workspace_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / workspace_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / workspace_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates / items / properties / workspace_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces / items / properties / invoice_read / properties / side / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "payable",
      -      "personal_space",
      -      "unknown"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "payable",
      +      "personal_space",
      +      "assumed_received",
      +      "unknown"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_read / properties / unplaced_excluded_count
      Added value: +{
      +  "description": "The invoices on no side an `assumed_received` read left out, such as one to another company. Above 0 or `null` (the count failed), the invoices were not all read.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / invoice_read / required
      Previous value: -[
      -  "status",
      -  "side",
      -  "rows_truncated",
      -  "candidates_truncated",
      -  "merge_incomplete",
      -  "not_recurring_count",
      -  "excluded_category_count",
      -  "category_unread_count"
      -]New value: +[
      +  "status",
      +  "side",
      +  "rows_truncated",
      +  "candidates_truncated",
      +  "merge_incomplete",
      +  "not_recurring_count",
      +  "excluded_category_count",
      +  "category_unread_count",
      +  "unplaced_excluded_count"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / first_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / first_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / latest_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / latest_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / paid_with / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_connector_slug": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_last_four": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_workspace_connector_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "last_paid_on": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "last_paid_on",
      -      "card_last_four",
      -      "card_name",
      -      "card_connector_slug",
      -      "card_workspace_connector_id",
      -      "account_name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_connector_slug": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_last_four": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_workspace_connector_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "last_paid_on": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "last_paid_on",
      +      "card_last_four",
      +      "card_name",
      +      "card_connector_slug",
      +      "card_workspace_connector_id",
      +      "account_name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_seat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_seat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / uncategorised
      Added value: +{
      +  "description": "True when the category says nothing about the supplier (none, residual or suspense).",
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with",
      -  "source"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "uncategorised",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / workspace / properties / has_bank_or_card
      Added value: +{
      +  "description": "True when the workspace holds a bank account or card the bank read of this scope reads. `false` when it holds none, so no bank is connected there. `null` when the account read failed.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / other_workspaces / items / properties / workspace / properties / own_company_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces / items / properties / workspace / properties / own_company_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces / items / properties / workspace / required
      Previous value: -[
      -  "workspace_id",
      -  "workspace_name",
      -  "own_company_name",
      -  "is_personal",
      -  "bank_names"
      -]New value: +[
      +  "workspace_id",
      +  "workspace_name",
      +  "own_company_name",
      +  "is_personal",
      +  "bank_names",
      +  "has_bank_or_card"
      +]
    • changedOutput schema / properties / other_workspaces_empty_invoices_unread_count / description
      Previous value: -"Of the empty other workspaces, how many had their received invoices not read (`side_unknown` or `failed`)."New value: +"Of the empty other workspaces, how many had their received invoices not all read (`side_unknown`, `failed`, or `unplaced_excluded_count` above 0 or null)."
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / first_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / first_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / latest_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / latest_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / paid_with / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_connector_slug": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_last_four": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_workspace_connector_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "last_paid_on": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "last_paid_on",
      -      "card_last_four",
      -      "card_name",
      -      "card_connector_slug",
      -      "card_workspace_connector_id",
      -      "account_name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_connector_slug": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_last_four": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_workspace_connector_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "last_paid_on": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "last_paid_on",
      +      "card_last_four",
      +      "card_name",
      +      "card_connector_slug",
      +      "card_workspace_connector_id",
      +      "account_name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / rise_per_seat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / rise_per_seat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / rise_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / rise_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / uncategorised
      Added value: +{
      +  "description": "True when the category says nothing about the supplier (none, residual or suspense).",
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with",
      -  "source"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "uncategorised",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / workspace / properties / has_bank_or_card
      Added value: +{
      +  "description": "True when the workspace holds a bank account or card the bank read of this scope reads. `false` when it holds none, so no bank is connected there. `null` when the account read failed.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / other_workspaces_omitted / items / properties / workspace / properties / own_company_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / workspace / properties / own_company_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / workspace / required
      Previous value: -[
      -  "workspace_id",
      -  "workspace_name",
      -  "own_company_name",
      -  "is_personal",
      -  "bank_names"
      -]New value: +[
      +  "workspace_id",
      +  "workspace_name",
      +  "own_company_name",
      +  "is_personal",
      +  "bank_names",
      +  "has_bank_or_card"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / currency / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / currency / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / extra_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / extra_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / category / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / category / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / category_key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / category_key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / possible_duplicates / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / possible_duplicates / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / possible_duplicates / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / possible_duplicates / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / possible_duplicates / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / possible_duplicates / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / possible_duplicates / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / possible_duplicates / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / possible_duplicates / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / possible_duplicates / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / resolved_workspace / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / resolved_workspace / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / rise_leads / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rise_leads / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / rise_leads / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rise_leads / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / rise_leads / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rise_leads / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / rise_leads / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rise_leads / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / rise_leads / items / properties / rise_per_seat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / rise_leads / items / properties / rise_per_seat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / first_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / first_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / latest_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / latest_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / subscriptions / items / properties / paid_with / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_connector_slug": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_last_four": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_workspace_connector_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "last_paid_on": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "last_paid_on",
      -      "card_last_four",
      -      "card_name",
      -      "card_connector_slug",
      -      "card_workspace_connector_id",
      -      "account_name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_connector_slug": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_last_four": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_workspace_connector_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "last_paid_on": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "last_paid_on",
      +      "card_last_four",
      +      "card_name",
      +      "card_connector_slug",
      +      "card_workspace_connector_id",
      +      "account_name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / subscriptions / items / properties / rise_per_seat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / rise_per_seat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / subscriptions / items / properties / rise_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / rise_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / subscriptions / items / properties / uncategorised
      Added value: +{
      +  "description": "True when the category says nothing about the supplier (none, residual or suspense).",
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / subscriptions / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / subscriptions / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with",
      -  "source"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "uncategorised",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / category / properties / key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / category / properties / key / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / category / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / category / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / changed_in_month / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / changed_in_month / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / company_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / company_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / first_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / first_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / label_means_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / label_means_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / latest_cost_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / latest_cost_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / uncategorised_recurring / items / properties / paid_with / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_connector_slug": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_last_four": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "card_workspace_connector_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "last_paid_on": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "last_paid_on",
      -      "card_last_four",
      -      "card_name",
      -      "card_connector_slug",
      -      "card_workspace_connector_id",
      -      "account_name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_connector_slug": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_last_four": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "card_workspace_connector_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "last_paid_on": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "last_paid_on",
      +      "card_last_four",
      +      "card_name",
      +      "card_connector_slug",
      +      "card_workspace_connector_id",
      +      "account_name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_seat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_seat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / uncategorised
      Added value: +{
      +  "description": "True when the category says nothing about the supplier (none, residual or suspense).",
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / uncategorised_recurring / items / properties / website_link / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / website_link / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / uncategorised_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with",
      -  "source"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "uncategorised",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • changedOutput schema / properties / workspace / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bank_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "is_personal": {
      -        "type": "boolean"
      -      },
      -      "own_company_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "workspace_id": {
      -        "type": "string"
      -      },
      -      "workspace_name": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "workspace_id",
      -      "workspace_name",
      -      "own_company_name",
      -      "is_personal",
      -      "bank_names"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bank_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "has_bank_or_card": {
      +        "description": "True when the workspace holds a bank account or card the bank read of this scope reads. `false` when it holds none, so no bank is connected there. `null` when the account read failed.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "is_personal": {
      +        "type": "boolean"
      +      },
      +      "own_company_name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "workspace_id": {
      +        "type": "string"
      +      },
      +      "workspace_name": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "workspace_name",
      +      "own_company_name",
      +      "is_personal",
      +      "bank_names",
      +      "has_bank_or_card"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / workspace_order / properties / currency / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / workspace_order / properties / currency / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "payers_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "workspace_groups_omitted",
      -  "other_workspaces_omitted",
      -  "other_workspaces_empty_count",
      -  "other_workspaces_empty_invoices_unread_count",
      -  "rise_leads",
      -  "label_only_rises",
      -  "bank_rise_count",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "yearly_savings",
      -  "workspace_order",
      -  "leads",
      -  "dispute_leads",
      -  "invoice_read",
      -  "invoice_candidates",
      -  "invoice_candidate_count",
      -  "invoice_candidate_totals",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "due_this_month",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "workspace_groups_omitted",
      +  "other_workspaces_omitted",
      +  "other_workspaces_empty_count",
      +  "other_workspaces_empty_invoices_unread_count",
      +  "rise_leads",
      +  "label_only_rises",
      +  "bank_rise_count",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "yearly_savings",
      +  "workspace_order",
      +  "leads",
      +  "dispute_leads",
      +  "invoice_read",
      +  "invoice_candidates",
      +  "invoice_candidate_count",
      +  "invoice_candidate_totals",
      +  "success"
      +]
  3. Changed21 schema fields changed
    • addedOutput schema / properties / invoice_candidate_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / invoice_candidate_totals
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "possibly_ended_cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "possibly_ended_count": {
      +        "type": "number"
      +      },
      +      "subscription_count": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "subscription_count",
      +      "cost_per_month",
      +      "cost_per_year",
      +      "possibly_ended_cost_per_month",
      +      "possibly_ended_count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / invoice_candidates
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "action": {
      +        "enum": [
      +          "cancel"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_basis": {
      +        "enum": [
      +          "latest",
      +          "mean"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_pattern": {
      +        "enum": [
      +          "fixed",
      +          "changed",
      +          "varying"
      +        ],
      +        "type": "string"
      +      },
      +      "basis_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "cadence_basis": {
      +        "enum": [
      +          "regular_interval",
      +          "stated_period"
      +        ],
      +        "type": "string"
      +      },
      +      "candidate_key": {
      +        "type": "string"
      +      },
      +      "category": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "key": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "label": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "key",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "company_id": {
      +        "type": "string"
      +      },
      +      "cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "domain": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "evidence": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "gaps": {
      +            "items": {
      +              "type": "number"
      +            },
      +            "type": "array"
      +          },
      +          "invoice_count": {
      +            "type": "number"
      +          },
      +          "months_with_invoices": {
      +            "type": "number"
      +          },
      +          "stated_period_days": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "months_with_invoices",
      +          "invoice_count",
      +          "gaps",
      +          "stated_period_days"
      +        ],
      +        "type": "object"
      +      },
      +      "first_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_month": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "number": {
      +        "type": "number"
      +      },
      +      "possibly_ended": {
      +        "type": "boolean"
      +      },
      +      "source": {
      +        "const": "invoice",
      +        "type": "string"
      +      },
      +      "state": {
      +        "enum": [
      +          "possibly_ended",
      +          "rising",
      +          "falling",
      +          "varying",
      +          "stable"
      +        ],
      +        "type": "string"
      +      },
      +      "uncategorised": {
      +        "type": "boolean"
      +      },
      +      "website_link": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "workspace_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The workspace the supplier bills. `null` is this workspace."
      +      },
      +      "workspace_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "candidate_key",
      +      "action",
      +      "workspace_id",
      +      "workspace_name",
      +      "company_id",
      +      "name",
      +      "domain",
      +      "website_link",
      +      "currency",
      +      "cadence",
      +      "cadence_basis",
      +      "evidence",
      +      "amount_pattern",
      +      "first_amount",
      +      "latest_amount",
      +      "amount_basis",
      +      "basis_amount",
      +      "cost_per_month",
      +      "cost_per_year",
      +      "latest_month",
      +      "possibly_ended",
      +      "state",
      +      "category",
      +      "uncategorised",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / invoice_read
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "candidates_truncated": {
      +      "type": "boolean"
      +    },
      +    "category_unread_count": {
      +      "type": "number"
      +    },
      +    "excluded_category_count": {
      +      "type": "number"
      +    },
      +    "merge_incomplete": {
      +      "type": "boolean"
      +    },
      +    "not_recurring_count": {
      +      "type": "number"
      +    },
      +    "rows_truncated": {
      +      "type": "boolean"
      +    },
      +    "side": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "payable",
      +            "personal_space",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "enum": [
      +        "read",
      +        "side_unknown",
      +        "failed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "side",
      +    "rows_truncated",
      +    "candidates_truncated",
      +    "merge_incomplete",
      +    "not_recurring_count",
      +    "excluded_category_count",
      +    "category_unread_count"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidate_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidate_totals
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "possibly_ended_cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "possibly_ended_count": {
      +        "type": "number"
      +      },
      +      "subscription_count": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "subscription_count",
      +      "cost_per_month",
      +      "cost_per_year",
      +      "possibly_ended_cost_per_month",
      +      "possibly_ended_count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_candidates
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "action": {
      +        "enum": [
      +          "cancel"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_basis": {
      +        "enum": [
      +          "latest",
      +          "mean"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_pattern": {
      +        "enum": [
      +          "fixed",
      +          "changed",
      +          "varying"
      +        ],
      +        "type": "string"
      +      },
      +      "basis_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "cadence_basis": {
      +        "enum": [
      +          "regular_interval",
      +          "stated_period"
      +        ],
      +        "type": "string"
      +      },
      +      "candidate_key": {
      +        "type": "string"
      +      },
      +      "category": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "key": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "label": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "key",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "company_id": {
      +        "type": "string"
      +      },
      +      "cost_per_month": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "domain": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "evidence": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "gaps": {
      +            "items": {
      +              "type": "number"
      +            },
      +            "type": "array"
      +          },
      +          "invoice_count": {
      +            "type": "number"
      +          },
      +          "months_with_invoices": {
      +            "type": "number"
      +          },
      +          "stated_period_days": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "months_with_invoices",
      +          "invoice_count",
      +          "gaps",
      +          "stated_period_days"
      +        ],
      +        "type": "object"
      +      },
      +      "first_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_month": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "number": {
      +        "type": "number"
      +      },
      +      "possibly_ended": {
      +        "type": "boolean"
      +      },
      +      "source": {
      +        "const": "invoice",
      +        "type": "string"
      +      },
      +      "state": {
      +        "enum": [
      +          "possibly_ended",
      +          "rising",
      +          "falling",
      +          "varying",
      +          "stable"
      +        ],
      +        "type": "string"
      +      },
      +      "uncategorised": {
      +        "type": "boolean"
      +      },
      +      "website_link": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "workspace_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The workspace the supplier bills. `null` is this workspace."
      +      },
      +      "workspace_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "candidate_key",
      +      "action",
      +      "workspace_id",
      +      "workspace_name",
      +      "company_id",
      +      "name",
      +      "domain",
      +      "website_link",
      +      "currency",
      +      "cadence",
      +      "cadence_basis",
      +      "evidence",
      +      "amount_pattern",
      +      "first_amount",
      +      "latest_amount",
      +      "amount_basis",
      +      "basis_amount",
      +      "cost_per_month",
      +      "cost_per_year",
      +      "latest_month",
      +      "possibly_ended",
      +      "state",
      +      "category",
      +      "uncategorised",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / invoice_read
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "candidates_truncated": {
      +      "type": "boolean"
      +    },
      +    "category_unread_count": {
      +      "type": "number"
      +    },
      +    "excluded_category_count": {
      +      "type": "number"
      +    },
      +    "merge_incomplete": {
      +      "type": "boolean"
      +    },
      +    "not_recurring_count": {
      +      "type": "number"
      +    },
      +    "rows_truncated": {
      +      "type": "boolean"
      +    },
      +    "side": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "payable",
      +            "personal_space",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "status": {
      +      "enum": [
      +        "read",
      +        "side_unknown",
      +        "failed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "side",
      +    "rows_truncated",
      +    "candidates_truncated",
      +    "merge_incomplete",
      +    "not_recurring_count",
      +    "excluded_category_count",
      +    "category_unread_count"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / source
      Added value: +{
      +  "description": "`both` when the supplier's received invoices are merged into this bank row, else `bank`.",
      +  "enum": [
      +    "bank",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • changedOutput schema / properties / other_workspaces / items / required
      Previous value: -[
      -  "workspace",
      -  "success",
      -  "partial",
      -  "rows_truncated",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "totals",
      -  "possible_duplicates"
      -]New value: +[
      +  "workspace",
      +  "success",
      +  "partial",
      +  "rows_truncated",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "totals",
      +  "possible_duplicates",
      +  "invoice_read",
      +  "invoice_candidates",
      +  "invoice_candidate_count",
      +  "invoice_candidate_totals"
      +]
    • addedOutput schema / properties / other_workspaces_empty_invoices_unread_count
      Added value: +{
      +  "description": "Of the empty other workspaces, how many had their received invoices not read (`side_unknown` or `failed`).",
      +  "type": "number"
      +}
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / invoice_candidate_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / source
      Added value: +{
      +  "description": "`both` when the supplier's received invoices are merged into this bank row, else `bank`.",
      +  "enum": [
      +    "bank",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • changedOutput schema / properties / other_workspaces_omitted / items / required
      Previous value: -[
      -  "workspace",
      -  "subscription_count",
      -  "possible_duplicates",
      -  "possibly_ended"
      -]New value: +[
      +  "workspace",
      +  "subscription_count",
      +  "invoice_candidate_count",
      +  "possible_duplicates",
      +  "possibly_ended"
      +]
    • addedOutput schema / properties / subscriptions / items / properties / source
      Added value: +{
      +  "description": "`both` when the supplier's received invoices are merged into this bank row, else `bank`.",
      +  "enum": [
      +    "bank",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / source
      Added value: +{
      +  "description": "`both` when the supplier's received invoices are merged into this bank row, else `bank`.",
      +  "enum": [
      +    "bank",
      +    "both"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / uncategorised_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with",
      +  "source"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "payers_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "workspace_groups_omitted",
      -  "other_workspaces_omitted",
      -  "other_workspaces_empty_count",
      -  "rise_leads",
      -  "label_only_rises",
      -  "bank_rise_count",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "yearly_savings",
      -  "workspace_order",
      -  "leads",
      -  "dispute_leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "workspace_groups_omitted",
      +  "other_workspaces_omitted",
      +  "other_workspaces_empty_count",
      +  "other_workspaces_empty_invoices_unread_count",
      +  "rise_leads",
      +  "label_only_rises",
      +  "bank_rise_count",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "yearly_savings",
      +  "workspace_order",
      +  "leads",
      +  "dispute_leads",
      +  "invoice_read",
      +  "invoice_candidates",
      +  "invoice_candidate_count",
      +  "invoice_candidate_totals",
      +  "success"
      +]
  4. Changed12 schema fields changed
    • addedOutput schema / properties / all_workspaces_totals / items / properties / possibly_ended_cost_per_month
      Added value: +{
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / all_workspaces_totals / items / properties / possibly_ended_count
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / properties / all_workspaces_totals / items / required
      Previous value: -[
      -  "currency",
      -  "workspace_count",
      -  "subscription_count",
      -  "cost_per_month",
      -  "cost_per_year"
      -]New value: +[
      +  "currency",
      +  "workspace_count",
      +  "subscription_count",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "possibly_ended_count",
      +  "possibly_ended_cost_per_month"
      +]
    • addedOutput schema / properties / bank_rise_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / label_only_rises
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "changed_in_month": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "company_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "first_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "first_cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "label_means_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +      },
      +      "latest_amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "latest_cost_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "rise_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "workspace_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "company_id",
      +      "label_means_id",
      +      "name",
      +      "currency",
      +      "cadence",
      +      "first_amount",
      +      "latest_amount",
      +      "changed_in_month",
      +      "rise_per_year",
      +      "first_cost_per_year",
      +      "latest_cost_per_year"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / totals / items / properties / possibly_ended_count
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / totals / items / required
      Previous value: -[
      -  "currency",
      -  "subscription_count",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "possibly_ended_cost_per_month"
      -]New value: +[
      +  "currency",
      +  "subscription_count",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "possibly_ended_cost_per_month",
      +  "possibly_ended_count"
      +]
    • changedOutput schema / properties / rise_leads / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "currency",
      -  "cadence",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "rise_per_year",
      -  "rise_per_seat",
      -  "first_cost_per_year",
      -  "latest_cost_per_year"
      -]New value: +[
      +  "workspace_id",
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "cadence",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "rise_per_year",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "rise_per_seat"
      +]
    • addedOutput schema / properties / totals / items / properties / possibly_ended_count
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / properties / totals / items / required
      Previous value: -[
      -  "currency",
      -  "subscription_count",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "possibly_ended_cost_per_month"
      -]New value: +[
      +  "currency",
      +  "subscription_count",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "possibly_ended_cost_per_month",
      +  "possibly_ended_count"
      +]
    • addedOutput schema / properties / yearly_savings
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "currency": {
      +        "type": "string"
      +      },
      +      "double_charge_count": {
      +        "type": "number"
      +      },
      +      "duplicate_count": {
      +        "type": "number"
      +      },
      +      "duplicate_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "rise_count": {
      +        "type": "number"
      +      },
      +      "rise_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "saving_per_year": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "to_recover": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "saving_per_year",
      +      "rise_per_year",
      +      "rise_count",
      +      "duplicate_per_year",
      +      "duplicate_count",
      +      "to_recover",
      +      "double_charge_count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "payers_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "workspace_groups_omitted",
      -  "other_workspaces_omitted",
      -  "other_workspaces_empty_count",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "workspace_order",
      -  "leads",
      -  "dispute_leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "workspace_groups_omitted",
      +  "other_workspaces_omitted",
      +  "other_workspaces_empty_count",
      +  "rise_leads",
      +  "label_only_rises",
      +  "bank_rise_count",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "yearly_savings",
      +  "workspace_order",
      +  "leads",
      +  "dispute_leads",
      +  "success"
      +]
  5. Changed1 schema field changed
    • addedInput schema / properties / category
      Added value: +{
      +  "enum": [
      +    "software"
      +  ],
      +  "type": "string"
      +}
  6. Changed2 schema fields changed
    • addedOutput schema / properties / all_workspaces_totals / items / properties / cost_per_month
      Added value: +{
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / all_workspaces_totals / items / required
      Previous value: -[
      -  "currency",
      -  "workspace_count",
      -  "subscription_count",
      -  "cost_per_year"
      -]New value: +[
      +  "currency",
      +  "workspace_count",
      +  "subscription_count",
      +  "cost_per_month",
      +  "cost_per_year"
      +]
  7. Changed28 schema fields changed
    • addedOutput schema / properties / dispute_leads
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "action": {
      +        "enum": [
      +          "contest"
      +        ],
      +        "type": "string"
      +      },
      +      "amount": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "amount_charged_twice": {
      +        "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "debit_count": {
      +        "type": "number"
      +      },
      +      "lead_key": {
      +        "type": "string"
      +      },
      +      "month": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "number": {
      +        "type": "number"
      +      },
      +      "targets": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "company_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +            },
      +            "label_means_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +            },
      +            "workspace_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "workspace_name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "workspace_id",
      +            "workspace_name",
      +            "company_id",
      +            "label_means_id"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "lead_key",
      +      "action",
      +      "name",
      +      "currency",
      +      "month",
      +      "debit_count",
      +      "amount",
      +      "amount_charged_twice",
      +      "targets"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / confirmed_distinct_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / first_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / latest_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with"
      +]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / confirmed_distinct_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair"
      +]
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / first_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / latest_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / properties / rise_per_seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • changedOutput schema / properties / other_workspaces_omitted / items / properties / possibly_ended / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with"
      +]
    • addedOutput schema / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / confirmed_distinct_pair
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / required
      Previous value: -[
      -  "month",
      -  "debit_count",
      -  "amount"
      -]New value: +[
      +  "month",
      +  "debit_count",
      +  "amount",
      +  "confirmed_distinct_pair"
      +]
    • addedOutput schema / properties / rise_leads / items / properties / first_cost_per_year
      Added value: +{
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / rise_leads / items / properties / latest_cost_per_year
      Added value: +{
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / rise_leads / items / properties / rise_per_seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • changedOutput schema / properties / rise_leads / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "currency",
      -  "cadence",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "rise_per_year"
      -]New value: +[
      +  "workspace_id",
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "cadence",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year"
      +]
    • addedOutput schema / properties / subscriptions / items / properties / first_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / subscriptions / items / properties / latest_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / subscriptions / items / properties / rise_per_seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with"
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / first_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / uncategorised_recurring / items / properties / latest_cost_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • addedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +}
    • changedOutput schema / properties / uncategorised_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year",
      -  "paid_with"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "rise_per_seat",
      +  "first_cost_per_year",
      +  "latest_cost_per_year",
      +  "paid_with"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "payers_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "workspace_groups_omitted",
      -  "other_workspaces_omitted",
      -  "other_workspaces_empty_count",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "workspace_order",
      -  "leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "workspace_groups_omitted",
      +  "other_workspaces_omitted",
      +  "other_workspaces_empty_count",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "workspace_order",
      +  "leads",
      +  "dispute_leads",
      +  "success"
      +]
  8. Changed7 schema fields changed
    • changedOutput schema / properties / leads / items / properties / kept / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "company_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      -      },
      -      "label_means_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      -      },
      -      "workspace_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "workspace_id",
      -      "company_id",
      -      "label_means_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "company_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +      },
      +      "label_means_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +      },
      +      "workspace_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "workspace_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "workspace_name",
      +      "company_id",
      +      "label_means_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / workspace_name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / leads / items / properties / targets / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id",
      -  "label_means_id"
      -]New value: +[
      +  "workspace_id",
      +  "workspace_name",
      +  "company_id",
      +  "label_means_id"
      +]
    • addedOutput schema / properties / other_workspaces_empty_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / other_workspaces_omitted
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "possible_duplicates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "key": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "label": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "key",
      +                "label"
      +              ],
      +              "type": "object"
      +            },
      +            "company_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "label_means_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +            },
      +            "months_with_multiple_debits": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "amount": {
      +                    "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +                    "type": "number"
      +                  },
      +                  "debit_count": {
      +                    "type": "number"
      +                  },
      +                  "month": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "month",
      +                  "debit_count",
      +                  "amount"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "company_id",
      +            "label_means_id",
      +            "name",
      +            "currency",
      +            "months_with_multiple_debits",
      +            "category"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "possibly_ended": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount_basis": {
      +              "enum": [
      +                "latest",
      +                "mean"
      +              ],
      +              "type": "string"
      +            },
      +            "amount_pattern": {
      +              "enum": [
      +                "fixed",
      +                "changed",
      +                "varying"
      +              ],
      +              "type": "string"
      +            },
      +            "basis_amount": {
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +              "type": "number"
      +            },
      +            "cadence": {
      +              "enum": [
      +                "monthly",
      +                "bimonthly",
      +                "quarterly",
      +                "yearly"
      +              ],
      +              "type": "string"
      +            },
      +            "category": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "key": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "label": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "key",
      +                "label"
      +              ],
      +              "type": "object"
      +            },
      +            "changed_in_month": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "company_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +            },
      +            "cost_per_month": {
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +              "type": "number"
      +            },
      +            "cost_per_year": {
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +              "type": "number"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "domain": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "first_amount": {
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +              "type": "number"
      +            },
      +            "label_means_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +            },
      +            "latest_amount": {
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR.",
      +              "type": "number"
      +            },
      +            "latest_month": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "paid_with": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "account_name": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "card_connector_slug": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "card_last_four": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "card_name": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "card_workspace_connector_id": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "last_paid_on": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "last_paid_on",
      +                    "card_last_four",
      +                    "card_name",
      +                    "card_connector_slug",
      +                    "card_workspace_connector_id",
      +                    "account_name"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "possibly_ended": {
      +              "type": "boolean"
      +            },
      +            "rise_per_year": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
      +            },
      +            "state": {
      +              "enum": [
      +                "possibly_ended",
      +                "rising",
      +                "falling",
      +                "varying",
      +                "stable"
      +              ],
      +              "type": "string"
      +            },
      +            "website_link": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The supplier's site when Well holds no domain for it: the newest https website link stored on its company record. A link, not a verified domain: a browser task that uses it must first confirm the site is the supplier's. Null when the company has a domain, no link, or only a non-https link."
      +            }
      +          },
      +          "required": [
      +            "company_id",
      +            "label_means_id",
      +            "name",
      +            "domain",
      +            "currency",
      +            "cadence",
      +            "amount_pattern",
      +            "first_amount",
      +            "latest_amount",
      +            "changed_in_month",
      +            "amount_basis",
      +            "basis_amount",
      +            "cost_per_month",
      +            "cost_per_year",
      +            "latest_month",
      +            "possibly_ended",
      +            "state",
      +            "category",
      +            "website_link",
      +            "rise_per_year",
      +            "paid_with"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "subscription_count": {
      +        "type": "number"
      +      },
      +      "workspace": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "bank_names": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "is_personal": {
      +            "type": "boolean"
      +          },
      +          "own_company_name": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "workspace_id": {
      +            "type": "string"
      +          },
      +          "workspace_name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "workspace_id",
      +          "workspace_name",
      +          "own_company_name",
      +          "is_personal",
      +          "bank_names"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "workspace",
      +      "subscription_count",
      +      "possible_duplicates",
      +      "possibly_ended"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / workspace_groups_omitted
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "payers_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "workspace_order",
      -  "leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "workspace_groups_omitted",
      +  "other_workspaces_omitted",
      +  "other_workspaces_empty_count",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "workspace_order",
      +  "leads",
      +  "success"
      +]
  9. Changed8 schema fields changed
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / paid_with
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "account_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_connector_slug": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_last_four": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_workspace_connector_id": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "last_paid_on": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "last_paid_on",
      +        "card_last_four",
      +        "card_name",
      +        "card_connector_slug",
      +        "card_workspace_connector_id",
      +        "account_name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "website_link",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year",
      +  "paid_with"
      +]
    • addedOutput schema / properties / payers_truncated
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / subscriptions / items / properties / paid_with
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "account_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_connector_slug": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_last_four": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_workspace_connector_id": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "last_paid_on": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "last_paid_on",
      +        "card_last_four",
      +        "card_name",
      +        "card_connector_slug",
      +        "card_workspace_connector_id",
      +        "account_name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "paid_with"
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / paid_with
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "account_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_connector_slug": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_last_four": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "card_workspace_connector_id": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "last_paid_on": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "last_paid_on",
      +        "card_last_four",
      +        "card_name",
      +        "card_connector_slug",
      +        "card_workspace_connector_id",
      +        "account_name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / uncategorised_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "label_means_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "website_link",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year",
      +  "paid_with"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "uncategorised_recurring_monthly_total",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "workspace_order",
      -  "leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "payers_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "workspace_order",
      +  "leads",
      +  "success"
      +]
  10. Changed54 schema fields changed
    • changedOutput schema / properties / leads / items / properties / kept / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "company_id": {
      -        "type": "string"
      -      },
      -      "workspace_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "workspace_id",
      -      "company_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "company_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
      +      },
      +      "label_means_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +      },
      +      "workspace_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "company_id",
      +      "label_means_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / leads / items / properties / targets / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / leads / items / properties / targets / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / leads / items / properties / targets / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id"
      -]New value: +[
      +  "workspace_id",
      +  "company_id",
      +  "label_means_id"
      +]
    • addedOutput schema / properties / not_recurring / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / not_recurring / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / not_recurring / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / not_recurring / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / not_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "currency",
      -  "missed_rule",
      -  "months_with_debits",
      -  "amount"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "missed_rule",
      +  "months_with_debits",
      +  "amount"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "currency",
      -  "months_with_multiple_debits",
      -  "category"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "months_with_multiple_debits",
      +  "category"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / website_link
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The supplier's site when Well holds no domain for it: the newest https website link stored on its company record. A link, not a verified domain: a browser task that uses it must first confirm the site is the supplier's. Null when the company has a domain, no link, or only a non-https link."
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "website_link",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id",
      -  "name",
      -  "currency",
      -  "cost_per_year"
      -]New value: +[
      +  "workspace_id",
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "cost_per_year"
      +]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / pivots / items / properties / rows / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / pivots / items / properties / rows / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "category",
      -  "category_key",
      -  "amounts"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "category",
      +  "category_key",
      +  "amounts"
      +]
    • addedOutput schema / properties / possible_duplicates / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / possible_duplicates / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / possible_duplicates / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / possible_duplicates / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / possible_duplicates / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "currency",
      -  "months_with_multiple_debits",
      -  "category"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "months_with_multiple_debits",
      +  "category"
      +]
    • addedOutput schema / properties / rise_leads / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / rise_leads / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / rise_leads / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / rise_leads / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • changedOutput schema / properties / rise_leads / items / required
      Previous value: -[
      -  "workspace_id",
      -  "company_id",
      -  "name",
      -  "currency",
      -  "cadence",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "rise_per_year"
      -]New value: +[
      +  "workspace_id",
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "currency",
      +  "cadence",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / subscriptions / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / subscriptions / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / subscriptions / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / subscriptions / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • addedOutput schema / properties / subscriptions / items / properties / website_link
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The supplier's site when Well holds no domain for it: the newest https website link stored on its company record. A link, not a verified domain: a browser task that uses it must first confirm the site is the supplier's. Null when the company has a domain, no link, or only a non-https link."
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / company_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / uncategorised_recurring / items / properties / company_id / description
      Added value: +"The supplier's company. `null` for a label-only payee: a bank label Well tied to no company, named by `name`."
    • removedOutput schema / properties / uncategorised_recurring / items / properties / company_id / type
      Removed value: -"string"
    • addedOutput schema / properties / uncategorised_recurring / items / properties / label_means_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The label-only payee's id, set exactly when `company_id` is `null`. It names one bank label in this workspace and is never a company id."
      +}
    • addedOutput schema / properties / uncategorised_recurring / items / properties / website_link
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The supplier's site when Well holds no domain for it: the newest https website link stored on its company record. A link, not a verified domain: a browser task that uses it must first confirm the site is the supplier's. Null when the company has a domain, no link, or only a non-https link."
      +}
    • changedOutput schema / properties / uncategorised_recurring / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "state",
      -  "category",
      -  "amounts_by_month",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "label_means_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "website_link",
      +  "rise_per_year"
      +]
  11. Changed40 schema fields changed
    • addedOutput schema / properties / all_workspaces_totals / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / annual_lead_totals / items / properties / amount_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / category_trends / items / properties / series / items / properties / amounts / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / leads / items / properties / amount_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / not_recurring / items / properties / amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / basis_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / first_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / latest_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / rise_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / totals / items / properties / cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / totals / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / other_workspaces / items / properties / totals / items / properties / possibly_ended_cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / copies / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / paid_in_several_workspaces / items / properties / extra_cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / pivots / items / properties / rows / items / properties / amounts / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / possible_duplicates / items / properties / months_with_multiple_debits / items / properties / amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / rise_leads / items / properties / first_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / rise_leads / items / properties / latest_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / rise_leads / items / properties / rise_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / amounts_by_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / basis_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / first_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / latest_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / subscriptions / items / properties / rise_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / totals / items / properties / cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / totals / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / totals / items / properties / possibly_ended_cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / unattributed / items / properties / amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / amounts_by_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / basis_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / cost_per_month / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / cost_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / first_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / latest_amount / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
    • addedOutput schema / properties / uncategorised_recurring / items / properties / rise_per_year / description
      Added value: +"In the major units of the currency, never in cents: `1860` is 1,860.00 EUR, not 18.60 EUR."
  12. Changed2 schema fields changed
    • changedInput schema / properties / workspaces / description
      Previous value: -"Which workspaces the measure reads. Omit it, or pass \"this_workspace\", for this workspace alone. Pass \"all_my_workspaces\" when the person asks where they can save, what to cut, or what they pay across all their workspaces: `other_workspaces` then measures each other workspace the same signed-in person is a member of."New value: +"Which workspaces the measure reads. Omit it, or pass \"this_workspace\", for this workspace alone. Pass \"all_my_workspaces\" on every call on WhatsApp, and elsewhere when the person asks where they can save, what to cut, or what they pay across all their workspaces: `other_workspaces` then measures each other workspace the same signed-in person is a member of."
    • changedOutput schema / properties / newly_connected / description
      Previous value: -"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. Start the reply with one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."New value: +"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."
  13. Changed2 schema fields changed
    • addedOutput schema / properties / uncategorised_recurring_monthly_total
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "workspace_order",
      -  "leads",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "uncategorised_recurring_monthly_total",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "workspace_order",
      +  "leads",
      +  "success"
      +]
  14. Changed3 schema fields changed
    • addedOutput schema / properties / leads
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "action": {
      +        "enum": [
      +          "renegotiate",
      +          "cancel_extra_copies"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_per_year": {
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "kept": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "company_id": {
      +                "type": "string"
      +              },
      +              "workspace_id": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "workspace_id",
      +              "company_id"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "kind": {
      +        "enum": [
      +          "rise",
      +          "paid_in_several_workspaces"
      +        ],
      +        "type": "string"
      +      },
      +      "lead_key": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "number": {
      +        "type": "number"
      +      },
      +      "targets": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "company_id": {
      +              "type": "string"
      +            },
      +            "workspace_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "workspace_id",
      +            "company_id"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "lead_key",
      +      "kind",
      +      "action",
      +      "name",
      +      "currency",
      +      "amount_per_year",
      +      "targets",
      +      "kept"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / workspace_order
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "currency": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "workspace_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "currency",
      +    "workspace_ids"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "uncategorised_recurring",
      -  "uncategorised_recurring_count",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "workspace_order",
      +  "leads",
      +  "success"
      +]
  15. Changed8 schema fields changed
    • changedOutput schema / properties / not_recurring / items / properties / missed_rule / enum
      Previous value: -[
      -  "one_month",
      -  "too_few_months",
      -  "multiple_debits_in_month",
      -  "irregular_gaps"
      -]New value: +[
      +  "one_month",
      +  "too_few_months",
      +  "multiple_debits_in_month",
      +  "irregular_gaps",
      +  "not_subscription_category"
      +]
    • addedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / properties / state
      Added value: +{
      +  "enum": [
      +    "possibly_ended",
      +    "rising",
      +    "falling",
      +    "varying",
      +    "stable"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / other_workspaces / items / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "category",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / subscriptions / items / properties / state
      Added value: +{
      +  "enum": [
      +    "possibly_ended",
      +    "rising",
      +    "falling",
      +    "varying",
      +    "stable"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "category",
      -  "amounts_by_month",
      -  "rise_per_year"
      -]New value: +[
      +  "company_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "state",
      +  "category",
      +  "amounts_by_month",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / uncategorised_recurring
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount_basis": {
      +        "enum": [
      +          "latest",
      +          "mean"
      +        ],
      +        "type": "string"
      +      },
      +      "amount_pattern": {
      +        "enum": [
      +          "fixed",
      +          "changed",
      +          "varying"
      +        ],
      +        "type": "string"
      +      },
      +      "amounts_by_month": {
      +        "additionalProperties": {
      +          "type": "number"
      +        },
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "basis_amount": {
      +        "type": "number"
      +      },
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "category": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "key": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "label": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "key",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "changed_in_month": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "company_id": {
      +        "type": "string"
      +      },
      +      "cost_per_month": {
      +        "type": "number"
      +      },
      +      "cost_per_year": {
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "domain": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "evidence": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "debit_count": {
      +            "type": "number"
      +          },
      +          "gaps": {
      +            "items": {
      +              "type": "number"
      +            },
      +            "type": "array"
      +          },
      +          "months_with_debits": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "months_with_debits",
      +          "debit_count",
      +          "gaps"
      +        ],
      +        "type": "object"
      +      },
      +      "first_amount": {
      +        "type": "number"
      +      },
      +      "latest_amount": {
      +        "type": "number"
      +      },
      +      "latest_month": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "possibly_ended": {
      +        "type": "boolean"
      +      },
      +      "rise_per_year": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "state": {
      +        "enum": [
      +          "possibly_ended",
      +          "rising",
      +          "falling",
      +          "varying",
      +          "stable"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "company_id",
      +      "name",
      +      "domain",
      +      "currency",
      +      "cadence",
      +      "evidence",
      +      "amount_pattern",
      +      "first_amount",
      +      "latest_amount",
      +      "changed_in_month",
      +      "amount_basis",
      +      "basis_amount",
      +      "cost_per_month",
      +      "cost_per_year",
      +      "latest_month",
      +      "possibly_ended",
      +      "state",
      +      "category",
      +      "amounts_by_month",
      +      "rise_per_year"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / uncategorised_recurring_count
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "rules",
      -  "workspace",
      -  "other_workspaces_status",
      -  "other_workspaces",
      -  "other_workspaces_skipped",
      -  "rise_leads",
      -  "paid_in_several_workspaces",
      -  "annual_lead_totals",
      -  "all_workspaces_totals",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "uncategorised_recurring",
      +  "uncategorised_recurring_count",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "success"
      +]
  16. Changed12 schema fields changed
    • addedInput schema / properties / workspaces
      Added value: +{
      +  "description": "Which workspaces the measure reads. Omit it, or pass \"this_workspace\", for this workspace alone. Pass \"all_my_workspaces\" when the person asks where they can save, what to cut, or what they pay across all their workspaces: `other_workspaces` then measures each other workspace the same signed-in person is a member of.",
      +  "enum": [
      +    "this_workspace",
      +    "all_my_workspaces"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / all_workspaces_totals
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cost_per_year": {
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "subscription_count": {
      +        "type": "number"
      +      },
      +      "workspace_count": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "workspace_count",
      +      "subscription_count",
      +      "cost_per_year"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / annual_lead_totals
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount_per_year": {
      +        "type": "number"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "lead_count": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "currency",
      +      "amount_per_year",
      +      "lead_count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "partial": {
      +        "type": "boolean"
      +      },
      +      "possible_duplicates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "key": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "label": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "key",
      +                "label"
      +              ],
      +              "type": "object"
      +            },
      +            "company_id": {
      +              "type": "string"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "months_with_multiple_debits": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "amount": {
      +                    "type": "number"
      +                  },
      +                  "debit_count": {
      +                    "type": "number"
      +                  },
      +                  "month": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "month",
      +                  "debit_count",
      +                  "amount"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "company_id",
      +            "name",
      +            "currency",
      +            "months_with_multiple_debits",
      +            "category"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "rows_truncated": {
      +        "type": "boolean"
      +      },
      +      "subscription_count": {
      +        "type": "number"
      +      },
      +      "subscriptions": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount_basis": {
      +              "enum": [
      +                "latest",
      +                "mean"
      +              ],
      +              "type": "string"
      +            },
      +            "amount_pattern": {
      +              "enum": [
      +                "fixed",
      +                "changed",
      +                "varying"
      +              ],
      +              "type": "string"
      +            },
      +            "basis_amount": {
      +              "type": "number"
      +            },
      +            "cadence": {
      +              "enum": [
      +                "monthly",
      +                "bimonthly",
      +                "quarterly",
      +                "yearly"
      +              ],
      +              "type": "string"
      +            },
      +            "category": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "key": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "label": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "key",
      +                "label"
      +              ],
      +              "type": "object"
      +            },
      +            "changed_in_month": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "company_id": {
      +              "type": "string"
      +            },
      +            "cost_per_month": {
      +              "type": "number"
      +            },
      +            "cost_per_year": {
      +              "type": "number"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "domain": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "first_amount": {
      +              "type": "number"
      +            },
      +            "latest_amount": {
      +              "type": "number"
      +            },
      +            "latest_month": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "possibly_ended": {
      +              "type": "boolean"
      +            },
      +            "rise_per_year": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "company_id",
      +            "name",
      +            "domain",
      +            "currency",
      +            "cadence",
      +            "amount_pattern",
      +            "first_amount",
      +            "latest_amount",
      +            "changed_in_month",
      +            "amount_basis",
      +            "basis_amount",
      +            "cost_per_month",
      +            "cost_per_year",
      +            "latest_month",
      +            "possibly_ended",
      +            "category",
      +            "rise_per_year"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "subscriptions_truncated": {
      +        "type": "boolean"
      +      },
      +      "success": {
      +        "type": "boolean"
      +      },
      +      "totals": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "cost_per_month": {
      +              "type": "number"
      +            },
      +            "cost_per_year": {
      +              "type": "number"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "possibly_ended_cost_per_month": {
      +              "type": "number"
      +            },
      +            "subscription_count": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "currency",
      +            "subscription_count",
      +            "cost_per_month",
      +            "cost_per_year",
      +            "possibly_ended_cost_per_month"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "workspace": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "bank_names": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "is_personal": {
      +            "type": "boolean"
      +          },
      +          "own_company_name": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "workspace_id": {
      +            "type": "string"
      +          },
      +          "workspace_name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "workspace_id",
      +          "workspace_name",
      +          "own_company_name",
      +          "is_personal",
      +          "bank_names"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "workspace",
      +      "success",
      +      "partial",
      +      "rows_truncated",
      +      "subscriptions",
      +      "subscription_count",
      +      "subscriptions_truncated",
      +      "totals",
      +      "possible_duplicates"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / other_workspaces_skipped
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / other_workspaces_status
      Added value: +{
      +  "enum": [
      +    "not_requested",
      +    "read",
      +    "no_signed_in_person",
      +    "unreadable"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / paid_in_several_workspaces
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "copies": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "company_id": {
      +              "type": "string"
      +            },
      +            "cost_per_year": {
      +              "type": "number"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "workspace_id": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "workspace_id",
      +            "company_id",
      +            "name",
      +            "currency",
      +            "cost_per_year"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "currency": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "extra_cost_per_year": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "name",
      +      "copies",
      +      "extra_cost_per_year",
      +      "currency"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / rise_leads
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cadence": {
      +        "enum": [
      +          "monthly",
      +          "bimonthly",
      +          "quarterly",
      +          "yearly"
      +        ],
      +        "type": "string"
      +      },
      +      "changed_in_month": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "company_id": {
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "first_amount": {
      +        "type": "number"
      +      },
      +      "latest_amount": {
      +        "type": "number"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "rise_per_year": {
      +        "type": "number"
      +      },
      +      "workspace_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "workspace_id",
      +      "company_id",
      +      "name",
      +      "currency",
      +      "cadence",
      +      "first_amount",
      +      "latest_amount",
      +      "changed_in_month",
      +      "rise_per_year"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / subscriptions / items / properties / rise_per_year
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / subscriptions / items / required
      Previous value: -[
      -  "company_id",
      -  "name",
      -  "domain",
      -  "currency",
      -  "cadence",
      -  "evidence",
      -  "amount_pattern",
      -  "first_amount",
      -  "latest_amount",
      -  "changed_in_month",
      -  "amount_basis",
      -  "basis_amount",
      -  "cost_per_month",
      -  "cost_per_year",
      -  "latest_month",
      -  "possibly_ended",
      -  "category",
      -  "amounts_by_month"
      -]New value: +[
      +  "company_id",
      +  "name",
      +  "domain",
      +  "currency",
      +  "cadence",
      +  "evidence",
      +  "amount_pattern",
      +  "first_amount",
      +  "latest_amount",
      +  "changed_in_month",
      +  "amount_basis",
      +  "basis_amount",
      +  "cost_per_month",
      +  "cost_per_year",
      +  "latest_month",
      +  "possibly_ended",
      +  "category",
      +  "amounts_by_month",
      +  "rise_per_year"
      +]
    • addedOutput schema / properties / workspace
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "bank_names": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "is_personal": {
      +          "type": "boolean"
      +        },
      +        "own_company_name": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "workspace_id": {
      +          "type": "string"
      +        },
      +        "workspace_name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "workspace_id",
      +        "workspace_name",
      +        "own_company_name",
      +        "is_personal",
      +        "bank_names"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "window",
      -  "current_month",
      -  "display_months",
      -  "scope",
      -  "subscriptions",
      -  "subscription_count",
      -  "subscriptions_truncated",
      -  "totals",
      -  "possible_duplicates",
      -  "possible_duplicate_count",
      -  "not_recurring",
      -  "not_recurring_count",
      -  "unattributed",
      -  "category_trends",
      -  "pivots",
      -  "excluded",
      -  "partial",
      -  "rows_truncated",
      -  "rules",
      -  "success"
      -]New value: +[
      +  "window",
      +  "current_month",
      +  "display_months",
      +  "scope",
      +  "subscriptions",
      +  "subscription_count",
      +  "subscriptions_truncated",
      +  "totals",
      +  "possible_duplicates",
      +  "possible_duplicate_count",
      +  "not_recurring",
      +  "not_recurring_count",
      +  "unattributed",
      +  "category_trends",
      +  "pivots",
      +  "excluded",
      +  "partial",
      +  "rows_truncated",
      +  "rules",
      +  "workspace",
      +  "other_workspaces_status",
      +  "other_workspaces",
      +  "other_workspaces_skipped",
      +  "rise_leads",
      +  "paid_in_several_workspaces",
      +  "annual_lead_totals",
      +  "all_workspaces_totals",
      +  "success"
      +]
  17. Changed1 schema field changed
    • addedInput schema / properties / workspace_scope
      Added value: +{
      +  "description": "Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.",
      +  "enum": [
      +    "family"
      +  ],
      +  "type": "string"
      +}
  18. Changed1 schema field changed
    • addedOutput schema / properties / newly_connected
      Added value: +{
      +  "description": "Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. Start the reply with one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "type": "string"
      +      },
      +      "service_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "service_id"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  19. Added

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly, non-destructive annotations, the description discloses many operational traits: a fixed 24-month window, partial and truncation semantics, invoice-read states, excluded transfers, no balance lookup, and no card rendering from this tool. It also warns that null counts are unmeasured, not zero, and that no saving should be claimed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with purpose and immediate usage, but it then becomes extremely long and repeats output-interpretation rules in exhaustive detail. Much of that detail belongs to an output schema or policy document rather than a tool description, and the size makes the core selection signal harder to retain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-workspace measurement tool with invoice reads, partial states and rendering follow-ups, the description is highly complete. It covers edge cases, authorization behavior, workspace naming, currency handling and when to defer to a skill, even though it over-explains return-value handling that an output schema could carry.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already high at 86%, but the description adds useful meaning for category (software includes hosting, AI and sales tools, excludes rent, insurance and bank fees), scope, workspaces, workspace_id authentication behavior, and balance_by_currency. It adds less for conversation_id and does not materially elaborate workspace_scope beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb and resource: measuring the workspace's subscriptions from bank and credit card outflows, with costs and month-by-month movement. It is clear what the tool does, but it does not explicitly distinguish itself from close siblings such as well_list_subscription_rows or the other measure_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit triggering conditions, including the user asking what they pay regularly, what subscriptions cost, or how spend moved. It also names alternatives and when-not-to-use behavior, such as loading the subscription-spend skill for savings questions and passing workspaces: "all_my_workspaces" on WhatsApp.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources