calculate_payout_timeline output

CompanySnapchatMonetizationCalculatorRules

Properties

Name Type Description
tool object
api_version object
notice object
generated_at object
sources array
data_freshness object
warnings array Plain strings. Omitted when empty.
credited_date object
amount_usd numbernull
tax_info_verified booleannull
meets_minimum booleannull True when amount_usd meets the cash-out minimum. False when it does not. Null when amount_usd was omitted.
shortfall_usd numbernull How far amount_usd is under the cash-out minimum. 0 when the minimum is met. Null when amount_usd was omitted.
cash_out_minimum_usd number The cash-out minimum copied from the rules database.
steps array
facts array
recommendations array
caveats array
estimate_disclaimer object
View JSON Schema on GitHub

JSON Schema

howtomakemoneyonsnapchat-com-calculate-payout-timeline-output-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://howtomakemoneyonsnapchat.com/schemas/v1/calculate_payout_timeline.output.schema.json",
  "title": "calculate_payout_timeline output",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/howtomakemoneyonsnapchat-com-openapi.json#/components/schemas/calculate_payout_timeline.output.schema",
  "type": "object",
  "additionalProperties": false,
  "allOf": [
    {
      "$ref": "#/$defs/Envelope"
    }
  ],
  "required": [
    "tool",
    "api_version",
    "notice",
    "generated_at",
    "sources",
    "data_freshness",
    "credited_date",
    "amount_usd",
    "tax_info_verified",
    "meets_minimum",
    "shortfall_usd",
    "cash_out_minimum_usd",
    "steps",
    "facts",
    "recommendations",
    "caveats",
    "estimate_disclaimer"
  ],
  "properties": {
    "tool": {
      "const": "calculate_payout_timeline"
    },
    "api_version": {
      "const": "v1"
    },
    "notice": {
      "$ref": "#/$defs/Notice"
    },
    "generated_at": {
      "$ref": "#/$defs/DateTime"
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Source"
      }
    },
    "data_freshness": {
      "$ref": "#/$defs/DataFreshness"
    },
    "warnings": {
      "description": "Plain strings. Omitted when empty.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "credited_date": {
      "$ref": "#/$defs/Date"
    },
    "amount_usd": {
      "type": [
        "number",
        "null"
      ]
    },
    "tax_info_verified": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "meets_minimum": {
      "description": "True when amount_usd meets the cash-out minimum. False when it does not. Null when amount_usd was omitted.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "shortfall_usd": {
      "description": "How far amount_usd is under the cash-out minimum. 0 when the minimum is met. Null when amount_usd was omitted.",
      "type": [
        "number",
        "null"
      ],
      "minimum": 0
    },
    "cash_out_minimum_usd": {
      "description": "The cash-out minimum copied from the rules database.",
      "type": "number",
      "minimum": 0
    },
    "steps": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "order",
          "id",
          "label",
          "title",
          "summary",
          "rule_id",
          "rule_version",
          "source_url",
          "verified_at",
          "earliest_date",
          "latest_date",
          "range",
          "timing",
          "formula",
          "duration_earliest_days",
          "duration_latest_days",
          "related_rule_ids"
        ],
        "properties": {
          "order": {
            "type": "integer",
            "minimum": 1
          },
          "id": {
            "type": "string",
            "enum": [
              "credited",
              "available",
              "cash_out",
              "tax_verification",
              "payout_portal"
            ]
          },
          "label": {
            "type": "string",
            "enum": [
              "FACT",
              "CALCULATION",
              "RECOMMENDATION"
            ]
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "rule_id": {
            "$ref": "#/$defs/RuleId"
          },
          "rule_version": {
            "type": "integer",
            "minimum": 1
          },
          "source_url": {
            "type": "string",
            "format": "uri"
          },
          "verified_at": {
            "$ref": "#/$defs/Date"
          },
          "earliest_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "latest_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "range": {
            "description": "True when the source gives a range, or when a latest date is not published.",
            "type": "boolean"
          },
          "timing": {
            "type": "string",
            "enum": [
              "dated",
              "conditional",
              "not_dated"
            ]
          },
          "formula": {
            "type": [
              "string",
              "null"
            ]
          },
          "duration_earliest_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "duration_latest_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "related_rule_ids": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RuleId"
            }
          }
        }
      }
    },
    "facts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RuleFact"
      }
    },
    "recommendations": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "label",
          "text",
          "linked_rule_ids",
          "assumptions"
        ],
        "properties": {
          "label": {
            "const": "RECOMMENDATION"
          },
          "text": {
            "type": "string",
            "maxLength": 300
          },
          "linked_rule_ids": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/$defs/RuleId"
            }
          },
          "assumptions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "caveats": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "estimate_disclaimer": {
      "const": "Snap may change this timing. This timeline is an estimate, not a promise."
    }
  },
  "$defs": {
    "DataFreshness": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "rules_db_version",
        "generated_at",
        "oldest_verified_at",
        "newest_verified_at",
        "stale_rule_ids",
        "policy"
      ],
      "properties": {
        "rules_db_version": {
          "description": "Monotonic version of the published rules set. Pattern YYYY-MM-DD.n",
          "type": "string",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}\\.[0-9]+$"
        },
        "generated_at": {
          "$ref": "#/$defs/DateTime"
        },
        "oldest_verified_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "newest_verified_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "oldest_last_checked_at": {
          "description": "Earliest last_checked_at among rules in this response. Omitted when none of those rules have an unchanged-source check. Does not replace oldest_verified_at.",
          "type": "string",
          "format": "date-time"
        },
        "newest_last_checked_at": {
          "description": "Latest last_checked_at among rules in this response. Omitted when none of those rules have an unchanged-source check. Does not replace newest_verified_at.",
          "type": "string",
          "format": "date-time"
        },
        "stale_rule_ids": {
          "description": "Rules in this response whose later of verified_at and last_checked_at is older than the staleness window stated in `policy`. A missing last_checked_at does not count.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/RuleId"
          }
        },
        "policy": {
          "type": "string",
          "description": "Human-readable freshness policy, e.g. 'Sources are re-checked daily; a rule is listed as stale when the later of verified_at and last_checked_at is more than 7 days before the response date.'"
        }
      }
    },
    "Date": {
      "type": "string",
      "format": "date"
    },
    "DateTime": {
      "type": "string",
      "format": "date-time"
    },
    "EffectiveDateNote": {
      "description": "Present when effective_date is null because Snap did not publish a date. effective_date stays null.",
      "const": "not published by Snap"
    },
    "Envelope": {
      "description": "Fields present in every successful tool output.",
      "type": "object",
      "required": [
        "tool",
        "api_version",
        "notice",
        "generated_at",
        "sources",
        "data_freshness"
      ],
      "properties": {
        "tool": {
          "type": "string"
        },
        "api_version": {
          "const": "v1"
        },
        "notice": {
          "$ref": "#/$defs/Notice"
        },
        "generated_at": {
          "$ref": "#/$defs/DateTime"
        },
        "sources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Source"
          }
        },
        "data_freshness": {
          "$ref": "#/$defs/DataFreshness"
        },
        "warnings": {
          "description": "Plain strings. Omitted when empty. Calculation tools add a string when followers is 0 and view_time_hours_28d or spotlight_view_time_hours_28d is above 0, and when view_time_hours_28d exceeds 28 days × 24 hours × followers × 0.5. Those warnings say the figure is unusually high for your follower count, please check for a typo, and that view time can come from non-followers. They are never an error. FACT GET aliases append ignored query parameter notices to this same array. Spotlight hours above total view hours are HTTP 400 VALUE_INCONSISTENT rather than a warning.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "IsoCountry": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "snap_name",
        "alpha2",
        "alpha3",
        "numeric"
      ],
      "properties": {
        "snap_name": {
          "type": "string"
        },
        "alpha2": {
          "type": "string"
        },
        "alpha3": {
          "type": "string"
        },
        "numeric": {
          "type": "string"
        }
      }
    },
    "Notice": {
      "description": "Non-affiliation notice included in every response.",
      "type": "string",
      "const": "HowToMakeMoneyOnSnapchat.com is an independent third party and is not affiliated with, endorsed by, or sponsored by Snap Inc. Snapchat is a trademark of Snap Inc."
    },
    "ProgramSlug": {
      "description": "Program identifier. Validated at runtime against programs present in the rules database; unknown values return UNKNOWN_PROGRAM. Examples: unified_monetization_program, snap_star, creator_subscriptions, brand_partnerships, payouts, tax, recommendation_eligibility, creator_monetization_policy, public_profile, lens_creator_rewards.",
      "type": "string",
      "pattern": "^[a-z0-9_]{2,64}$"
    },
    "RuleFact": {
      "description": "FACT: a rule record as stored in the versioned rules database (approved records only).",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "label",
        "rule_id",
        "version",
        "program",
        "claim",
        "value",
        "unit",
        "status",
        "source_url",
        "publisher",
        "verified_at",
        "effective_date",
        "requires_user_confirmation",
        "applies_to",
        "requirement_phase",
        "mvp_scope",
        "notes"
      ],
      "properties": {
        "label": {
          "const": "FACT"
        },
        "rule_id": {
          "$ref": "#/$defs/RuleId"
        },
        "version": {
          "type": "integer",
          "minimum": 1
        },
        "program": {
          "$ref": "#/$defs/ProgramSlug"
        },
        "claim": {
          "type": "string"
        },
        "value": {
          "anyOf": [
            {
              "type": [
                "number",
                "string",
                "boolean",
                "null"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "unit": {
          "type": "string"
        },
        "metric": {
          "type": [
            "string",
            "null"
          ]
        },
        "operator": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "gte",
            "gt",
            "lte",
            "lt",
            "eq",
            "in",
            "is_true",
            null
          ]
        },
        "window_days": {
          "type": [
            "integer",
            "null"
          ]
        },
        "rule_type": {
          "description": "Role of the rule, copied from the rules database. Omitted by older clients. Used to group answer pages.",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "eligibility_threshold",
            "eligibility_condition",
            "ongoing_condition",
            "payout_term",
            "tax_term",
            "content_policy",
            "program_fact",
            "program_status",
            "supplementary_note",
            null
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "current",
            "historical",
            "unverified"
          ]
        },
        "source_url": {
          "type": "string",
          "format": "uri"
        },
        "publisher": {
          "type": "string"
        },
        "verified_at": {
          "$ref": "#/$defs/Date"
        },
        "last_checked_at": {
          "description": "ISO-8601 timestamp of the latest automated check that found this rule's official source text unchanged. Omitted when no such check is recorded. Does not replace verified_at and is not a rule value.",
          "type": "string",
          "format": "date-time"
        },
        "effective_date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "effective_date_note": {
          "$ref": "#/$defs/EffectiveDateNote"
        },
        "changed_after": {
          "description": "Inclusive start of an observed change window when the source does not state a single effective_date. Null when unknown. Additive.",
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "changed_before": {
          "description": "Inclusive end of an observed change window when the source does not state a single effective_date. Null when unknown. Additive.",
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "date_note": {
          "description": "How changed_after and changed_before were established. Null when there is no window note. Not a substitute for source_url.",
          "type": [
            "string",
            "null"
          ]
        },
        "iso_countries": {
          "description": "ISO 3166-1 codes for each name in a country list, from the reviewed country map. Omitted unless this fact is a country list.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/IsoCountry"
          }
        },
        "requires_user_confirmation": {
          "type": "boolean"
        },
        "supersedes": {
          "type": [
            "string",
            "null"
          ]
        },
        "applies_to": {
          "type": "string",
          "enum": [
            "entry",
            "enrolled_creators",
            "all",
            "not_applicable"
          ]
        },
        "requirement_phase": {
          "type": "string",
          "enum": [
            "entry",
            "ongoing",
            "entry_and_ongoing",
            "not_applicable"
          ]
        },
        "mvp_scope": {
          "type": "string",
          "enum": [
            "in_scope",
            "out_of_scope"
          ]
        },
        "related_rule_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "type": "string"
        }
      }
    },
    "RuleId": {
      "type": "string",
      "pattern": "^[a-z0-9_]+(\\.[a-z0-9_]+)+$",
      "maxLength": 120
    },
    "Source": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "url",
        "publisher",
        "verified_at",
        "supports_rule_ids"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "publisher": {
          "type": "string"
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "verified_at": {
          "$ref": "#/$defs/Date"
        },
        "last_checked_at": {
          "description": "ISO-8601 timestamp of the latest automated check that found this source's official text unchanged. Omitted when no such check is recorded. Does not replace verified_at.",
          "type": "string",
          "format": "date-time"
        },
        "supports_rule_ids": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RuleId"
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/howtomakemoneyonsnapchat-com-calculate-payout-timeline-output-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.