{
  "info": {
    "name": "Polymorphism Open Graph preview API",
    "description": "Reads any URL's Open Graph and Twitter card tags, fetches and measures the image, and returns a checklist of what is wrong. Every response is HTTP 200 — branch on the `ok` field, never on the status code. Free, no key, CORS-enabled. Reference: https://www.poly.io/social-card-preview/api/",
    "version": "1.7.0",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.poly.io", "type": "string" },
    { "key": "url", "value": "https://example.com", "type": "string",
      "description": "The page to check. Change this one and every request below follows." }
  ],
  "item": [
    {
      "name": "Preview a URL",
      "request": {
        "method": "GET",
        "description": "The whole API. Answers 200 with `ok: true` and a card, or 200 with `ok: false` and a `code`.",
        "header": [
          { "key": "x-og-contact", "value": "", "disabled": true,
            "description": "An email or URL identifying you. Raises the daily allowance to 2,000 with no key and no signup." }
        ],
        "url": {
          "raw": "{{baseUrl}}/og?url={{url}}",
          "host": [ "{{baseUrl}}" ],
          "path": [ "og" ],
          "query": [
            { "key": "url", "value": "{{url}}",
              "disabled": false,
              "description": "The page to inspect, http or https. URL-encode it. Required unless site is given. Repeat it, up to 5 times, to check several pages in one request: the answer is then a batch, with one result per url in the order asked." },
            { "key": "site", "value": "",
              "disabled": true,
              "description": "An origin instead of url. Reads the sitemap, clusters URLs by shape and returns a plan of one representative page per template. With a path (example.com/blog/), or /* for the whole site, the plan is the sitemap's pages under it, and under.urls lists up to 1,000 of them." },
            { "key": "cap", "value": "",
              "disabled": true,
              "description": "With site, the longest plan to return. Clamped 1–100, default 40." },
            { "key": "ua", "value": "",
              "disabled": true,
              "description": "Fetch as a named platform crawler: facebook, x, linkedin, slack, discord or browser. Defaults to our own crawler." },
            { "key": "fresh", "value": "",
              "disabled": true,
              "description": "Set to 1 to bypass the five-minute cache. For the deploy-check-fix-recheck loop, where the re-check otherwise lands inside the window and reports the state before your fix. Costs a quota unit like any request." },
            { "key": "contact", "value": "",
              "disabled": true,
              "description": "An email or URL identifying you; raises the daily allowance. The x-og-contact header is preferred." },
            { "key": "key", "value": "",
              "disabled": true,
              "description": "An API key. The x-og-key header is preferred — a key in a query string ends up in logs and Referer headers." }
          ]
        }
      }
    },
    {
      "name": "Check your allowance",
      "request": {
        "method": "GET",
        "description": "How much of today's allowance is left. Checking does not spend any of it.",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/og/quota",
          "host": [ "{{baseUrl}}" ],
          "path": [ "og", "quota" ]
        }
      }
    }
  ]
}
