{
  "info": {
    "name": "AddressIQ /v1 API",
    "description": "Address validation, geocoding, zone classification, enrichment, routing estimates and host-system connectors.\n\n**All data in the demo is synthetic.** The bundled dataset is eight made-up-coordinate Australian addresses and five seeded zones; nothing is looked up from a real provider unless the deployment sets `AIQ_LIVE=1` with provider keys. Every response that carries `dataMode` says `\"synthetic\"` or `\"live\"`. Do not treat demo results as real addresses.\n\nA public edge demo (Cloudflare Worker) serves most of these routes with the same shapes. It has no `/v1/metrics`, no `requestId`, ignores scopes and uses the public demo key. The differences are pinned by `test/parity.test.js`.\n\nThe contract test `test/openapi.test.js` calls every route below and fails if this file and the service disagree.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "http://localhost:4004"
    },
    {
      "key": "apiKey",
      "value": "aiq_demo_5f2e8c1a9b3d4e6f"
    }
  ],
  "item": [
    {
      "name": "Address",
      "item": [
        {
          "name": "Type-ahead address suggestions - Street fragment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/autocomplete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "autocomplete"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"18 Beach\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Type-ahead address suggestions - Nearest to Parramatta, two results",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/autocomplete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "autocomplete"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"St\",\n  \"limit\": 2,\n  \"proximity\": {\n    \"latitude\": -33.8136,\n    \"longitude\": 151.0034\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Type-ahead address suggestions - One character returns an empty list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/autocomplete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "autocomplete"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"x\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Type-ahead address suggestions - limit out of range",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/autocomplete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "autocomplete"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"query\": \"St\",\n  \"limit\": 11\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Validate and geocode one address (forward or reverse) - Forward geocode",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"18 Beach Rd, Bondi NSW 2026\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Validate and geocode one address (forward or reverse) - Reverse geocode (lat/lng)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8915,\n  \"longitude\": 151.2767\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Validate and geocode one address (forward or reverse) - Another AU address",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"3/56 George St, Parramatta NSW 2150\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Validate and geocode one address (forward or reverse) - Nothing matches",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"nowhere at all 99999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 404', () => pm.response.to.have.status(404));"
                ]
              }
            }
          ]
        },
        {
          "name": "Validate and geocode one address (forward or reverse) - Neither form supplied",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Capture a location with no street address (provisional) - Map pin with a descriptor",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/capture",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "capture"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8915,\n  \"longitude\": 151.2767,\n  \"descriptor\": \"Shed behind the surf club, north end\",\n  \"source\": \"pin\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Capture a location with no street address (provisional) - GPS fix with accuracy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/capture",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "capture"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8136,\n  \"longitude\": 151.0034,\n  \"accuracyMetres\": 8.5,\n  \"source\": \"gps\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Capture a location with no street address (provisional) - Latitude out of range",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/capture",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "capture"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": 95,\n  \"longitude\": 151.2767\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Capture a location with no street address (provisional) - Unknown source",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/capture",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "capture"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8915,\n  \"longitude\": 151.2767,\n  \"source\": \"satellite\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Find duplicate or similar addresses in a list - Four addresses, one duplicate group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/match",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "match"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    {\n      \"id\": \"crm-1\",\n      \"address\": \"Unit 3, 12 Smith Street, Bondi NSW 2026\"\n    },\n    {\n      \"id\": \"crm-2\",\n      \"address\": \"3/12 smith st bondi\"\n    },\n    {\n      \"id\": \"crm-3\",\n      \"address\": \"12 Smith Rd, Bondi NSW 2026\"\n    },\n    \"402 Collins St, Melbourne VIC 3000\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Find duplicate or similar addresses in a list - Two addresses, raised threshold",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/match",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "match"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"12 Smith St Bondi NSW\",\n    \"12 Smyth Street, Bondi 2026\"\n  ],\n  \"threshold\": 0.9\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Find duplicate or similar addresses in a list - Only one address",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/match",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "match"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"12 Smith St Bondi NSW\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Find duplicate or similar addresses in a list - Second row is empty",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/match",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "match"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"12 Smith St Bondi NSW\",\n    \"\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve up to 100 addresses in one call - One hit and one miss",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/bulk-resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "bulk-resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"18 Beach Rd, Bondi NSW 2026\",\n    \"nowhere at all 99999\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve up to 100 addresses in one call - Three AU addresses",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/bulk-resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "bulk-resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"18 Beach Rd, Bondi NSW 2026\",\n    \"3/56 George St, Parramatta NSW 2150\",\n    \"402 Collins St, Melbourne VIC 3000\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve up to 100 addresses in one call - Empty list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/bulk-resolve",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "bulk-resolve"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve an address and attach zone, LGA, flood, zoning, electorate and statistical-area attributes - Bondi house",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/enrich",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "enrich"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"18 Beach Rd, Bondi NSW 2026\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve an address and attach zone, LGA, flood, zoning, electorate and statistical-area attributes - Parramatta unit",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/enrich",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "enrich"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"3/56 George St, Parramatta NSW 2150\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve an address and attach zone, LGA, flood, zoning, electorate and statistical-area attributes - Neither address nor addressId",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/enrich",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "enrich"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Resolve an address and attach zone, LGA, flood, zoning, electorate and statistical-area attributes - Nothing matches",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/address/enrich",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "address",
                "enrich"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"address\": \"nowhere at all 99999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 404', () => pm.response.to.have.status(404));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Zones",
      "item": [
        {
          "name": "Which zones contain this point - Bondi, single winner",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/zones/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "zones",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8915,\n  \"longitude\": 151.2767\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Which zones contain this point - Bondi, all matching zones",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/zones/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "zones",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8915,\n  \"longitude\": 151.2767,\n  \"mode\": \"multi-tag\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Which zones contain this point - Open ocean: no zones",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/zones/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "zones",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": 0,\n  \"longitude\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Which zones contain this point - longitude missing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/zones/classify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "zones",
                "classify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"latitude\": -33.8\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Route",
      "item": [
        {
          "name": "Distance and drive time between two points - Bondi to Parramatta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/distance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "distance"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": {\n    \"latitude\": -33.8915,\n    \"longitude\": 151.2767\n  },\n  \"destination\": {\n    \"latitude\": -33.8136,\n    \"longitude\": 151.0034\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Distance and drive time between two points - Reverse direction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/distance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "distance"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": {\n    \"latitude\": -33.8136,\n    \"longitude\": 151.0034\n  },\n  \"destination\": {\n    \"latitude\": -33.8915,\n    \"longitude\": 151.2767\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Distance and drive time between two points - destination missing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/distance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "distance"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": {\n    \"latitude\": -33.8915,\n    \"longitude\": 151.2767\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Directions between two points - Bondi to Parramatta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/directions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "directions"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": {\n    \"latitude\": -33.8915,\n    \"longitude\": 151.2767\n  },\n  \"destination\": {\n    \"latitude\": -33.8136,\n    \"longitude\": 151.0034\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Directions between two points - destination missing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/directions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "directions"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origin\": {\n    \"latitude\": -33.8915,\n    \"longitude\": 151.2767\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Distance matrix, up to 10 x 10 - One origin, two destinations",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/matrix",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "matrix"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origins\": [\n    {\n      \"latitude\": -33.8915,\n      \"longitude\": 151.2767\n    }\n  ],\n  \"destinations\": [\n    {\n      \"latitude\": -33.8136,\n      \"longitude\": 151.0034\n    },\n    {\n      \"latitude\": -33.8915,\n      \"longitude\": 151.2767\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Distance matrix, up to 10 x 10 - 2 x 2",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/matrix",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "matrix"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origins\": [\n    {\n      \"latitude\": -33.8915,\n      \"longitude\": 151.2767\n    },\n    {\n      \"latitude\": -33.8136,\n      \"longitude\": 151.0034\n    }\n  ],\n  \"destinations\": [\n    {\n      \"latitude\": -33.8136,\n      \"longitude\": 151.0034\n    },\n    {\n      \"latitude\": -33.8915,\n      \"longitude\": 151.2767\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Distance matrix, up to 10 x 10 - Empty origins",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/route/matrix",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "route",
                "matrix"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"origins\": [],\n  \"destinations\": [\n    {\n      \"latitude\": -33.8915,\n      \"longitude\": 151.2767\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Connect",
      "item": [
        {
          "name": "Host systems and their field maps",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/connect/systems",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "connect",
                "systems"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify host-system records and get write-back fields plus zone - Salesforce compound address, one verified and one free-text miss",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/connect/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "connect",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"system\": \"salesforce\",\n  \"records\": [\n    {\n      \"id\": \"001A\",\n      \"Street\": \"18 Beach Rd\",\n      \"City\": \"Bondi\",\n      \"State\": \"NSW\",\n      \"PostalCode\": \"2026\",\n      \"Country\": \"AU\"\n    },\n    {\n      \"id\": \"001B\",\n      \"address\": \"nowhere at all 99999\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify host-system records and get write-back fields plus zone - ServiceNow location",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/connect/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "connect",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"system\": \"servicenow\",\n  \"records\": [\n    {\n      \"id\": \"loc1\",\n      \"street\": \"3/56 George St\",\n      \"city\": \"Parramatta\",\n      \"state\": \"NSW\",\n      \"zip\": \"2150\",\n      \"country\": \"AU\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify host-system records and get write-back fields plus zone - Unknown system",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/connect/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "connect",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"system\": \"nope\",\n  \"records\": [\n    {}\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 404', () => pm.response.to.have.status(404));"
                ]
              }
            }
          ]
        },
        {
          "name": "Verify host-system records and get write-back fields plus zone - No records",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/connect/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "connect",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"system\": \"salesforce\",\n  \"records\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Operations",
      "item": [
        {
          "name": "Liveness: the process answers (no database call)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "health"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Readiness probe: 503 while draining or when the database or schema is missing",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/ready",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "ready"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Per-operation counts, errors and latency percentiles for your tenant",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/metrics",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "metrics"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "This key: client, tenant, scopes, plan and quota",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/whoami",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "whoami"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Bulk",
      "item": [
        {
          "name": "Start an async bulk job (up to 50,000 rows) - Two good rows, one miss, one empty row",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"18 Beach Rd, Bondi NSW 2026\",\n    \"3/56 George St, Parramatta NSW 2150\",\n    \"nowhere at all 99999\",\n    \"\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 202', () => pm.response.to.have.status(202));"
                ]
              }
            }
          ]
        },
        {
          "name": "Start an async bulk job (up to 50,000 rows) - Rows with your own id and a country hint",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    {\n      \"address\": \"18 Beach Rd, Bondi NSW 2026\",\n      \"id\": \"crm-1001\",\n      \"countryCode\": \"AU\"\n    },\n    \"3/56 George St, Parramatta NSW 2150\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 202', () => pm.response.to.have.status(202));"
                ]
              }
            }
          ]
        },
        {
          "name": "Start an async bulk job (up to 50,000 rows) - No rows",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": []\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Job status and counts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs/{id}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs",
                "{id}"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Every input row with its result or reason, in input order",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs/{id}/results",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs",
                "{id}",
                "results"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Unresolved and bad rows with their reason",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs/{id}/exceptions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs",
                "{id}",
                "exceptions"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Cancel a queued or running job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              },
              {
                "key": "x-api-key",
                "value": "{{apiKey}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/bulk/jobs/{id}/cancel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "bulk",
                "jobs",
                "{id}",
                "cancel"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Signup",
      "item": [
        {
          "name": "Self-serve signup: email a verification token (creates nothing usable yet) - New account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/signup",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "signup"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"owner@example-company.com.au\",\n  \"companyName\": \"Example Company Pty Ltd\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 202', () => pm.response.to.have.status(202));"
                ]
              }
            }
          ]
        },
        {
          "name": "Self-serve signup: email a verification token (creates nothing usable yet) - Disposable domain (400)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/signup",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "signup"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"someone@mailinator.com\",\n  \"companyName\": \"Temp Co\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        },
        {
          "name": "Check a signup token without using it",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/signup/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "signup",
                "verify"
              ]
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 200', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Use a signup token: creates the sandbox tenant and its first API key - Unknown or expired token (400)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "content-type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/v1/signup/verify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "v1",
                "signup",
                "verify"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"token\": \"00000000-0000-4000-8000-000000000000.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status is 400', () => pm.response.to.have.status(400));"
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}
