{
	"info": {
		"name": "Random Profiles API",
		"description": "Generate fake user profiles and companies for seed and test data. 1,000 unique profiles + 1,000 companies, 100+ fields each, across 9 countries and 16 industries.",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"auth": {
		"type": "apikey",
		"apikey": [
			{ "key": "key", "value": "X-API-Key", "type": "string" },
			{ "key": "value", "value": "{{api_key}}", "type": "string" },
			{ "key": "in", "value": "header", "type": "string" }
		]
	},
	"variable": [
		{ "key": "base_url", "value": "https://random-profiles.com" },
		{ "key": "api_key", "value": "YOUR_API_KEY" },
		{ "key": "profile_uuid", "value": "PROFILE_UUID" },
		{ "key": "company_uuid", "value": "COMPANY_UUID" }
	],
	"item": [
		{
			"name": "Authentication",
			"item": [
				{
					"name": "Request API Key (email delivery)",
					"request": {
						"auth": { "type": "noauth" },
						"method": "POST",
						"header": [{ "key": "Content-Type", "value": "application/json" }],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"email\": \"your@email.com\"\n}"
						},
						"description": "Emails the key to the address. Response does NOT contain the key.",
						"url": "{{base_url}}/v1/keys"
					}
				},
				{
					"name": "Claim API Key (instant, returned in body)",
					"request": {
						"auth": { "type": "noauth" },
						"method": "POST",
						"header": [{ "key": "Content-Type", "value": "application/json" }],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"email\": \"your@email.com\"\n}"
						},
						"description": "Returns the key in the response body (for CLIs / MCP / CI that can't read email). Still sends a receipt email. Disposable domains rejected. Rate-limited per IP.",
						"url": "{{base_url}}/v1/keys/instant"
					}
				},
				{
					"name": "Get Account Data",
					"request": {
						"method": "GET",
						"url": "{{base_url}}/v1/auth/me"
					}
				},
				{
					"name": "Delete Account (GDPR Art. 17)",
					"request": {
						"method": "DELETE",
						"url": "{{base_url}}/v1/auth/account",
						"description": "Permanently deletes every API key, request log, and active session for the signed-in email. Requires a valid session cookie. Billing invoices held by Lemon Squeezy are retained separately under Dutch tax law."
					}
				}
			]
		},
		{
			"name": "Profiles",
			"item": [
				{
					"name": "List Profiles",
					"request": {
						"method": "GET",
						"url": {
							"raw": "{{base_url}}/v1/profiles?count=5",
							"host": ["{{base_url}}"],
							"path": ["v1", "profiles"],
							"query": [
								{
									"key": "count",
									"value": "5",
									"description": "Number of profiles (1-100)"
								},
								{
									"key": "gender",
									"value": "female",
									"disabled": true,
									"description": "Filter: male, female"
								},
								{
									"key": "country",
									"value": "US,GB",
									"disabled": true,
									"description": "Include countries"
								},
								{
									"key": "exclude_country",
									"value": "US",
									"disabled": true,
									"description": "Exclude countries"
								},
								{
									"key": "min_age",
									"value": "25",
									"disabled": true,
									"description": "Minimum age"
								},
								{
									"key": "max_age",
									"value": "40",
									"disabled": true,
									"description": "Maximum age"
								},
								{
									"key": "fields",
									"value": "name,email,photo",
									"disabled": true,
									"description": "Field groups: name, email, phone, identity, bio, social, physical, job, address, financial, network, documents, vehicle, contact, digital, interests, education, photo, relationships, meta"
								},
								{
									"key": "photo_size",
									"value": "256",
									"disabled": true,
									"description": "Photo size: 64, 128, 256, 512, 1024"
								},
								{
									"key": "photo_format",
									"value": "webp",
									"disabled": true,
									"description": "Image format for photo URL: jpg (default) or webp (~30% smaller)"
								},
								{
									"key": "seed",
									"value": "42",
									"disabled": true,
									"description": "Deterministic results"
								}
							]
						}
					}
				},
				{
					"name": "Get Profile by UUID",
					"request": {
						"method": "GET",
						"url": "{{base_url}}/v1/profiles/{{profile_uuid}}"
					}
				}
			]
		},
		{
			"name": "Companies",
			"item": [
				{
					"name": "List Companies",
					"request": {
						"method": "GET",
						"url": {
							"raw": "{{base_url}}/v1/companies?count=5",
							"host": ["{{base_url}}"],
							"path": ["v1", "companies"],
							"query": [
								{
									"key": "count",
									"value": "5",
									"description": "Number of companies (1-100)"
								},
								{
									"key": "industry",
									"value": "Technology",
									"disabled": true,
									"description": "Filter by industry (Technology, Healthcare, Finance, Education, Manufacturing, Retail, Media, Consulting, Real Estate, Transportation, Energy, Telecommunications, Hospitality, Agriculture, Legal, Construction)"
								},
								{
									"key": "country",
									"value": "US,GB",
									"disabled": true,
									"description": "Include country codes"
								},
								{
									"key": "size",
									"value": "201-500,501-1000",
									"disabled": true,
									"description": "Employee-size brackets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+"
								},
								{
									"key": "fields",
									"value": "name,industry,leadership,tech",
									"disabled": true,
									"description": "Field groups: name, industry, size, location, contact, social, financial, tech, leadership, legal, operations, product, relationships, meta"
								},
								{
									"key": "seed",
									"value": "42",
									"disabled": true,
									"description": "Deterministic results"
								},
								{
									"key": "logo_size",
									"value": "256",
									"disabled": true,
									"description": "Logo size in meta.logo_url (64, 128, 256, 512, 1024 — default 1024)"
								},
								{
									"key": "logo_format",
									"value": "webp",
									"disabled": true,
									"description": "Image format for meta.logo_url: jpg (default) or webp (~30% smaller)"
								},
								{
									"key": "format",
									"value": "csv",
									"disabled": true,
									"description": "Response format: json (default) or csv"
								}
							]
						}
					}
				},
				{
					"name": "Get Company by UUID",
					"request": {
						"method": "GET",
						"url": "{{base_url}}/v1/companies/{{company_uuid}}"
					}
				}
			]
		},
		{
			"name": "Images",
			"item": [
				{
					"name": "Random Profile Photo",
					"request": {
						"method": "GET",
						"url": {
							"raw": "{{base_url}}/v1/images/random?size=512",
							"host": ["{{base_url}}"],
							"path": ["v1", "images", "random"],
							"query": [
								{
									"key": "size",
									"value": "512",
									"description": "Size: 64, 128, 256, 512, 1024"
								}
							]
						}
					}
				},
				{
					"name": "Profile Photo by UUID",
					"request": {
						"method": "GET",
						"url": {
							"raw": "{{base_url}}/v1/images/{{profile_uuid}}?size=256",
							"host": ["{{base_url}}"],
							"path": ["v1", "images", "{{profile_uuid}}"],
							"query": [{ "key": "size", "value": "256" }]
						}
					}
				}
			]
		},
		{
			"name": "Billing",
			"item": [
				{
					"name": "Get Usage",
					"request": {
						"method": "GET",
						"url": "{{base_url}}/v1/billing/usage"
					}
				}
			]
		},
		{
			"name": "Waitlist",
			"item": [
				{
					"name": "Join Waitlist",
					"request": {
						"auth": { "type": "noauth" },
						"method": "POST",
						"header": [{ "key": "Content-Type", "value": "application/json" }],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"email\": \"you@example.com\",\n  \"interest\": \"pro\",\n  \"source\": \"pricing-page\"\n}"
						},
						"description": "Capture an email for pre-launch paid-tier interest. Idempotent by email; re-posts update the interest field.",
						"url": "{{base_url}}/v1/waitlist"
					}
				},
				{
					"name": "Waitlist Count",
					"request": {
						"auth": { "type": "noauth" },
						"method": "GET",
						"url": "{{base_url}}/v1/waitlist/count"
					}
				}
			]
		},
		{
			"name": "Utility",
			"item": [
				{
					"name": "Health Check",
					"request": {
						"auth": { "type": "noauth" },
						"method": "GET",
						"url": "{{base_url}}/health"
					}
				},
				{
					"name": "OpenAPI Spec",
					"request": {
						"auth": { "type": "noauth" },
						"method": "GET",
						"url": "{{base_url}}/openapi.json"
					}
				}
			]
		}
	]
}
