{
  "openapi": "3.1.0",
  "info": {
    "title": "Deep Almanac: Australian credit cards",
    "version": "1.0.0",
    "description": "Covers the banks, credit unions and other card issuers on the Consumer Data Right register that publish credit cards, every rate and fee as the issuer's own feed states it, plus issuers that are not on the register (American Express, Zip's Zip Plus line of credit and Wizit's Wizitcard): their cards are read by hand from their own pages and Key Facts Sheets, each figure quoted from the sentence it came from and re-read daily (source_kind document). Latitude and other non-bank issuers are not here. Not every offer an issuer advertises is in its feed, and rewards points are not valued: the feeds name the programme, not what a point is worth. kind low_rate ranks every credit card by its ongoing purchase rate, lowest first; no_annual_fee ranks the cards whose feed states a $0 annual (or monthly) card fee, by purchase rate; balance_transfer ranks the cards with a promotional balance transfer offer by the length of the offer, then its rate, fee and the rate it reverts to; rewards ranks the cards with a rewards programme by annual fee, lowest first, then purchase rate, because the feeds do not say what a point is worth. One entry per bank per slice. A card's annual_fee is the yearly figure: a monthly card fee is published as stated and multiplied by twelve.",
    "license": {
      "name": "Deep Almanac's own work CC BY 4.0; source data under its own terms, listed in licences in each index.json",
      "url": "https://deepalmanac.com/terms#data-licences"
    }
  },
  "servers": [
    {
      "url": "https://deepalmanac.com"
    }
  ],
  "paths": {
    "/au/finance/credit-cards/v1/index.json": {
      "get": {
        "summary": "Dataset index",
        "responses": {
          "200": {
            "description": "Index",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "The dataset's index: timestamps, files, and how to answer questions",
                  "properties": {
                    "dataset": {
                      "type": "string",
                      "description": "Dataset name."
                    },
                    "page": {
                      "type": "string",
                      "description": "Human-readable page for the dataset.",
                      "format": "uri"
                    },
                    "start_here": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "The small file that answers most questions here: answer_file (a URL template), inputs (how to fill it), example (a filled-in URL) and sometimes also (the next file for a common variant).",
                      "properties": {
                        "answer_file": {
                          "type": "string",
                          "description": "URL template of the answer file."
                        },
                        "inputs": {
                          "type": "string",
                          "description": "What each placeholder takes."
                        },
                        "example": {
                          "type": "string",
                          "description": "A filled-in answer file URL.",
                          "format": "uri"
                        },
                        "also": {
                          "type": "string",
                          "description": "Another file for a common variant of the question."
                        },
                        "lookup": {
                          "type": "string",
                          "description": "Where present: a /v1/lookup URL that takes the reader's own numbers, applies the bucket rules and redirects to the answer file.",
                          "format": "uri"
                        },
                        "compare": {
                          "type": "string",
                          "description": "Where present: a /v1/compare URL that ranks every rate at the reader's exact amount and answers with JSON directly.",
                          "format": "uri"
                        }
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "description": "When this index was written, UTC, YYYY-MM-DDTHH:MM:SSZ.",
                      "format": "date-time",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                    },
                    "fetched_at": {
                      "type": "string",
                      "description": "When the source was last fetched, UTC, YYYY-MM-DDTHH:MM:SSZ.",
                      "format": "date-time",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                    },
                    "data_as_of": {
                      "type": "string",
                      "description": "How current the data is: a date (YYYY-MM-DD) or a UTC timestamp (YYYY-MM-DDTHH:MM:SSZ); data_as_of_basis says what it means here.",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$"
                    },
                    "data_as_of_basis": {
                      "type": "string",
                      "description": "One sentence saying what data_as_of means for this dataset."
                    },
                    "source": {
                      "type": "string",
                      "description": "Data source statement."
                    },
                    "licence_note": {
                      "type": "string",
                      "description": "Terms of reuse and the not-advice note."
                    },
                    "licences": {
                      "type": "array",
                      "description": "What may be reused and on what terms, layer by layer: each layer's source, the fields it covers, its licence and the attribution it asks for. The last layer is Deep Almanac's own work (CC BY 4.0), covering every field no other layer names. Reusing a field means meeting the terms of the layer that covers it.",
                      "items": {
                        "type": "object",
                        "required": [
                          "layer",
                          "covers",
                          "licence",
                          "licence_url",
                          "attribution"
                        ],
                        "properties": {
                          "layer": {
                            "type": "string",
                            "description": "The source."
                          },
                          "covers": {
                            "type": "string",
                            "description": "The fields it covers."
                          },
                          "licence": {
                            "type": "string",
                            "description": "Its licence, or why there is none."
                          },
                          "licence_url": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "uri",
                            "description": "The licence's own page, where it has one."
                          },
                          "attribution": {
                            "type": "string",
                            "description": "The credit the layer asks for."
                          }
                        }
                      }
                    },
                    "questions": {
                      "type": "string",
                      "description": "This dataset's questions.json: what to ask the reader first and which file answers each.",
                      "format": "uri"
                    },
                    "openapi": {
                      "type": "string",
                      "description": "This dataset's OpenAPI document.",
                      "format": "uri"
                    },
                    "status": {
                      "type": "string",
                      "description": "https://deepalmanac.com/status.json: when every dataset was last fetched and when it counts as overdue.",
                      "format": "uri"
                    },
                    "llms": {
                      "type": "string",
                      "description": "https://deepalmanac.com/llms.txt: the site's guide for language models.",
                      "format": "uri"
                    },
                    "files": {
                      "type": "array",
                      "description": "Every top-level file this dataset publishes, as absolute URLs.",
                      "items": {
                        "type": "string",
                        "format": "uri"
                      }
                    },
                    "file_guide": {
                      "type": "array",
                      "description": "What each of those files holds, in the same order.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "file": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "dataset",
                    "page",
                    "start_here",
                    "generated_at",
                    "fetched_at",
                    "data_as_of",
                    "data_as_of_basis",
                    "source",
                    "licence_note",
                    "licences",
                    "questions",
                    "openapi",
                    "status",
                    "llms",
                    "files"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/questions.json": {
      "get": {
        "summary": "What to ask the reader, and which file answers",
        "responses": {
          "200": {
            "description": "Question guide",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "note",
                    "questions",
                    "commentary",
                    "commentary_note",
                    "what_it_cannot_answer_yet",
                    "context_this_dataset_does_not_hold",
                    "not_advice"
                  ],
                  "properties": {
                    "note": {
                      "type": "string"
                    },
                    "questions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "question": {
                            "type": "string"
                          },
                          "also_asked_as": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "has_no_single_answer": {
                            "type": "boolean",
                            "description": "True when the inputs below change the answer."
                          },
                          "ask_the_reader_first": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "input": {
                                  "type": "string"
                                },
                                "why": {
                                  "type": "string"
                                },
                                "how_much_it_moves_the_answer": {
                                  "type": "string",
                                  "description": "Computed from today's data."
                                }
                              }
                            }
                          },
                          "then_read": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Label to URL or URL template; fill {placeholders} from the inputs."
                          },
                          "say_as_well": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "commentary": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "topic": {
                            "type": "string"
                          },
                          "what_you_will_see": {
                            "type": "string"
                          },
                          "why_it_is_correct": {
                            "type": "string"
                          },
                          "what_it_actually_means": {
                            "type": "string"
                          },
                          "say_this_as_well": {
                            "type": "string"
                          },
                          "do_not": {
                            "type": "string"
                          },
                          "check_it_yourself": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "commentary_note": {
                      "type": "string"
                    },
                    "what_it_cannot_answer_yet": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "question": {
                            "type": "string"
                          },
                          "why": {
                            "type": "string"
                          },
                          "where_to_send_the_reader": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "context_this_dataset_does_not_hold": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "not_advice": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/best.json": {
      "get": {
        "summary": "Every ranking slice in one file",
        "responses": {
          "200": {
            "description": "Rankings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rankings": {
                      "type": "object",
                      "description": "rankings[segment][kind] = entries"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/best/{segment}/{kind}.json": {
      "get": {
        "summary": "One ranking slice, every bank",
        "parameters": [
          {
            "name": "segment",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "personal",
                "business"
              ]
            }
          },
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "low_rate",
                "no_annual_fee",
                "balance_transfer",
                "rewards"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Slice",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "segment": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "ranked_by": {
                      "type": "string"
                    },
                    "generated_at": {
                      "type": "string"
                    },
                    "entries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand": {
                            "type": "string"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "legal_entity_abn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "product_slug": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fees_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tier": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "segments": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "segment": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "low_rate",
                              "no_annual_fee",
                              "balance_transfer",
                              "rewards"
                            ]
                          },
                          "rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "The purchase rate, repeated for the shared checks."
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "interest_free_balance_threshold": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A line of credit that charges no interest when the month-end balance is at or under this (Zip Plus)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "annual_fee_note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fee_offers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "foreign_transaction_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "late_payment_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "additional_cardholder_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "balance_transfer": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "promo_rate_pct": {
                                "type": "number"
                              },
                              "promo_months": {
                                "type": "integer"
                              },
                              "fee_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ],
                                "description": "The balance transfer fee as a percentage of the amount transferred, when the feed's text states it."
                              },
                              "revert_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "revert_to": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "cash_advance",
                                  "purchase",
                                  "balance_transfer",
                                  null
                                ]
                              },
                              "for_new_cards": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "for_existing_customers": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "ongoing_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "offers": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                },
                                "description": "Every offer the feed states; the best (longest, then lowest) is the one above."
                              }
                            }
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_programs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "cashback_offer": {
                            "type": [
                              "number",
                              "string",
                              "null"
                            ]
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "digital_wallets": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "instalment_plan": {
                            "type": "boolean"
                          },
                          "additional_cards": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_age": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "source_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_snapshot": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of our verbatim snapshot of the CDR detail response; null for a document-sourced card."
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document_links_source": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "For each document link found by hand rather than read from the feed (terms_url, fees_url, eligibility_url, key_facts_sheet_url): when it was checked and what it is."
                          },
                          "form": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "virtual_card",
                              null
                            ],
                            "description": "virtual_card: a line of credit with a virtual Visa number in the issuer's app rather than a physical scheme card (Zip Plus)."
                          },
                          "document_date": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date",
                            "description": "A document-sourced card's Key Facts Sheet 'correct as at' date."
                          },
                          "checked": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A document-sourced card's latest re-read: status per quoted sentence and when."
                          },
                          "correction": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A hand-checked correction applied to this feed record (corrections.json): the date, the note, the fields changed and the quoted sentences, with today's re-read status."
                          }
                        }
                      }
                    },
                    "entries_all": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand": {
                            "type": "string"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "legal_entity_abn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "product_slug": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fees_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tier": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "segments": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "segment": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "low_rate",
                              "no_annual_fee",
                              "balance_transfer",
                              "rewards"
                            ]
                          },
                          "rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "The purchase rate, repeated for the shared checks."
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "interest_free_balance_threshold": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A line of credit that charges no interest when the month-end balance is at or under this (Zip Plus)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "annual_fee_note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fee_offers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "foreign_transaction_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "late_payment_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "additional_cardholder_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "balance_transfer": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "promo_rate_pct": {
                                "type": "number"
                              },
                              "promo_months": {
                                "type": "integer"
                              },
                              "fee_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ],
                                "description": "The balance transfer fee as a percentage of the amount transferred, when the feed's text states it."
                              },
                              "revert_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "revert_to": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "cash_advance",
                                  "purchase",
                                  "balance_transfer",
                                  null
                                ]
                              },
                              "for_new_cards": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "for_existing_customers": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "ongoing_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "offers": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                },
                                "description": "Every offer the feed states; the best (longest, then lowest) is the one above."
                              }
                            }
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_programs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "cashback_offer": {
                            "type": [
                              "number",
                              "string",
                              "null"
                            ]
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "digital_wallets": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "instalment_plan": {
                            "type": "boolean"
                          },
                          "additional_cards": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_age": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "source_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_snapshot": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of our verbatim snapshot of the CDR detail response; null for a document-sourced card."
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document_links_source": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "For each document link found by hand rather than read from the feed (terms_url, fees_url, eligibility_url, key_facts_sheet_url): when it was checked and what it is."
                          },
                          "form": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "virtual_card",
                              null
                            ],
                            "description": "virtual_card: a line of credit with a virtual Visa number in the issuer's app rather than a physical scheme card (Zip Plus)."
                          },
                          "document_date": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date",
                            "description": "A document-sourced card's Key Facts Sheet 'correct as at' date."
                          },
                          "checked": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A document-sourced card's latest re-read: status per quoted sentence and when."
                          },
                          "correction": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A hand-checked correction applied to this feed record (corrections.json): the date, the note, the fields changed and the quoted sentences, with today's re-read status."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/cards/{segment}/{kind}.json": {
      "get": {
        "summary": "Every qualifying card for one slice, not one per bank",
        "parameters": [
          {
            "name": "segment",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "personal",
                "business"
              ]
            }
          },
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "low_rate",
                "no_annual_fee",
                "balance_transfer",
                "rewards"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cards",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "segment": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "ranked_by": {
                      "type": "string"
                    },
                    "card_count": {
                      "type": "integer"
                    },
                    "cards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand": {
                            "type": "string"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "legal_entity_abn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "product_slug": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fees_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tier": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "segments": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "segment": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "low_rate",
                              "no_annual_fee",
                              "balance_transfer",
                              "rewards"
                            ]
                          },
                          "rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "The purchase rate, repeated for the shared checks."
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "interest_free_balance_threshold": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A line of credit that charges no interest when the month-end balance is at or under this (Zip Plus)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "annual_fee_note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fee_offers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "foreign_transaction_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "late_payment_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "additional_cardholder_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "balance_transfer": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "promo_rate_pct": {
                                "type": "number"
                              },
                              "promo_months": {
                                "type": "integer"
                              },
                              "fee_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ],
                                "description": "The balance transfer fee as a percentage of the amount transferred, when the feed's text states it."
                              },
                              "revert_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "revert_to": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "cash_advance",
                                  "purchase",
                                  "balance_transfer",
                                  null
                                ]
                              },
                              "for_new_cards": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "for_existing_customers": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "ongoing_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "offers": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                },
                                "description": "Every offer the feed states; the best (longest, then lowest) is the one above."
                              }
                            }
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_programs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "cashback_offer": {
                            "type": [
                              "number",
                              "string",
                              "null"
                            ]
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "digital_wallets": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "instalment_plan": {
                            "type": "boolean"
                          },
                          "additional_cards": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_age": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "source_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_snapshot": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of our verbatim snapshot of the CDR detail response; null for a document-sourced card."
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document_links_source": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "For each document link found by hand rather than read from the feed (terms_url, fees_url, eligibility_url, key_facts_sheet_url): when it was checked and what it is."
                          },
                          "form": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "virtual_card",
                              null
                            ],
                            "description": "virtual_card: a line of credit with a virtual Visa number in the issuer's app rather than a physical scheme card (Zip Plus)."
                          },
                          "document_date": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date",
                            "description": "A document-sourced card's Key Facts Sheet 'correct as at' date."
                          },
                          "checked": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A document-sourced card's latest re-read: status per quoted sentence and when."
                          },
                          "correction": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A hand-checked correction applied to this feed record (corrections.json): the date, the note, the fields changed and the quoted sentences, with today's re-read status."
                          }
                        }
                      }
                    },
                    "cards_hidden": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand": {
                            "type": "string"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "legal_entity_abn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "product_slug": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fees_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tier": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "segments": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "segment": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "low_rate",
                              "no_annual_fee",
                              "balance_transfer",
                              "rewards"
                            ]
                          },
                          "rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "The purchase rate, repeated for the shared checks."
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "interest_free_balance_threshold": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A line of credit that charges no interest when the month-end balance is at or under this (Zip Plus)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "annual_fee_note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fee_offers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "foreign_transaction_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "late_payment_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "additional_cardholder_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "balance_transfer": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "promo_rate_pct": {
                                "type": "number"
                              },
                              "promo_months": {
                                "type": "integer"
                              },
                              "fee_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ],
                                "description": "The balance transfer fee as a percentage of the amount transferred, when the feed's text states it."
                              },
                              "revert_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "revert_to": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "cash_advance",
                                  "purchase",
                                  "balance_transfer",
                                  null
                                ]
                              },
                              "for_new_cards": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "for_existing_customers": {
                                "type": [
                                  "boolean",
                                  "null"
                                ]
                              },
                              "ongoing_rate_pct": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "offers": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                },
                                "description": "Every offer the feed states; the best (longest, then lowest) is the one above."
                              }
                            }
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_programs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "cashback_offer": {
                            "type": [
                              "number",
                              "string",
                              "null"
                            ]
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "digital_wallets": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "instalment_plan": {
                            "type": "boolean"
                          },
                          "additional_cards": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_age": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "source_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_snapshot": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of our verbatim snapshot of the CDR detail response; null for a document-sourced card."
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document_links_source": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "For each document link found by hand rather than read from the feed (terms_url, fees_url, eligibility_url, key_facts_sheet_url): when it was checked and what it is."
                          },
                          "form": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "virtual_card",
                              null
                            ],
                            "description": "virtual_card: a line of credit with a virtual Visa number in the issuer's app rather than a physical scheme card (Zip Plus)."
                          },
                          "document_date": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date",
                            "description": "A document-sourced card's Key Facts Sheet 'correct as at' date."
                          },
                          "checked": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A document-sourced card's latest re-read: status per quoted sentence and when."
                          },
                          "correction": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A hand-checked correction applied to this feed record (corrections.json): the date, the note, the fields changed and the quoted sentences, with today's re-read status."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/top/{segment}/{kind}.json": {
      "get": {
        "summary": "One ranking slice, top 10, compact",
        "parameters": [
          {
            "name": "segment",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "personal",
                "business"
              ]
            }
          },
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "low_rate",
                "no_annual_fee",
                "balance_transfer",
                "rewards"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Top 10",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "segment": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "ranked_by": {
                      "type": "string"
                    },
                    "generated_at": {
                      "type": "string"
                    },
                    "data_as_of": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": "string"
                    },
                    "full_ranking": {
                      "type": "string"
                    },
                    "banks_ranked": {
                      "type": "integer"
                    },
                    "top": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "description": "A ranked card cut to what it takes to quote it.",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          }
                        },
                        "required": [
                          "rank",
                          "brand_label",
                          "brand_slug",
                          "product_label",
                          "page",
                          "card_type",
                          "scheme",
                          "purchase_rate_pct",
                          "purchase_rate_range_pct",
                          "no_interest_card",
                          "cash_advance_rate_pct",
                          "intro_purchase_rate_pct",
                          "intro_purchase_months",
                          "interest_free_days",
                          "annual_fee",
                          "fee_period",
                          "fee_as_stated",
                          "annual_fee_stated",
                          "first_year_fee_waived",
                          "foreign_transaction_fee_pct",
                          "bt_promo_rate_pct",
                          "bt_promo_months",
                          "bt_fee_pct",
                          "bt_revert_rate_pct",
                          "rewards_program",
                          "rewards_program_fee",
                          "bonus_offer",
                          "insurances",
                          "min_credit_limit",
                          "max_credit_limit",
                          "min_income",
                          "conditions",
                          "restrictions",
                          "source_kind",
                          "record_stale",
                          "product_url",
                          "terms_url",
                          "key_facts_sheet_url",
                          "bank_last_updated",
                          "from_issuer_page"
                        ]
                      }
                    },
                    "top_all": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object",
                        "description": "A ranked card cut to what it takes to quote it.",
                        "properties": {
                          "rank": {
                            "type": "integer"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          }
                        },
                        "required": [
                          "rank",
                          "brand_label",
                          "brand_slug",
                          "product_label",
                          "page",
                          "card_type",
                          "scheme",
                          "purchase_rate_pct",
                          "purchase_rate_range_pct",
                          "no_interest_card",
                          "cash_advance_rate_pct",
                          "intro_purchase_rate_pct",
                          "intro_purchase_months",
                          "interest_free_days",
                          "annual_fee",
                          "fee_period",
                          "fee_as_stated",
                          "annual_fee_stated",
                          "first_year_fee_waived",
                          "foreign_transaction_fee_pct",
                          "bt_promo_rate_pct",
                          "bt_promo_months",
                          "bt_fee_pct",
                          "bt_revert_rate_pct",
                          "rewards_program",
                          "rewards_program_fee",
                          "bonus_offer",
                          "insurances",
                          "min_credit_limit",
                          "max_credit_limit",
                          "min_income",
                          "conditions",
                          "restrictions",
                          "source_kind",
                          "record_stale",
                          "product_url",
                          "terms_url",
                          "key_facts_sheet_url",
                          "bank_last_updated",
                          "from_issuer_page"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/rates.json": {
      "get": {
        "summary": "Every card, ranked or not",
        "responses": {
          "200": {
            "description": "Rows",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rows": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "description": "One card, ranked or not; source_kind says whether it came from a feed or a document.",
                        "properties": {
                          "brand": {
                            "type": "string"
                          },
                          "brand_label": {
                            "type": "string"
                          },
                          "brand_slug": {
                            "type": "string"
                          },
                          "legal_entity_abn": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          },
                          "product_label": {
                            "type": "string"
                          },
                          "product_slug": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "page": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of the card's own page; null for debit cards."
                          },
                          "product_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "terms_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fees_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "card_type": {
                            "type": "string",
                            "enum": [
                              "credit",
                              "charge",
                              "corporate",
                              "debit",
                              "other"
                            ]
                          },
                          "scheme": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "tier": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "segments": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "segment": {
                            "type": "string"
                          },
                          "rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "The purchase rate, repeated for the shared checks."
                          },
                          "purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "purchase_rate_range_pct": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "items": {
                              "type": "number"
                            },
                            "description": "[low, high] when the bank prices the card by credit assessment."
                          },
                          "no_interest_card": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "True when the card charges no purchase interest and a card fee instead (CommBank Neo)."
                          },
                          "cash_advance_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "intro_purchase_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "interest_free_days": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "null when the source states none; 0 when the source says there is no interest-free period (Zip Plus, Wizitcard)."
                          },
                          "interest_free_balance_threshold": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A line of credit that charges no interest when the month-end balance is at or under this (Zip Plus)."
                          },
                          "annual_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Yearly; a monthly card fee times twelve. null when the feed states no amount."
                          },
                          "fee_period": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "annual",
                              "monthly",
                              null
                            ]
                          },
                          "fee_as_stated": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "annual_fee_stated": {
                            "type": "boolean"
                          },
                          "annual_fee_note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fee_offers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "first_year_fee_waived": {
                            "type": "boolean"
                          },
                          "foreign_transaction_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "foreign_transaction_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "cash_advance_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "late_payment_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "additional_cardholder_fee": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_promo_months": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "bt_fee_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bt_revert_rate_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "rewards_program": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The first points or cashback programme the feed names; merchant offer schemes (ShopBack lounges, Extras) do not count."
                          },
                          "rewards_programs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "rewards_program_fee": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "A yearly fee the feed names for the rewards programme itself; the rewards ranking adds it to annual_fee."
                          },
                          "bonus_offer": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "A sign-up points or bonus offer in the bank's words."
                          },
                          "cashback_offer": {
                            "type": [
                              "number",
                              "string",
                              "null"
                            ]
                          },
                          "insurances": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "digital_wallets": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "instalment_plan": {
                            "type": "boolean"
                          },
                          "additional_cards": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "min_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "max_credit_limit": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_income": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "min_age": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "restrictions": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "age_limited",
                                "closed_to_new",
                                "companion_card",
                                "existing_customers",
                                "limited_eligibility",
                                "occupation_membership",
                                "organisation_only",
                                "pensioner",
                                "region_limited",
                                "secured",
                                "staff",
                                "student"
                              ]
                            }
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "source_kind": {
                            "type": "string",
                            "enum": [
                              "document",
                              "feed"
                            ],
                            "description": "feed: from the issuer's CDR product feed; document: read by hand from its card page and Key Facts Sheet, quoted and re-read daily."
                          },
                          "record_stale": {
                            "type": "boolean"
                          },
                          "source_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_snapshot": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Site-relative path of our verbatim snapshot of the CDR detail response; null for a document-sourced card."
                          },
                          "bank_last_updated": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time",
                            "description": "bank_last_updated is when the bank last touched its CDR record (for an issuer with no feed, when its quoted sentences were last re-read and found). It says nothing of when a figure in from_issuer_page was last seen on the issuer's page; document_date is a document-sourced card's Key Facts Sheet date."
                          },
                          "from_issuer_page": {
                            "type": [
                              "array",
                              "null"
                            ],
                            "description": "from_issuer_page lists the figures that are not the bank's CDR feed's own, each with the one sentence on the issuer's page that states the figure the entry is ranked on (url and quote): source correction (corrections.json changed the feed's figures), confirmation (the feed's figures seen on the page, which clears record_stale), watched_term (terms-watch.json added a restriction, limited a fee waiver or ended an offer) or issuer_document (an issuer with no feed, every figure read from its page). null when every figure is the feed's own. from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age.",
                            "items": {
                              "type": "object",
                              "required": [
                                "source",
                                "fields",
                                "confirmed",
                                "url",
                                "quote"
                              ],
                              "properties": {
                                "source": {
                                  "type": "string",
                                  "enum": [
                                    "correction",
                                    "confirmation",
                                    "watched_term",
                                    "issuer_document"
                                  ]
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "The entry's fields this source set or confirmed."
                                },
                                "confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "from_issuer_page[].confirmed is the last day the quoted sentence was found on the issuer's page, by the daily re-read or the hand check that added it; it is null, with last_confirmed, when the sentence has not been re-confirmed within its maximum age."
                                },
                                "last_confirmed": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "format": "date",
                                  "description": "Present when confirmed is null: the last day the source was confirmed, too long ago to rely on."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The issuer's page, with a fragment pointing at the sentence where the re-read found one."
                                },
                                "quote": {
                                  "type": "string",
                                  "description": "The issuer's sentence, exactly as published."
                                }
                              }
                            }
                          },
                          "key_facts_sheet_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document_links_source": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "For each document link found by hand rather than read from the feed (terms_url, fees_url, eligibility_url, key_facts_sheet_url): when it was checked and what it is."
                          },
                          "form": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "virtual_card",
                              null
                            ],
                            "description": "virtual_card: a line of credit with a virtual Visa number in the issuer's app rather than a physical scheme card (Zip Plus)."
                          },
                          "document_date": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date",
                            "description": "A document-sourced card's Key Facts Sheet 'correct as at' date."
                          },
                          "checked": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A document-sourced card's latest re-read: status per quoted sentence and when."
                          },
                          "correction": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "description": "A hand-checked correction applied to this feed record (corrections.json): the date, the note, the fields changed and the quoted sentences, with today's re-read status."
                          },
                          "bt_revert_to": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "ranked": {
                            "type": "boolean"
                          },
                          "unranked_reason": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/au/finance/credit-cards/v1/brands/{brand_slug}.json": {
      "get": {
        "summary": "One bank: at_a_glance, its cards and rows",
        "parameters": [
          {
            "name": "brand_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bank",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}
