{"openapi":"3.1.0","info":{"title":"Identification API","version":"1.0.0","description":"Programmatic access to your visitor data and pixel management. Authenticate with your API key (X-API-Key header)."},"servers":[{"url":"https://api.aws53.cloud","description":"Production"}],"paths":{"/v1/data/company":{"get":{"operationId":"lookupCompanyByIp","tags":["Visitors"],"x-docs-group":"Visitors","x-docs-order":205,"summary":"Look up a company by IP address","description":"Returns stored company information for one IPv4 or IPv6 address. Requires an active X-API-Key and an eligible organization. IPv6 spelling is normalized and IPv4-mapped IPv6 uses its IPv4 equivalent. No visit, pixel, organization or person data is returned. Results are provider-reported stored mappings, not proof of IP ownership, and may be stale. Missing or non-company results return data: null and consume zero units; no new enrichment request is started. Every company-returning request, including repeat requests for the same IP, consumes one unit of a separate organization-wide company-lookup allowance equal to the effective identification-plan limit. Other products do not consume this allowance. All organization API keys share it; it resets when the existing organization billing allowance resets. Once exhausted, further lookups are refused. Requests are limited to 60 per minute per client IP. Responses must not be cached or prefetched because successful lookups consume allowance. Rate-limit headers describe request pacing, while meta describes the company allowance.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","maxLength":64,"description":"One IPv4 or IPv6 address, without a URL, port, CIDR or IPv6 zone identifier.","example":"192.0.2.10"},"required":true,"description":"One IPv4 or IPv6 address, without a URL, port, CIDR or IPv6 zone identifier.","name":"ip","in":"query","example":"192.0.2.10"}],"responses":{"200":{"description":"Stored company result and the separate company-lookup allowance.","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}},"Cache-Control":{"description":"Always no-store: company-returning requests consume allowance.","schema":{"type":"string","enum":["no-store"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":["object","null"],"properties":{"ip":{"type":"string","description":"Normalized IP address that was looked up."},"businessCategory":{"type":"string","description":"Provider audience classification; empty when unavailable."},"businessSegment":{"type":"string","description":"Provider audience segment; empty when unavailable."},"dataCompleteness":{"type":"string","description":"Provider detail classification, not a computed completeness score; empty when unavailable."},"isInternetProvider":{"type":["boolean","null"],"description":"Whether the provider identifies the result as an ISP; null when unknown."},"name":{"type":"string","description":"Company name; can be empty if only a company identifier was supplied."},"website":{"type":"string","description":"Company website or domain; empty when unavailable."},"tradeName":{"type":"string","description":"Company marketing name, not necessarily a registered trade name; empty when unavailable."},"industry":{"type":"string","description":"Company industry; empty when unavailable."},"subIndustry":{"type":"string","description":"Company sub-industry; empty when unavailable."},"linkedinUrl":{"type":["string","null"],"description":"Company LinkedIn profile URL, or null when unavailable."},"employeeCount":{"type":["integer","null"],"minimum":0,"maximum":9007199254740991,"description":"Provider-reported employee count, or null when unavailable."},"annualSales":{"type":["integer","null"],"minimum":0,"maximum":9007199254740991,"description":"Provider-reported annual sales amount, or null when unavailable; currency is not supplied by the source."},"revenueRange":{"type":"string","description":"Provider revenue range; empty when unavailable."},"primaryNaics":{"type":"string","description":"Primary NAICS code, retained as text; empty when unavailable."},"primarySic":{"type":"string","description":"Primary SIC code, retained as text; empty when unavailable."},"city":{"type":"string","description":"Company city; empty when unavailable."},"state":{"type":"string","description":"Company state or region; empty when unavailable."},"postalCode":{"type":"string","description":"Company postal code; empty when unavailable."},"countryCode":{"type":"string","description":"Company country code; empty when unavailable."},"countryName":{"type":"string","description":"Company country name; empty when unavailable."}},"required":["ip","businessCategory","businessSegment","dataCompleteness","isInternetProvider","name","website","tradeName","industry","subIndustry","linkedinUrl","employeeCount","annualSales","revenueRange","primaryNaics","primarySic","city","state","postalCode","countryCode","countryName"],"description":"Company details, or null when no successful company identity is stored. A null result does not prove that the IP is not used by a company."},"meta":{"type":"object","properties":{"credits_consumed":{"type":"integer","minimum":0,"maximum":1,"description":"Company-lookup units consumed by this request: one for a company, otherwise zero."},"limit":{"type":"integer","minimum":0,"description":"Organization company-lookup allowance for the current billing period."},"used":{"type":"integer","minimum":0,"description":"Company-lookup units used in this period, including this request."},"remaining":{"type":"integer","minimum":0,"description":"Company-lookup units remaining after this request."}},"required":["credits_consumed","limit","used","remaining"]}},"required":["data","meta"]},"examples":{"company":{"value":{"data":{"ip":"192.0.2.10","businessCategory":"Enterprise Business","businessSegment":"Software & Technology","dataCompleteness":"Detailed","isInternetProvider":false,"name":"Example Software","website":"example.test","tradeName":"Example","industry":"Software","subIndustry":"","linkedinUrl":null,"employeeCount":100,"annualSales":null,"revenueRange":"","primaryNaics":"","primarySic":"","city":"","state":"","postalCode":"","countryCode":"US","countryName":"United States"},"meta":{"credits_consumed":1,"limit":5000,"used":1,"remaining":4999}}},"noCompany":{"value":{"data":null,"meta":{"credits_consumed":0,"limit":5000,"used":0,"remaining":5000}}}}}}},"400":{"description":"Invalid IP address.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string"},"request_id":{"type":"string"}},"required":["timestamp","request_id"]}},"required":["error"]},"example":{"error":{"code":"HTTP_ERROR","message":"Expected one IPv4 or IPv6 address"}}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string"},"request_id":{"type":"string"}},"required":["timestamp","request_id"]}},"required":["error"]},"example":{"error":{"code":"HTTP_ERROR","message":"Missing X-API-Key header"}}}}},"403":{"description":"Revoked key or ineligible organization.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string"},"request_id":{"type":"string"}},"required":["timestamp","request_id"]}},"required":["error"]},"example":{"error":{"code":"HTTP_ERROR","message":"Organization is not eligible for company lookups"}}}}},"429":{"description":"Request rate limit or company allowance exhausted. Retry-After is supplied for request-rate limits; allowance exhaustion requires a billing reset or a limit increase.","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string"},"request_id":{"type":"string"}},"required":["timestamp","request_id"]}},"required":["error"]},"example":{"error":{"code":"HTTP_ERROR","message":"Company lookup allowance exhausted for the current billing period"}}}}},"503":{"description":"Company lookup or allowance storage unavailable; no company response is delivered.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string"},"request_id":{"type":"string"}},"required":["timestamp","request_id"]}},"required":["error"]},"example":{"error":{"code":"HTTP_ERROR","message":"Company lookup temporarily unavailable"}}}}}}}},"/v1/data":{"get":{"tags":["Visitors"],"x-docs-group":"Visitors","x-docs-order":200,"summary":"Query visitor data via API key","description":"Returns resolved identified-person data for the organization owning the `X-API-Key`. Without `email`, the operation returns 50 people per one-based page, newest activity first; with `email`, it returns that person plus a session journey and summary. Identity aliases are represented as one person. `timeframe` supports `today`, `24h`, `3d`, `7d`, `14d`, `30d`, `mtd`, `90d`, `ytd`, and `all`; reads also return a frozen `asOf` and historical-coverage metadata. `domain` and `pixelId` are alternative scope mechanisms and cannot be combined. The read is rate-limited per API key; use the response rate-limit headers for pacing. Recent events and enrichment changes may appear after a short processing delay.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","format":"email","description":"Exact primary or known alias email. When present, the response is a single visitor journey rather than a list.","example":"alex@example.test"},"required":false,"description":"Exact primary or known alias email. When present, the response is a single visitor journey rather than a list.","name":"email","in":"query","example":"alex@example.test"},{"schema":{"type":"integer","minimum":1,"default":1,"description":"One-based page number for visitor-list mode. Each page contains up to 50 rows.","example":1},"required":false,"description":"One-based page number for visitor-list mode. Each page contains up to 50 rows.","name":"page","in":"query","example":1},{"schema":{"type":"string","enum":["24h","7d","14d","30d","90d","all","today","3d","mtd","ytd"],"default":"30d","description":"Activity window: `today`, `24h`, `3d`, `7d`, `14d`, `30d`, `mtd`, `90d`, `ytd`, or `all`.","example":"30d"},"required":false,"description":"Activity window: `today`, `24h`, `3d`, `7d`, `14d`, `30d`, `mtd`, `90d`, `ytd`, or `all`.","name":"timeframe","in":"query","example":"30d"},{"schema":{"type":"string","description":"Restrict visitor-list results to a tracked website domain. Mutually exclusive with `pixelId`.","example":"example.test"},"required":false,"description":"Restrict visitor-list results to a tracked website domain. Mutually exclusive with `pixelId`.","name":"domain","in":"query","example":"example.test"},{"schema":{"type":"string","format":"uuid","description":"Restrict results to one pixel owned by the API-key organization. An inaccessible or deleted pixel returns 403.","example":"00000000-0000-4000-8000-000000000001"},"required":false,"description":"Restrict results to one pixel owned by the API-key organization. An inaccessible or deleted pixel returns 403.","name":"pixelId","in":"query","example":"00000000-0000-4000-8000-000000000001"}],"responses":{"200":{"description":"Visitor list or a single visitor journey","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataApiVisitor"}},"meta":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"hasMore":{"type":"boolean"},"asOf":{"type":"string","format":"date-time","description":"Frozen traversal time for extended analytics. Relative window boundaries stay fixed across pages."},"pixelId":{"type":["string","null"],"format":"uuid","description":"Pixel scope applied to this read, when one was requested"},"coverage":{"$ref":"#/components/schemas/DataApiCoverage"}},"required":["page","limit","total","totalPages","hasMore"]}},"required":["data","meta"]},{"type":"object","properties":{"visitor":{"$ref":"#/components/schemas/DataApiVisitor"},"summary":{"type":"object","properties":{"totalSessions":{"type":"number"},"totalPageviews":{"type":"number"},"firstSeen":{"type":"string","format":"date-time"},"lastSeen":{"type":"string","format":"date-time"},"daysActive":{"type":"integer"},"intentScore":{"type":"string","enum":["high","medium","low"]}},"required":["totalSessions","totalPageviews","firstSeen","lastSeen","daysActive","intentScore"]},"sessions":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"meta":{"type":"object","properties":{"window":{"type":"string","enum":["24h","7d","14d","30d","90d","all","today","3d","mtd","ytd"],"default":"30d","description":"Resolved window for the journey read"},"asOf":{"type":"string","format":"date-time"},"pixelId":{"type":["string","null"],"format":"uuid"},"coverage":{"$ref":"#/components/schemas/DataApiCoverage"}},"description":"Extended analytics metadata: resolved window, frozen traversal time, pixel scope, and historical coverage."}},"required":["visitor","summary","sessions"]}]},"examples":{"populated":{"value":{"data":[{"email":"visitor@example.test","emailHash":"b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822","emailHashes":{"sha256":"b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822","sha1":"e5f6d0c61a56c87aa2e870e8ffd7ce552cd88366","md5":"b6321d878decf6402a73283b5f41c0e6"},"emails":["visitor@example.test"],"businessEmails":["visitor@example.test"],"personalEmails":[],"phones":[],"phonesDnc":null,"firstName":null,"lastName":null,"middleName":null,"fullName":null,"emailDomain":"example.test","allEmails":["visitor@example.test"],"primaryPhone":null,"allPhones":null,"phonesDNC":null,"ageRange":null,"gender":null,"hasChildren":null,"isHomeowner":null,"isMarried":null,"personalAddress":null,"personalZip":null,"city":null,"state":null,"country":null,"countryCode":null,"personalTimezone":null,"companyName":null,"companyDomain":null,"companyLinkedinUrl":null,"companyAddress":null,"companyCity":null,"companyState":null,"companyCountry":null,"companyZipCode":null,"companyEmployeeCount":null,"companyTotalRevenue":null,"companySizeRange":null,"companyRevenueRange":null,"jobTitle":null,"headline":null,"seniority":null,"seniorityLevel2":null,"seniorityLevelRaw":null,"department":null,"department2":null,"departmentRaw":null,"industry":null,"linkedinUrl":null,"photoUrl":null,"linkedinUrn":null,"skillsSummary":null,"photoB2Url":null,"companyLogoB2Url":null,"company":null,"companyZip":null,"companySize":null,"companySizeCategory":null,"companyRevenue":null,"companyIndustry":null,"seniorityRaw":null,"sessions":1,"pageviews":1,"pricingPageViews":0,"demoPageViews":0,"checkoutPageViews":0,"enrichmentLevel":"email_only","enrichmentScore":0,"intentScore":"low","firstSeenAt":"2026-01-01T00:00:00Z","lastSeenAt":"2026-01-01T00:00:00Z","firstSeen":"2026-01-01T00:00:00Z","lastSeen":"2026-01-01T00:00:00Z","daysSinceVisit":0,"landingPage":"https://www.example.test/","visitedPages":["https://www.example.test/"],"referrer":null,"referrerDomain":null,"utmSource":null,"utmMedium":null,"utmCampaign":null,"utmTerm":null,"utmContent":null,"gclid":null,"fbclid":null,"googleGbraid":null,"googleWbraid":null,"googleGadSource":null,"googleCampaignId":null,"bingClickId":null,"linkedinClickId":null,"klaviyoTrackingId":null,"hubspotAccountId":null,"hubspotCampaignId":null,"hubspotNetwork":null,"msclkid":null,"liFatId":null,"gbraid":null,"wbraid":null,"channel":null,"pixels":["11111111-1111-4111-8111-111111111111"],"pixelId":"11111111-1111-4111-8111-111111111111","pixelDetails":[{"id":"11111111-1111-4111-8111-111111111111","name":"Example Pixel","domain":"www.example.test"}],"domains":["www.example.test"],"customAttribution":null}],"meta":{"page":1,"limit":50,"total":1,"totalPages":1,"hasMore":false}}},"empty":{"value":{"data":[],"meta":{"page":1,"limit":50,"total":0,"totalPages":0,"hasMore":false}}}},"example":{"data":[],"meta":{"page":1,"limit":50,"total":0,"totalPages":0,"hasMore":false}}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHENTICATION_ERROR","message":"Authentication required"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"403":{"description":"API key revoked, organization inactive, or pixelId is not accessible","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHORIZATION_ERROR","message":"Insufficient permissions"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"429":{"description":"Rate limit exceeded","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Too many requests, please try again later"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"503":{"description":"Service unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"HTTP_ERROR","message":"Service unavailable"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}}},"operationId":"queryVisitorDataViaApiKey"}},"/v1/data/visitors/{visitorId}/sessions":{"get":{"tags":["Visitors"],"x-docs-group":"Visitors","x-docs-order":210,"summary":"List privacy-bounded session summaries","description":"Returns deterministic, cursor-paginated session summaries without detailed events, page sequences, full URLs, query strings, or fragments. `visitorId` is the lowercase SHA-256 value returned as `emailHash` by the visitor list and qualification endpoints. The signed cursor is bound to the API-key organization, visitor, timeframe, optional pixel scope, and frozen `asOf`; do not construct, edit, or reuse it with different filters. Sessions are ordered by start time and stable session identifier, both descending. `limit` defaults to 50 and is capped at 100. An empty page returns an empty `data` array and null `nextCursor`. Recent events can revise a session summary and therefore change its `version` after a short processing delay.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[A-Fa-f0-9]{64}$","description":"Visitor SHA-256 identifier from DataApiVisitor.emailHash","example":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"required":true,"description":"Visitor SHA-256 identifier from DataApiVisitor.emailHash","name":"visitorId","in":"path","example":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},{"schema":{"type":"string","enum":["24h","7d","14d","30d","90d","all"],"default":"30d","description":"Time window fixed when the first cursor page is requested.","example":"30d"},"required":false,"description":"Time window fixed when the first cursor page is requested.","name":"timeframe","in":"query","example":"30d"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Session rows per page. Defaults to 50; maximum 100.","example":50},"required":false,"description":"Session rows per page. Defaults to 50; maximum 100.","name":"limit","in":"query","example":50},{"schema":{"type":"string","minLength":1,"maxLength":1024,"description":"Opaque signed nextCursor from the previous response. Do not construct or modify it.","example":"eyJzIjoxNzU2NzE5MjAwLCJrIjoiYWFhYSIsImEiOjE3NTY3MjAwMDB9"},"required":false,"description":"Opaque signed nextCursor from the previous response. Do not construct or modify it.","name":"cursor","in":"query","example":"eyJzIjoxNzU2NzE5MjAwLCJrIjoiYWFhYSIsImEiOjE3NTY3MjAwMDB9"},{"schema":{"type":"string","format":"uuid","description":"Restrict sessions to one pixel owned by the API-key organization. An inaccessible or deleted pixel returns 403.","example":"00000000-0000-4000-8000-000000000001"},"required":false,"description":"Restrict sessions to one pixel owned by the API-key organization. An inaccessible or deleted pixel returns 403.","name":"pixelId","in":"query","example":"00000000-0000-4000-8000-000000000001"}],"responses":{"200":{"description":"Bounded session summaries","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataApiSessionSummaryPage"},"example":{"data":[],"meta":{"limit":50,"hasMore":false,"nextCursor":null,"timeframe":"30d","asOf":"2026-09-03T12:00:00.000Z","pixelId":null,"coverage":{"partial":false}}}}}},"400":{"description":"Invalid visitor identifier or cursor","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"VALIDATION_ERROR","message":"Invalid request data"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHENTICATION_ERROR","message":"Authentication required"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"403":{"description":"API key revoked, organization inactive, or pixelId is not accessible","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHORIZATION_ERROR","message":"Insufficient permissions"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"429":{"description":"Rate limit exceeded","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Too many requests, please try again later"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"503":{"description":"Service unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"HTTP_ERROR","message":"Service unavailable"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}}},"operationId":"listPrivacyBoundedSessionSummaries"}},"/v1/data/query":{"post":{"tags":["Visitors"],"x-docs-group":"Visitors","x-docs-order":220,"summary":"Query qualified visitor data via API key","description":"Returns identified people matching either one saved segment or one canonical `ruleAst` for the organization owning the `X-API-Key`; provide exactly one source. `window` overrides the rule window for this request, and `pixelId` restricts matching to one owned pixel. Identity aliases are represented as one person. Results use one-based pagination, are ordered by most recently seen first with a stable identity tie-breaker, and include a frozen traversal boundary and historical-coverage metadata. The qualification-specific rate limit is reported through response headers. This operation reads data and records API-key usage metadata but does not consume visitor-resolution credits.","security":[{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataApiQualificationQuery"},"example":{"ruleAst":{"version":1,"window":"30d","rule":{"field":"company.name","op":"contains","value":"Example"}},"page":1,"limit":50,"window":"30d"}}}},"responses":{"200":{"description":"Qualified visitor data","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataApiVisitor"}},"meta":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"hasMore":{"type":"boolean"},"asOf":{"type":"string","format":"date-time","description":"Request-time traversal boundary for the V2 reader"},"pixelId":{"type":["string","null"],"format":"uuid","description":"Pixel scope applied to this query, when one was requested"},"coverage":{"$ref":"#/components/schemas/DataApiCoverage"}},"required":["page","limit","total","totalPages","hasMore"]}},"required":["data","meta"]},"examples":{"populated":{"value":{"data":[{"email":"visitor@example.test","emailHash":"b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822","emailHashes":{"sha256":"b4fc5fb69efd3d88836a56aa432758b35b3ee9a4e30848f5d8f5f66209cd2822","sha1":"e5f6d0c61a56c87aa2e870e8ffd7ce552cd88366","md5":"b6321d878decf6402a73283b5f41c0e6"},"emails":["visitor@example.test"],"businessEmails":["visitor@example.test"],"personalEmails":[],"phones":[],"phonesDnc":null,"firstName":null,"lastName":null,"middleName":null,"fullName":null,"emailDomain":"example.test","allEmails":["visitor@example.test"],"primaryPhone":null,"allPhones":null,"phonesDNC":null,"ageRange":null,"gender":null,"hasChildren":null,"isHomeowner":null,"isMarried":null,"personalAddress":null,"personalZip":null,"city":null,"state":null,"country":null,"countryCode":null,"personalTimezone":null,"companyName":null,"companyDomain":null,"companyLinkedinUrl":null,"companyAddress":null,"companyCity":null,"companyState":null,"companyCountry":null,"companyZipCode":null,"companyEmployeeCount":null,"companyTotalRevenue":null,"companySizeRange":null,"companyRevenueRange":null,"jobTitle":null,"headline":null,"seniority":null,"seniorityLevel2":null,"seniorityLevelRaw":null,"department":null,"department2":null,"departmentRaw":null,"industry":null,"linkedinUrl":null,"photoUrl":null,"linkedinUrn":null,"skillsSummary":null,"photoB2Url":null,"companyLogoB2Url":null,"company":null,"companyZip":null,"companySize":null,"companySizeCategory":null,"companyRevenue":null,"companyIndustry":null,"seniorityRaw":null,"sessions":1,"pageviews":1,"pricingPageViews":0,"demoPageViews":0,"checkoutPageViews":0,"enrichmentLevel":"email_only","enrichmentScore":0,"intentScore":"low","firstSeenAt":"2026-01-01T00:00:00Z","lastSeenAt":"2026-01-01T00:00:00Z","firstSeen":"2026-01-01T00:00:00Z","lastSeen":"2026-01-01T00:00:00Z","daysSinceVisit":0,"landingPage":"https://www.example.test/","visitedPages":["https://www.example.test/"],"referrer":null,"referrerDomain":null,"utmSource":null,"utmMedium":null,"utmCampaign":null,"utmTerm":null,"utmContent":null,"gclid":null,"fbclid":null,"googleGbraid":null,"googleWbraid":null,"googleGadSource":null,"googleCampaignId":null,"bingClickId":null,"linkedinClickId":null,"klaviyoTrackingId":null,"hubspotAccountId":null,"hubspotCampaignId":null,"hubspotNetwork":null,"msclkid":null,"liFatId":null,"gbraid":null,"wbraid":null,"channel":null,"pixels":["11111111-1111-4111-8111-111111111111"],"pixelId":"11111111-1111-4111-8111-111111111111","pixelDetails":[{"id":"11111111-1111-4111-8111-111111111111","name":"Example Pixel","domain":"www.example.test"}],"domains":["www.example.test"],"customAttribution":null}],"meta":{"page":1,"limit":50,"total":1,"totalPages":1,"hasMore":false}}},"empty":{"value":{"data":[],"meta":{"page":1,"limit":50,"total":0,"totalPages":0,"hasMore":false}}}},"example":{"data":[],"meta":{"page":1,"limit":50,"total":0,"totalPages":0,"hasMore":false}}}}},"400":{"description":"Invalid source selection, rule shape, rule semantics, or complexity","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"VALIDATION_ERROR","message":"Invalid request data"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHENTICATION_ERROR","message":"Authentication required"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"403":{"description":"API key revoked, organization inactive, or pixelId is not accessible","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"AUTHORIZATION_ERROR","message":"Insufficient permissions"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"404":{"description":"Saved segment not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"HTTP_ERROR","message":"Resource not found"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"429":{"description":"Qualification query rate limit exceeded","headers":{"RateLimit-Limit":{"description":"Maximum requests in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the current application rate-limit window","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current application rate-limit window resets","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Too many requests, please try again later"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"500":{"description":"Saved segment definition is invalid","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}},"503":{"description":"Service unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Customer-safe error message."},"details":{"description":"Optional structured validation or business-error details."}},"required":["code","message"]},"meta":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"request_id":{"type":"string","description":"Request identifier for support and log correlation."}},"required":["timestamp","request_id"]}},"required":["error","meta"]},"example":{"error":{"code":"HTTP_ERROR","message":"Service unavailable"},"meta":{"timestamp":"2026-09-03T12:00:00.000Z","request_id":"req_01J0ZTRW5K49C1A6X4S9TW0FZP"}}}}}},"operationId":"queryQualifiedVisitorDataViaApiKey"}},"/v1/data/pixels":{"post":{"tags":["Pixels"],"summary":"Create a pixel for a domain","description":"Creates a new tracking pixel. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":255,"example":"www.example.test"},"name":{"type":"string","minLength":1,"maxLength":255,"example":"Example Pixel"},"excludedPaths":{"type":["array","null"],"items":{"type":"string","minLength":2,"maxLength":500,"pattern":"^\\/"},"maxItems":50,"description":"Denylist: URL path prefixes where tracking is skipped. Mutually exclusive with includedPaths.","example":["/blog","/careers"]},"includedPaths":{"type":["array","null"],"items":{"type":"string","minLength":2,"maxLength":500,"pattern":"^\\/"},"maxItems":50,"description":"Allowlist: if set, tracking fires ONLY on matching path prefixes. Mutually exclusive with excludedPaths.","example":["/pricing","/demo"]}},"required":["domain"]},"example":{"domain":"www.example.test","name":"Example Pixel","excludedPaths":["/careers"]}}}},"responses":{"201":{"description":"Pixel created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelCreated"},"example":{"data":{"id":"11111111-1111-4111-8111-111111111111","domain":"www.example.test","name":"Example Pixel","status":"active","excludedPaths":null,"includedPaths":null,"code":"<script src=\"https://pixel.example.test/p/11111111-1111-4111-8111-111111111111.js\" async></script>","createdAt":"2026-01-01T00:00:00Z"}}}}},"400":{"description":"Validation error (e.g. both includedPaths and excludedPaths set)"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive org"},"409":{"description":"Pixel already exists for this domain"}},"operationId":"createAPixelForADomain"},"get":{"tags":["Pixels"],"summary":"List all pixels for the organization","description":"Returns all non-deleted pixels belonging to the X-API-Key organization, newest creation first. Equal creation timestamps have no guaranteed tie-breaker. The list is not paginated; no matches returns an empty data array. Revoked keys and expired or suspended organizations are rejected.","security":[{"apiKeyAuth":[]}],"responses":{"200":{"description":"List of pixels","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelList"},"examples":{"populated":{"value":{"data":[{"id":"11111111-1111-4111-8111-111111111111","domain":"www.example.test","name":"Example Pixel","status":"active","pausedReason":null,"excludedPaths":null,"includedPaths":null,"createdAt":"2026-01-01T00:00:00Z"}]}},"empty":{"value":{"data":[]}}}}}},"401":{"description":"Missing or invalid authentication"},"403":{"description":"Revoked API key or organization access denied"}},"operationId":"listAllPixelsForTheOrganization"}},"/v1/data/pixels/{id}":{"patch":{"tags":["Pixels"],"summary":"Update a pixel (pause, activate, or set path filters)","description":"Updates a pixel. Accepts status, excludedPaths, includedPaths, or any combination. Set paths to null to clear. Mutually exclusive: cannot have both includedPaths and excludedPaths set. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid","description":"Pixel identifier belonging to the organization","example":"11111111-1111-4111-8111-111111111111"},"required":true,"description":"Pixel identifier belonging to the organization","name":"id","in":"path","example":"11111111-1111-4111-8111-111111111111"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","paused"],"example":"paused"},"excludedPaths":{"type":["array","null"],"items":{"type":"string","minLength":2,"maxLength":500,"pattern":"^\\/"},"maxItems":50,"description":"Denylist: URL path prefixes where tracking is skipped. Mutually exclusive with includedPaths.","example":["/blog","/careers"]},"includedPaths":{"type":["array","null"],"items":{"type":"string","minLength":2,"maxLength":500,"pattern":"^\\/"},"maxItems":50,"description":"Allowlist: if set, tracking fires ONLY on matching path prefixes. Mutually exclusive with excludedPaths.","example":["/pricing","/demo"]}}},"example":{"status":"paused"}}}},"responses":{"200":{"description":"Pixel updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelUpdated"},"example":{"data":{"id":"11111111-1111-4111-8111-111111111111","domain":"www.example.test","name":"Example Pixel","status":"paused","excludedPaths":null,"includedPaths":null,"updatedAt":"2026-01-01T00:00:00Z"}}}}},"400":{"description":"Validation error (e.g. both includedPaths and excludedPaths set)"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Cannot activate pixel for inactive org"},"404":{"description":"Pixel not found"}},"operationId":"updateAPixelPauseActivateOrSetPathFilters"}},"/v1/data/account":{"get":{"tags":["Account"],"summary":"Account health and credit status","description":"Returns organization status, credit balance, pixel summary, and intent audience slots. Use this to check if your account is healthy and has remaining credits.","security":[{"apiKeyAuth":[]}],"responses":{"200":{"description":"Account status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatus"},"example":{"data":{"healthy":true,"organization":{"name":"Example Organization","status":"active"},"credits":{"used":10,"limit":100,"remaining":90,"percentUsed":10,"resetsAt":"2026-02-01T00:00:00Z"},"pixels":{"total":1,"active":1,"paused":0},"intent":null}}}}},"401":{"description":"Missing or invalid authentication"},"403":{"description":"Revoked API key or organization access denied"}},"operationId":"getAccountHealthAndCreditStatus"}},"/v1/data/suppression-rules":{"get":{"tags":["Visitor Suppression"],"summary":"List suppression rules","description":"Returns the organization's suppression rules, newest first. Suppressed visitors are still identified, but they consume no credits and trigger no webhooks or integrations. Paginated: `limit` defaults to 500 and caps at 5000. `counts` and `total` always describe the whole list, not the returned page. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","enum":["email","domain","company_domain","industry"],"description":"Return only rules of this type","example":"domain"},"required":false,"description":"Return only rules of this type","name":"type","in":"query","example":"domain"},{"schema":{"type":"integer","minimum":1,"maximum":5000,"default":500,"description":"Maximum results returned in this page","example":100},"required":false,"description":"Maximum results returned in this page","name":"limit","in":"query","example":100},{"schema":{"type":["integer","null"],"minimum":0,"default":0,"description":"Zero-based number of matching rules to skip","example":0},"required":false,"description":"Zero-based number of matching rules to skip","name":"offset","in":"query","example":0}],"responses":{"200":{"description":"Suppression rules","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionRuleList"},"examples":{"populated":{"value":{"data":{"rules":[{"id":"11111111-1111-4111-8111-111111111111","type":"domain","value":"company.test","createdAt":"2026-01-01T00:00:00Z"}],"counts":{"email":0,"domain":2,"company_domain":0,"industry":0},"total":2,"filteredTotal":2,"limit":1,"offset":0,"hasMore":true}}},"empty":{"value":{"data":{"rules":[],"counts":{"email":0,"domain":0,"company_domain":0,"industry":0},"total":0,"filteredTotal":0,"limit":100,"offset":0,"hasMore":false}}}}}}},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"}},"operationId":"listSuppressionRules"},"post":{"tags":["Visitor Suppression"],"summary":"Upload suppression rules (append)","description":"Adds up to 25,000 rules in one call, on top of what is already stored; send more by posting again. There is no cap on how many rules an organization may keep. Values are normalized before storage (lowercased; domains lose scheme, `www.`, path and port), so re-uploading the same list is a no-op. Rows that fail validation come back in `rejected` — every other row is still applied. Rules take effect from the next sync cycle onward; visitors already charged are not refunded. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rules":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["email","domain","company_domain","industry"]},"value":{"type":"string","minLength":1,"maxLength":500}},"required":["type","value"]},"minItems":1,"maxItems":25000}},"required":["rules"],"example":{"rules":[{"type":"domain","value":"company.test"},{"type":"email","value":"operator@partner.test"},{"type":"company_domain","value":"https://www.competitor.test/pricing"},{"type":"industry","value":"Higher Education"}]}}}}},"responses":{"200":{"description":"Rules applied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionWriteResult"},"example":{"data":{"added":1,"removed":0,"duplicates":0,"rejectedCount":0,"rejected":[],"total":1}}}}},"400":{"description":"Validation error"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"}},"operationId":"uploadSuppressionRulesAppend"},"put":{"tags":["Visitor Suppression"],"summary":"Replace the suppression list","description":"Destructive sync: every existing rule is deleted and replaced by the submitted set, in one transaction. This is the endpoint to point at a source-of-truth file — re-post the whole list on every run and the stored list matches it exactly. Rules removed here stop suppressing from the next sync cycle onward. Pass `types` to replace only some rule types and leave the rest untouched (e.g. sync your `email` list without disturbing industry rules); send an empty `rules` array with `types` to clear a category. Up to 25,000 rules per call — a list longer than that cannot be replaced atomically, so build it with POST instead. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rules":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["email","domain","company_domain","industry"]},"value":{"type":"string","minLength":1,"maxLength":500}},"required":["type","value"]},"maxItems":25000},"types":{"type":"array","items":{"type":"string","enum":["email","domain","company_domain","industry"]},"minItems":1,"maxItems":4,"description":"Restrict the replace to these rule types. Rules of other types are left alone, and submitting a rule whose type is not listed is an error."}},"required":["rules"],"example":{"rules":[{"type":"domain","value":"company.test"},{"type":"domain","value":"subsidiary.test"}],"types":["domain"]}}}}},"responses":{"200":{"description":"List replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionWriteResult"},"example":{"data":{"added":1,"removed":2,"duplicates":0,"rejectedCount":0,"rejected":[],"total":1}}}}},"400":{"description":"Validation error"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"}},"operationId":"replaceSuppressionList"},"delete":{"tags":["Visitor Suppression"],"summary":"Delete suppression rules in bulk","description":"Deletes by rule id, by type+value, or both. Values are normalized the same way as on upload, so you can delete with the exact rows you uploaded without tracking ids. Unknown ids and values are ignored. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":25000},"rules":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["email","domain","company_domain","industry"]},"value":{"type":"string","minLength":1,"maxLength":500}},"required":["type","value"]},"maxItems":25000}},"example":{"rules":[{"type":"domain","value":"company.test"}]}}}}},"responses":{"200":{"description":"Rules deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionDeleteResult"},"example":{"data":{"deleted":1,"total":0}}}}},"400":{"description":"Validation error"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"}},"operationId":"deleteSuppressionRulesInBulk"}},"/v1/data/suppression-rules/industries":{"get":{"tags":["Visitor Suppression"],"summary":"List industries present in your visitor data","description":"Industry rules match the enriched company industry exactly (case-insensitive), so suppressing a value that never appears in your data is a silent no-op. This endpoint returns the industry values actually seen on your identified visitors, most common first, with the visitor count behind each and whether it is already suppressed. Use the returned `value` verbatim when creating `industry` rules. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"Maximum industries to return","example":100},"required":false,"description":"Maximum industries to return","name":"limit","in":"query","example":100},{"schema":{"type":"string","enum":["all","only","exclude"],"default":"all","description":"Filter by current suppression state","example":"all"},"required":false,"description":"Filter by current suppression state","name":"suppressed","in":"query","example":"all"}],"responses":{"200":{"description":"Industries observed on this organization's visitors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionIndustryList"},"examples":{"populated":{"value":{"data":[{"value":"Education","visitors":12,"suppressed":false}],"meta":{"visitorsWithoutIndustry":3,"suppressedIndustryRules":0,"limit":100}}},"empty":{"value":{"data":[],"meta":{"visitorsWithoutIndustry":0,"suppressedIndustryRules":0,"limit":100}}}}}}},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"},"503":{"description":"Analytics store unavailable"}},"operationId":"listIndustriesPresentInYourVisitorData"}},"/v1/data/suppression-rules/{ruleId}":{"delete":{"tags":["Visitor Suppression"],"summary":"Delete a single suppression rule","description":"Deletes one rule by id. Authenticates via X-API-Key header.","security":[{"apiKeyAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid","description":"Suppression rule identifier belonging to the organization","example":"11111111-1111-4111-8111-111111111111"},"required":true,"description":"Suppression rule identifier belonging to the organization","name":"ruleId","in":"path","example":"11111111-1111-4111-8111-111111111111"}],"responses":{"200":{"description":"Rule deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionRuleDeleted"},"example":{"data":{"deleted":true}}}}},"401":{"description":"Missing or invalid API key"},"403":{"description":"Revoked key or inactive organization"},"404":{"description":"Rule not found"}},"operationId":"deleteDataApiSuppressionRule"}}},"tags":[{"name":"Visitors","description":"Visitor resources and privacy-bounded activity."},{"name":"Pixels","description":"Tracking pixel installation and configuration."},{"name":"Account","description":"Organization account health and API entitlements."},{"name":"Visitor Suppression","description":"Organization visitor suppression rules."}],"components":{"schemas":{"DataApiVisitor":{"type":"object","properties":{"email":{"type":"string","format":"email"},"emailHash":{"type":"string","description":"SHA-256 hash of the normalized primary email"},"emailHashes":{"type":"object","properties":{"sha256":{"type":"string"},"sha1":{"type":"string"},"md5":{"type":"string"}},"required":["sha256","sha1","md5"],"description":"Hashes of the normalized primary email for matching platforms"},"emails":{"type":"array","items":{"type":"string"},"description":"All known email addresses (webhook-compatible)"},"businessEmails":{"type":"array","items":{"type":"string"}},"personalEmails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"},"description":"All known phone numbers (webhook-compatible)"},"phonesDnc":{"type":["boolean","null"],"description":"Do-not-call flag (webhook-compatible)"},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"middleName":{"type":["string","null"]},"fullName":{"type":["string","null"]},"emailDomain":{"type":["string","null"]},"allEmails":{"type":["array","null"],"items":{"type":"string"},"deprecated":true},"primaryPhone":{"type":["string","null"]},"allPhones":{"type":["array","null"],"items":{"type":"string"},"deprecated":true},"phonesDNC":{"type":["array","null"],"items":{"type":"string"},"deprecated":true,"description":"Legacy field. Use boolean `phonesDnc` for webhook-compatible semantics."},"ageRange":{"type":["string","null"]},"gender":{"type":["string","null"]},"hasChildren":{"type":["boolean","null"]},"isHomeowner":{"type":["boolean","null"]},"isMarried":{"type":["boolean","null"]},"personalAddress":{"type":["string","null"]},"personalZip":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"countryCode":{"type":["string","null"]},"personalTimezone":{"type":["string","null"]},"companyName":{"type":["string","null"],"description":"Company name (webhook-compatible)"},"companyDomain":{"type":["string","null"]},"companyLinkedinUrl":{"type":["string","null"]},"companyAddress":{"type":["string","null"]},"companyCity":{"type":["string","null"]},"companyState":{"type":["string","null"]},"companyCountry":{"type":["string","null"]},"companyZipCode":{"type":["string","null"]},"companyEmployeeCount":{"type":["number","null"]},"companyTotalRevenue":{"type":["number","null"]},"companySizeRange":{"type":["string","null"]},"companyRevenueRange":{"type":["string","null"]},"jobTitle":{"type":["string","null"]},"headline":{"type":["string","null"]},"seniority":{"type":["string","null"]},"seniorityLevel2":{"type":["string","null"]},"seniorityLevelRaw":{"type":["string","null"]},"department":{"type":["string","null"]},"department2":{"type":["string","null"]},"departmentRaw":{"type":["string","null"]},"industry":{"type":["string","null"]},"linkedinUrl":{"type":["string","null"]},"photoUrl":{"type":["string","null"]},"linkedinUrn":{"type":["string","null"]},"skillsSummary":{"type":["string","null"]},"photoB2Url":{"type":["string","null"]},"companyLogoB2Url":{"type":["string","null"]},"company":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `companyName`"},"companyZip":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `companyZipCode`"},"companySize":{"type":["number","null"],"description":"Legacy numeric employee count; use `companyEmployeeCount` for an unambiguous name"},"companySizeCategory":{"type":["string","null"],"description":"Employee-count category corresponding to the webhook company-size vocabulary"},"companyRevenue":{"type":["number","null"],"deprecated":true,"description":"Legacy alias for `companyTotalRevenue`"},"companyIndustry":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `industry`"},"seniorityRaw":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `seniorityLevelRaw`"},"sessions":{"type":"number"},"pageviews":{"type":"number"},"pricingPageViews":{"type":"number"},"demoPageViews":{"type":"number"},"checkoutPageViews":{"type":"number"},"enrichmentLevel":{"type":"string","enum":["full","partial","email_only"]},"enrichmentScore":{"type":"number"},"intentScore":{"type":"string","enum":["high","medium","low"]},"firstSeenAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"},"firstSeen":{"type":"string","format":"date-time","deprecated":true,"description":"Legacy alias for `firstSeenAt`"},"lastSeen":{"type":"string","format":"date-time","deprecated":true,"description":"Legacy alias for `lastSeenAt`"},"daysSinceVisit":{"type":"integer"},"landingPage":{"type":["string","null"]},"visitedPages":{"type":"array","items":{"type":"string"}},"referrer":{"type":["string","null"]},"referrerDomain":{"type":["string","null"]},"utmSource":{"type":["string","null"]},"utmMedium":{"type":["string","null"]},"utmCampaign":{"type":["string","null"]},"utmTerm":{"type":["string","null"]},"utmContent":{"type":["string","null"]},"gclid":{"type":["string","null"]},"fbclid":{"type":["string","null"]},"googleGbraid":{"type":["string","null"]},"googleWbraid":{"type":["string","null"]},"googleGadSource":{"type":["string","null"]},"googleCampaignId":{"type":["string","null"]},"bingClickId":{"type":["string","null"]},"linkedinClickId":{"type":["string","null"]},"klaviyoTrackingId":{"type":["string","null"]},"hubspotAccountId":{"type":["string","null"]},"hubspotCampaignId":{"type":["string","null"]},"hubspotNetwork":{"type":["string","null"]},"msclkid":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `bingClickId`"},"liFatId":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `linkedinClickId`"},"gbraid":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `googleGbraid`"},"wbraid":{"type":["string","null"],"deprecated":true,"description":"Legacy alias for `googleWbraid`"},"channel":{"type":["string","null"]},"pixels":{"type":"array","items":{"type":"string"}},"pixelId":{"type":["string","null"]},"pixelDetails":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"domain":{"type":"string"}},"required":["id","name","domain"]}},"domains":{"type":"array","items":{"type":"string"}},"customAttribution":{"type":["object","null"],"additionalProperties":{"type":"string"},"description":"Custom query parameters captured from the installed pixel URL","example":{"partnerCustomerId":"customer_123","campaign":"summer"}}},"required":["email","emailHash","emailHashes","emails","businessEmails","personalEmails","phones","phonesDnc","firstName","lastName","middleName","fullName","emailDomain","allEmails","primaryPhone","allPhones","phonesDNC","ageRange","gender","hasChildren","isHomeowner","isMarried","personalAddress","personalZip","city","state","country","countryCode","personalTimezone","companyName","companyDomain","companyLinkedinUrl","companyAddress","companyCity","companyState","companyCountry","companyZipCode","companyEmployeeCount","companyTotalRevenue","companySizeRange","companyRevenueRange","jobTitle","headline","seniority","seniorityLevel2","seniorityLevelRaw","department","department2","departmentRaw","industry","linkedinUrl","photoUrl","linkedinUrn","skillsSummary","photoB2Url","companyLogoB2Url","company","companyZip","companySize","companySizeCategory","companyRevenue","companyIndustry","seniorityRaw","sessions","pageviews","pricingPageViews","demoPageViews","checkoutPageViews","enrichmentLevel","enrichmentScore","intentScore","firstSeenAt","lastSeenAt","firstSeen","lastSeen","daysSinceVisit","landingPage","visitedPages","referrer","referrerDomain","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","gclid","fbclid","googleGbraid","googleWbraid","googleGadSource","googleCampaignId","bingClickId","linkedinClickId","klaviyoTrackingId","hubspotAccountId","hubspotCampaignId","hubspotNetwork","msclkid","liFatId","gbraid","wbraid","channel","pixels","pixelId","pixelDetails","domains","customAttribution"],"additionalProperties":{}},"DataApiCoverage":{"type":"object","properties":{"partial":{"type":"boolean","description":"True when the V2 rebuild does not fully cover the requested window. Treat results as a partial population, never as complete history."},"reason":{"type":"string","enum":["ytd_incomplete","all_incomplete","custom"],"description":"Why the window is partially covered"}},"required":["partial"],"description":"V2 data coverage for the requested window. Present when the V2 data reader is enabled."},"DataApiSessionSummaryPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataApiSessionSummary"}},"meta":{"type":"object","properties":{"limit":{"type":"integer"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]},"timeframe":{"type":"string","enum":["24h","7d","14d","30d","90d","all"],"default":"30d"},"asOf":{"type":"string","format":"date-time","description":"Fixed traversal time carried by the signed cursor so relative timeframe boundaries do not move between pages"},"pixelId":{"type":["string","null"],"format":"uuid","description":"Pixel scope bound into the signed cursor on the V2 reader"},"coverage":{"$ref":"#/components/schemas/DataApiCoverage"}},"required":["limit","hasMore","nextCursor","asOf"]}},"required":["data","meta"]},"DataApiQualificationQuery":{"type":"object","properties":{"segmentId":{"type":["string","null"],"format":"uuid","description":"Saved segment to query. Mutually exclusive with ruleAst."},"ruleAst":{"description":"Canonical RuleAST. Mutually exclusive with segmentId."},"page":{"type":"integer","minimum":1,"default":1,"description":"One-based result page.","example":1},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Rows per page. Defaults to 50; maximum 100.","example":50},"pixelId":{"type":["string","null"],"format":"uuid","description":"Restrict the query to one accessible pixel. 403 when the pixel does not belong to the API-key organization","example":"00000000-0000-4000-8000-000000000001"},"window":{"type":"string","enum":["24h","7d","14d","30d","90d","all","today","3d","mtd","ytd"],"description":"Overrides `ruleAst.window` for this request, using the shared window catalog","example":"30d"}}},"PixelCreated":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"excludedPaths":{"type":["array","null"],"items":{"type":"string"}},"includedPaths":{"type":["array","null"],"items":{"type":"string"}},"code":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","domain","name","status","excludedPaths","includedPaths","code","createdAt"]}},"required":["data"]},"PixelList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"pausedReason":{"type":["string","null"]},"excludedPaths":{"type":["array","null"],"items":{"type":"string"}},"includedPaths":{"type":["array","null"],"items":{"type":"string"}},"createdAt":{"type":"string"}},"required":["id","domain","name","status","pausedReason","excludedPaths","includedPaths","createdAt"]}}},"required":["data"]},"PixelUpdated":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"excludedPaths":{"type":["array","null"],"items":{"type":"string"}},"includedPaths":{"type":["array","null"],"items":{"type":"string"}},"updatedAt":{"type":"string"}},"required":["id","domain","name","status","excludedPaths","includedPaths","updatedAt"]}},"required":["data"]},"AccountStatus":{"type":"object","properties":{"data":{"type":"object","properties":{"healthy":{"type":"boolean"},"organization":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"}},"required":["name","status"]},"credits":{"type":"object","properties":{"used":{"type":"number"},"limit":{"type":["number","null"]},"remaining":{"type":["number","null"]},"percentUsed":{"type":["number","null"]},"resetsAt":{"type":["string","null"]}},"required":["used","limit","remaining","percentUsed","resetsAt"]},"pixels":{"type":"object","properties":{"total":{"type":"number"},"active":{"type":"number"},"paused":{"type":"number"}},"required":["total","active","paused"]},"intent":{"type":["object","null"],"properties":{"audienceSlots":{"type":"number"},"audienceSlotsUsed":{"type":"number"},"audienceSlotsAvailable":{"type":"number"},"status":{"type":"string"}},"required":["audienceSlots","audienceSlotsUsed","audienceSlotsAvailable","status"]}},"required":["healthy","organization","credits","pixels","intent"]}},"required":["data"]},"SuppressionRuleList":{"type":"object","properties":{"data":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/SuppressionRule"}},"counts":{"type":"object","properties":{"email":{"type":"number"},"domain":{"type":"number"},"company_domain":{"type":"number"},"industry":{"type":"number"}},"required":["email","domain","company_domain","industry"],"description":"Stored rules per type, across the whole list"},"total":{"type":"number","description":"Total rules stored, ignoring the type filter"},"filteredTotal":{"type":"number","description":"Rules matching the type filter"},"limit":{"type":"number"},"offset":{"type":"number"},"hasMore":{"type":"boolean"}},"required":["rules","counts","total","filteredTotal","limit","offset","hasMore"]}},"required":["data"]},"SuppressionWriteResult":{"type":"object","properties":{"data":{"type":"object","properties":{"added":{"type":"number","description":"Rules newly stored"},"removed":{"type":"number","description":"Rules deleted (replace mode only)"},"duplicates":{"type":"number","description":"Rows skipped: already stored, or repeated within the request"},"rejectedCount":{"type":"number","description":"Rows that failed validation"},"rejected":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","description":"Position of the row in the submitted array"},"type":{"type":"string"},"value":{"type":"string"},"reason":{"type":"string"}},"required":["index","type","value","reason"]},"description":"Detail for the first 100 rejected rows — everything else in the batch was still applied"},"total":{"type":"number","description":"Rules stored for the organization after this call"}},"required":["added","removed","duplicates","rejectedCount","rejected","total"]}},"required":["data"]},"SuppressionDeleteResult":{"type":"object","properties":{"data":{"type":"object","properties":{"deleted":{"type":"number"},"total":{"type":"number"}},"required":["deleted","total"]}},"required":["data"]},"SuppressionIndustryList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"Use verbatim as the value of an `industry` rule"},"visitors":{"type":"number","description":"Distinct identified visitors carrying this industry"},"suppressed":{"type":"boolean","description":"An industry rule for this value already exists"}},"required":["value","visitors","suppressed"]}},"meta":{"type":"object","properties":{"visitorsWithoutIndustry":{"type":"number","description":"Identified visitors with no company industry — unreachable by industry rules"},"suppressedIndustryRules":{"type":"number"},"limit":{"type":"number"}},"required":["visitorsWithoutIndustry","suppressedIndustryRules","limit"]}},"required":["data","meta"]},"SuppressionRuleDeleted":{"type":"object","properties":{"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["data"]},"DataApiSessionSummary":{"type":"object","properties":{"sessionId":{"type":"string","description":"Stable opaque identifier scoped to the organization, visitor, and canonical session bucket","example":"ses_1vR8zPqY2dV5hJ3mK7nB9cF4sT6wX0aL8eG2uN5iQ1o"},"version":{"type":"string","description":"Content fingerprint. Changes when any field in this bounded session summary changes","example":"sv_8sH2mN6qR1vY5cJ9kP3tW7xF0aD4eG8uL2bC6iQ1oZ5"},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"durationSeconds":{"type":"integer","minimum":0,"description":"Seconds between the first and latest event currently materialized for this session"},"pageViews":{"type":"integer","minimum":0},"entryPage":{"type":["string","null"],"description":"Path-only entry page. Origin, query string, and fragment are never included","example":"/pricing"},"exitPage":{"type":["string","null"],"description":"Path-only latest page. Origin, query string, and fragment are never included","example":"/thank-you"},"updatedAt":{"type":"string","format":"date-time","description":"Time the canonical session summary was last materialized. Use version for content change detection"}},"required":["sessionId","version","startTime","endTime","durationSeconds","pageViews","entryPage","exitPage","updatedAt"]},"SuppressionRule":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["email","domain","company_domain","industry"]},"value":{"type":"string"},"createdAt":{"type":["string","null"]}},"required":["id","type","value","createdAt"]}},"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Organization API key (sk_...). Get yours from Settings > API Keys in the dashboard."}}},"security":[{"apiKeyAuth":[]}]}