{
  "info": {
    "name": "Contractor License Verification API (swanum) v0.1.0",
    "description": "Verify a US contractor's licence by number or business name across eight jurisdictions \u2014 CA, CT, FL, IL (roofing only), NYC, OR, TX, WA.\n\n**Before you start:** set the `api_key` collection variable to a key from https://swanum.com/pricing. The free tier is 250 requests a month with no card.\n\nEvery request here uses a real licence number, so importing this and pressing Send returns a record.\n\nMarketplace users: send `X-RapidAPI-Key` against the RapidAPI host instead \u2014 same paths, same responses.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "api_key",
      "value": "",
      "type": "string",
      "description": "Your swanum.com key. Free one at /pricing."
    }
  ],
  "item": [
    {
      "name": "Lookups",
      "item": [
        {
          "name": "Look up a licence by number",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/licenses/CA/1000004",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "licenses",
                "CA",
                "1000004"
              ]
            },
            "description": "The core call. Dashes and spaces in the number are ignored. A 404 means the state does not list that number; a 503 means the state did not answer, which is a different thing and never a 404."
          }
        },
        {
          "name": "Search by business name",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/licenses/TX/search?name=SMITH&limit=10&offset=0",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "licenses",
                "TX",
                "search"
              ],
              "query": [
                {
                  "key": "name",
                  "value": "SMITH",
                  "description": ""
                },
                {
                  "key": "limit",
                  "value": "10",
                  "description": ""
                },
                {
                  "key": "offset",
                  "value": "0",
                  "description": ""
                }
              ]
            },
            "description": "Partial, case-insensitive. `total` is null when the source cannot count matches \u2014 null means unknown, not zero. Page with `offset` while `has_more` is true."
          }
        },
        {
          "name": "Batch lookup (up to 25)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/licenses/batch",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "licenses",
                "batch"
              ]
            },
            "description": "One request, up to 25 licences, and it counts as one against your quota. Returns 200 even when some entries fail \u2014 check each result.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lookups\": [\n    {\n      \"state\": \"CA\",\n      \"license_number\": \"1000004\"\n    },\n    {\n      \"state\": \"TX\",\n      \"license_number\": \"103\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Monitoring",
      "item": [
        {
          "name": "Watch a licence",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/watches",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "watches"
              ]
            },
            "description": "Alerts on status changes, renewals, and 30 and 7 days before expiry. The licence is verified before the watch is created, so a typo fails now rather than a year from now. The signing secret in the response is shown once.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"state\": \"CA\",\n  \"license_number\": \"1000004\",\n  \"label\": \"Roofing sub \\u2014 Oakland job\",\n  \"notify_email\": \"you@company.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List watched licences",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/watches",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "watches"
              ]
            },
            "description": "Everything you are monitoring, with the last seen status."
          }
        },
        {
          "name": "Alert history for one watch",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/watches/wch_replace_me/events",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "watches",
                "wch_replace_me",
                "events"
              ]
            },
            "description": "What was sent, and when. Newest first."
          }
        },
        {
          "name": "Stop monitoring",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/v1/watches/wch_replace_me",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "v1",
                "watches",
                "wch_replace_me"
              ]
            },
            "description": "Removes the watch and its alert history."
          }
        }
      ]
    },
    {
      "name": "System",
      "item": [
        {
          "name": "Health",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/healthz",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "healthz"
              ]
            },
            "description": "Public and unauthenticated, and it reports the age of each state's data. `/v1/health` needs a key and cannot be used as a probe."
          }
        },
        {
          "name": "Supported states",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "https://swanum.com/states",
              "protocol": "https",
              "host": [
                "swanum",
                "com"
              ],
              "path": [
                "states"
              ]
            },
            "description": "Coverage, and what each board does and does not publish."
          }
        }
      ]
    }
  ]
}
