{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getoneprofile-ai/json-schema/getoneprofile-ai-credit-prices-read-schema-schema.json",
  "title": "CreditPricesReadSchema",
  "description": "The published unit prices behind the plan page's usage calculator.\n\nEvery figure is read from what the charge sites bill, converted to decimal\ncredits at this boundary, so a quote can never drift from a bill. A\nwaterfall's figure is what an answered row usually costs: each row is\ncharged the price of the provider that answered it.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getoneprofile-ai-billing-api-openapi.yml#/components/schemas/CreditPricesReadSchema",
  "properties": {
    "ai_tiers": {
      "description": "The AI tiers, cheapest first.",
      "items": {
        "$ref": "#/$defs/CreditPriceAiTierReadSchema"
      },
      "title": "Ai Tiers",
      "type": "array"
    },
    "browser_use_credits_per_minute": {
      "description": "Credits per minute a Browser use step's cloud browser runs for one contact, its minutes rounded up. A run whose browser never opens never bills.",
      "title": "Browser Use Credits Per Minute",
      "type": "number"
    },
    "browser_use_max_minutes": {
      "description": "The most minutes one contact's Browser use run may last, and so be billed.",
      "title": "Browser Use Max Minutes",
      "type": "integer"
    },
    "cents_per_credit": {
      "description": "The dollar value of one credit, in cents.",
      "title": "Cents Per Credit",
      "type": "number"
    },
    "find_email_credits": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Expected credits to find one work email across the provider waterfall. Only the winning provider bills. None when this deployment has no email-finding provider registered.",
      "title": "Find Email Credits"
    },
    "find_phone_credits": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Expected credits to find one direct phone number across the provider waterfall. Only the winning provider bills. None when this deployment has no phone-finding provider registered.",
      "title": "Find Phone Credits"
    },
    "send_email_credits": {
      "description": "Credits per accepted outbound send. Failed sends never bill.",
      "title": "Send Email Credits",
      "type": "number"
    },
    "verify_email_credits": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Expected credits to verify one email address across the provider waterfall. None when no verification provider is registered.",
      "title": "Verify Email Credits"
    }
  },
  "required": [
    "cents_per_credit",
    "ai_tiers",
    "find_email_credits",
    "find_phone_credits",
    "verify_email_credits",
    "send_email_credits",
    "browser_use_credits_per_minute",
    "browser_use_max_minutes"
  ],
  "type": "object",
  "$defs": {
    "CreditPriceAiTierReadSchema": {
      "description": "One selectable AI tier and what it costs per operation.",
      "properties": {
        "ai_writing_credits": {
          "description": "The most one generated piece of copy costs: the tier's base, for ONE completion, not a whole sequence.",
          "title": "Ai Writing Credits",
          "type": "number"
        },
        "company_research_credits": {
          "description": "The most one researched record costs when the agent may browse the web: the tier's base plus its web-research add-on. A record is charged what its research used, never more.",
          "title": "Company Research Credits",
          "type": "number"
        },
        "display_name": {
          "description": "The tier's user-facing effort name, e.g. 'Medium'.",
          "title": "Display Name",
          "type": "string"
        },
        "key": {
          "description": "The model catalog key, e.g. 'core'.",
          "title": "Key",
          "type": "string"
        }
      },
      "required": [
        "key",
        "display_name",
        "company_research_credits",
        "ai_writing_credits"
      ],
      "title": "CreditPriceAiTierReadSchema",
      "type": "object"
    }
  }
}