{
  "info": {
    "name": "WhoisGenius API",
    "description": "Domain intelligence API with multi-source signal fusion. https://whoisgeni.us",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.whoisgeni.us",
      "description": "WhoisGenius API base URL"
    },
    {
      "key": "api_key",
      "value": "",
      "description": "Your WhoisGenius API key (wg_...)"
    },
    {
      "key": "bearer_token",
      "value": "",
      "description": "Cognito JWT token for auth endpoints"
    }
  ],
  "item": [
    {
      "name": "Analysis",
      "description": "Submit domains for analysis",
      "item": [
        {
          "name": "Analyze Domain",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"domain\": \"signal.org\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/analyze",
              "host": ["{{base_url}}"],
              "path": ["analyze"]
            },
            "description": "Submit a domain for multi-source analysis. Returns a job ID for polling results."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Jobs",
      "description": "Poll for analysis results",
      "item": [
        {
          "name": "Get Job Status",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/jobs/:job_id",
              "host": ["{{base_url}}"],
              "path": ["jobs", ":job_id"],
              "variable": [
                {
                  "key": "job_id",
                  "value": "",
                  "description": "Job ID returned from POST /analyze"
                }
              ]
            },
            "description": "Get the status and results of an analysis job."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Domains",
      "description": "Domain history and lookups",
      "item": [
        {
          "name": "Get Domain History",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/domains/:domain/history?limit=10",
              "host": ["{{base_url}}"],
              "path": ["domains", ":domain", "history"],
              "query": [
                {
                  "key": "limit",
                  "value": "10",
                  "description": "Maximum number of history entries to return"
                }
              ],
              "variable": [
                {
                  "key": "domain",
                  "value": "google.com",
                  "description": "Domain name to look up history for"
                }
              ]
            },
            "description": "Get the analysis history for a specific domain."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Correlation",
      "description": "Find related domains via portfolio discovery",
      "item": [
        {
          "name": "Correlate Domains",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{api_key}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"domains\": [\"google.com\", \"youtube.com\"]\n}"
            },
            "url": {
              "raw": "{{base_url}}/correlate",
              "host": ["{{base_url}}"],
              "path": ["correlate"]
            },
            "description": "Find related domains by analyzing shared infrastructure and ownership signals."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Authentication",
      "description": "User profile and API key management (requires Cognito JWT)",
      "item": [
        {
          "name": "Get Current User",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{bearer_token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/auth/me",
              "host": ["{{base_url}}"],
              "path": ["auth", "me"]
            },
            "description": "Get the current authenticated user's profile."
          },
          "response": []
        },
        {
          "name": "List API Keys",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{bearer_token}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/auth/keys",
              "host": ["{{base_url}}"],
              "path": ["auth", "keys"]
            },
            "description": "List all active API keys for the authenticated user."
          },
          "response": []
        },
        {
          "name": "Create API Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{bearer_token}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"my-key\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/auth/keys",
              "host": ["{{base_url}}"],
              "path": ["auth", "keys"]
            },
            "description": "Create a new API key. The raw_key value is shown only once."
          },
          "response": []
        }
      ]
    }
  ]
}
