{"openapi":"3.1.0","info":{"title":"Diced API","version":"1.0.0","description":"Pay-per-lead intent data. Build an audience for free, preview it, then Reveal the leads you want. Each Reveal costs chips: 1 chip is 1 full lead with every field. Authenticate with an API key in the Authorization header: `Authorization: Bearer dcd_live_...`. Limits: 120 requests per minute per key."},"servers":[{"url":"https://api.diced.si"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Account","description":"Who you are."},{"name":"Discovery","description":"Find filters and topics. Always free."},{"name":"Audiences","description":"Build, preview and Reveal leads."},{"name":"Leads","description":"Leads you have revealed."},{"name":"Enrichment","description":"Look up people you already know."},{"name":"Webhooks","description":"Get events pushed to your URL."},{"name":"Chips","description":"Your balance and history."}],"paths":{"/v1/me":{"get":{"operationId":"getMe","tags":["Account"],"summary":"Get the current workspace","description":"Returns the workspace and API key making the request, plus your chip balance. Free.","parameters":[],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Me"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/filters":{"get":{"operationId":"listFilters","tags":["Discovery"],"summary":"List every filter","description":"Returns every field you can use in a where[] clause, with its operators, allowed values and the audience types it works with. Free.","parameters":[],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/FiltersResponse"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/topics":{"get":{"operationId":"searchTopics","tags":["Discovery"],"summary":"Search intent topics","description":"Finds intent topics for a phrase. Use the returned ids in an audience's topics list. Free.","parameters":[{"in":"query","name":"q","schema":{"type":"string","minLength":1,"maxLength":200,"description":"Words to search topics for, such as 'crm software'."},"required":true,"description":"Words to search topics for, such as 'crm software'."},{"in":"query","name":"type","schema":{"type":"string","enum":["b2c","b2b"],"description":"Which kind of audience the topics are for."},"required":true,"description":"Which kind of audience the topics are for."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/TopicList"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/describe":{"post":{"operationId":"describeAudience","tags":["Discovery"],"summary":"Turn a description into filters","description":"Turns plain English into audience filters, a summary and matching topics. Free. Nothing is built: create an audience from the filters to get a count.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DescribeInput"},"examples":{"solar":{"summary":"Describe a consumer audience","value":{"prompt":"Homeowners in Texas shopping for solar panels"}}}}}},"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DescribeResult"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/audiences":{"post":{"operationId":"createAudience","tags":["Audiences"],"summary":"Create an audience","description":"Starts building an audience from filters or from a plain-English prompt. Free. Returns straight away with status 'building'. Poll GET /v1/audiences/{id} or subscribe to the audience.ready webhook.\n\nSend an Idempotency-Key header so a retry never builds twice.","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key.","type":"string","minLength":1,"maxLength":255},"example":"9b2f6c1e-4d7a-4f0b-8e3a-1c5d2e7f9a04","description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAudienceInput"},"examples":{"filters":{"summary":"From filters","value":{"name":"Texas solar","filters":{"type":"b2c","topics":["tp_4521"],"location":{"states":["TX"]},"demographics":{"homeowner":true}},"limit":5000}},"prompt":{"summary":"From a prompt","value":{"name":"Texas solar","prompt":"Homeowners in Texas shopping for solar panels"}},"b2b":{"summary":"Businesses (B2B) with where[] clauses","value":{"name":"CRM buyers, mid-size","filters":{"type":"b2b","topics":["tp_1088"],"intent":["high","medium"],"job":{"seniority":["director","vp"]},"company":{"size":["51-200","201-500"]},"where":[{"field":"job_title","op":"contains","value":"sales"}]}}}}}}},"responses":{"202":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Audience"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"max_chips_exceeded: this would spend more than max_chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"422":{"description":"invalid_filters: the filters are not valid. Field paths are in error.details.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"get":{"operationId":"listAudiences","tags":["Audiences"],"summary":"List audiences","description":"Lists your audiences, newest first. Free.","parameters":[{"in":"query","name":"cursor","schema":{"description":"Cursor from the previous page's next_cursor.","type":"string"},"description":"Cursor from the previous page's next_cursor."},{"in":"query","name":"limit","schema":{"default":25,"description":"Items per page, 1 to 100. Defaults to 25.","type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100. Defaults to 25."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Audience"},"description":"The items on this page."},"next_cursor":{"description":"Pass this as ?cursor= to get the next page. Null on the last page.","type":["string","null"]},"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["data","next_cursor","request_id"]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/audiences/{id}":{"get":{"operationId":"getAudience","tags":["Audiences"],"summary":"Get an audience","description":"Returns an audience with its status and lead count. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_.","examples":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]},"required":true,"description":"Audience id. Starts with aud_."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Audience"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"patch":{"operationId":"updateAudience","tags":["Audiences"],"summary":"Update an audience","description":"Renames an audience, saves it, or starts and stops watching it for new leads. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_.","examples":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]},"required":true,"description":"Audience id. Starts with aud_."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAudienceInput"},"examples":{"watch":{"summary":"Save and watch weekly with auto-reveal","value":{"saved":true,"watch":{"interval":"week","auto_reveal":true,"cap":200}}},"rename":{"summary":"Rename","value":{"name":"Texas solar, homeowners"}},"stop":{"summary":"Stop watching","value":{"watch":null}}}}}},"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Audience"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"delete":{"operationId":"deleteAudience","tags":["Audiences"],"summary":"Delete an audience","description":"Deletes an audience. Leads you already revealed stay in your workspace. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_.","examples":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]},"required":true,"description":"Audience id. Starts with aud_."}],"responses":{"204":{"description":"Deleted. No content.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/audiences/{id}/leads":{"get":{"operationId":"listAudienceLeads","tags":["Audiences"],"summary":"Preview an audience's leads","description":"Lists the leads in an audience. Leads you have not revealed come back as free previews. Leads you already revealed come back in full. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_.","examples":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]},"required":true,"description":"Audience id. Starts with aud_."},{"in":"query","name":"cursor","schema":{"description":"Cursor from the previous page's next_cursor.","type":"string"},"description":"Cursor from the previous page's next_cursor."},{"in":"query","name":"limit","schema":{"default":25,"description":"Items per page, 1 to 100. Defaults to 25.","type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100. Defaults to 25."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AudienceLead"},"description":"The items on this page."},"next_cursor":{"description":"Pass this as ?cursor= to get the next page. Null on the last page.","type":["string","null"]},"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["data","next_cursor","request_id"]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/audiences/{id}/reveal":{"post":{"operationId":"revealLeads","tags":["Audiences"],"summary":"Reveal leads","description":"Reveals leads from an audience and returns them in full. Costs 1 chip per lead you have not revealed before. Revealing a lead again is free. You must send max_chips, the most you are willing to spend.\n\nThis call can spend chips. Send an Idempotency-Key header so a retry never charges twice.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_.","examples":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]},"required":true,"description":"Audience id. Starts with aud_."},{"in":"header","name":"Idempotency-Key","schema":{"description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key.","type":"string","minLength":1,"maxLength":255},"example":"9b2f6c1e-4d7a-4f0b-8e3a-1c5d2e7f9a04","description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevealInput"},"examples":{"count":{"summary":"The next 10 leads","value":{"count":10,"max_chips":10}},"lead_ids":{"summary":"Specific leads from the preview","value":{"lead_ids":["lead_3kPq8ZrT1mXv6NbW2sLc9GhY","lead_9QwE4rTy7UiO2pAs5DfG8HjK"],"max_chips":2}}}}}},"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RevealResult"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"402":{"description":"insufficient_chips: you do not have enough chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"max_chips_exceeded: this would spend more than max_chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/leads":{"get":{"operationId":"listLeads","tags":["Leads"],"summary":"List revealed leads","description":"Lists the leads your workspace has revealed. Free.","parameters":[{"in":"query","name":"cursor","schema":{"description":"Cursor from the previous page's next_cursor.","type":"string"},"description":"Cursor from the previous page's next_cursor."},{"in":"query","name":"limit","schema":{"default":25,"description":"Items per page, 1 to 100. Defaults to 25.","type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100. Defaults to 25."},{"in":"query","name":"q","schema":{"description":"Only return leads whose name, email or company contains this text.","type":"string","minLength":1,"maxLength":200},"description":"Only return leads whose name, email or company contains this text."},{"in":"query","name":"audience_id","schema":{"description":"Only return leads revealed from this audience.","type":"string","pattern":"^aud_"},"description":"Only return leads revealed from this audience."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Lead"},"description":"The items on this page."},"next_cursor":{"description":"Pass this as ?cursor= to get the next page. Null on the last page.","type":["string","null"]},"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["data","next_cursor","request_id"]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/leads/{id}":{"get":{"operationId":"getLead","tags":["Leads"],"summary":"Get a revealed lead","description":"Returns one lead your workspace has revealed. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^lead_","description":"Lead id. Starts with lead_.","examples":["lead_3kPq8ZrT1mXv6NbW2sLc9GhY"]},"required":true,"description":"Lead id. Starts with lead_."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Lead"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/enrich":{"post":{"operationId":"enrichPerson","tags":["Enrichment"],"summary":"Look up one person","description":"Looks up one person by email, phone, IP address, MD5 hash or postal address. Costs 1 chip only when we find a match. No match is free, but you need at least 1 chip to look someone up.\n\nThis call can spend chips. Send an Idempotency-Key header so a retry never charges twice.","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key.","type":"string","minLength":1,"maxLength":255},"example":"9b2f6c1e-4d7a-4f0b-8e3a-1c5d2e7f9a04","description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichInput"},"examples":{"email":{"summary":"By email","value":{"email":"jane@example.com","max_chips":1}},"phone":{"summary":"By phone","value":{"phone":"+15125550100","max_chips":1}},"address":{"summary":"By postal address","value":{"address":{"line1":"1 Main St","zip":"78701","first_name":"Jane","last_name":"Doe"},"max_chips":1}}}}}},"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnrichResult"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"402":{"description":"insufficient_chips: you do not have enough chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"max_chips_exceeded: this would spend more than max_chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"upstream_unavailable: a data source is down. Retry later.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"capacity_unavailable: we are temporarily out of capacity. Retry after Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/enrich/batch":{"post":{"operationId":"enrichBatch","tags":["Enrichment"],"summary":"Start a batch lookup","description":"Looks up up to 10,000 people in one job. Costs 1 chip per match, never more than max_chips. Poll GET /v1/enrich/jobs/{id} or subscribe to the enrichment.completed webhook.\n\nThis call can spend chips. Send an Idempotency-Key header so a retry never charges twice.","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key.","type":"string","minLength":1,"maxLength":255},"example":"9b2f6c1e-4d7a-4f0b-8e3a-1c5d2e7f9a04","description":"Unique string for this request. Repeat the call with the same key within 24 hours and you get the original result, marked with the header Idempotent-Replayed: true, without being charged or building twice. Reusing a key with a different request is a 409. A request that failed can be retried with the same key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichBatchInput"},"examples":{"rows":{"summary":"Three lookups","value":{"rows":[{"email":"jane@example.com"},{"phone":"+15125550100"},{"md5":"5d41402abc4b2a76b9719d911017c592"}],"max_chips":3}}}}}},"responses":{"202":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnrichmentJob"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"402":{"description":"insufficient_chips: you do not have enough chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"max_chips_exceeded: this would spend more than max_chips.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/enrich/jobs/{id}":{"get":{"operationId":"getEnrichmentJob","tags":["Enrichment"],"summary":"Get a batch lookup job","description":"Returns the status and progress of a batch lookup. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^enr_","description":"Enrichment job id. Starts with enr_.","examples":["enr_5tYu8IoP2aSd4FgH6jKl1ZxC"]},"required":true,"description":"Enrichment job id. Starts with enr_."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnrichmentJob"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/webhooks":{"get":{"operationId":"listWebhooks","tags":["Webhooks"],"summary":"List webhook endpoints","description":"Lists your webhook endpoints. Free.","parameters":[{"in":"query","name":"cursor","schema":{"description":"Cursor from the previous page's next_cursor.","type":"string"},"description":"Cursor from the previous page's next_cursor."},{"in":"query","name":"limit","schema":{"default":25,"description":"Items per page, 1 to 100. Defaults to 25.","type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100. Defaults to 25."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"},"description":"The items on this page."},"next_cursor":{"description":"Pass this as ?cursor= to get the next page. Null on the last page.","type":["string","null"]},"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["data","next_cursor","request_id"]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"post":{"operationId":"createWebhook","tags":["Webhooks"],"summary":"Create a webhook endpoint","description":"Creates an endpoint and returns its signing secret. The secret is shown only once. Free.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookInput"},"examples":{"endpoint":{"summary":"New leads and finished builds","value":{"url":"https://example.com/webhooks/diced","events":["audience.ready","audience.new_leads"]}}}}}},"responses":{"201":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookEndpointCreated"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/webhooks/{id}":{"get":{"operationId":"getWebhook","tags":["Webhooks"],"summary":"Get a webhook endpoint","description":"Returns one webhook endpoint. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_.","examples":["wh_2BnM4vCx6ZlK8jHg1FdS3aQw"]},"required":true,"description":"Webhook endpoint id. Starts with wh_."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookEndpoint"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"patch":{"operationId":"updateWebhook","tags":["Webhooks"],"summary":"Update a webhook endpoint","description":"Changes an endpoint's URL, events or audiences, or re-enables a disabled endpoint. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_.","examples":["wh_2BnM4vCx6ZlK8jHg1FdS3aQw"]},"required":true,"description":"Webhook endpoint id. Starts with wh_."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookInput"},"examples":{"enable":{"summary":"Turn a disabled endpoint back on","value":{"status":"active"}},"events":{"summary":"Change the events","value":{"events":["audience.new_leads","chips.low"],"audience_ids":["aud_7GhT2kLm9QpX4sWv1bNc8ZrY"]}}}}}},"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookEndpoint"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"delete":{"operationId":"deleteWebhook","tags":["Webhooks"],"summary":"Delete a webhook endpoint","description":"Deletes an endpoint. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_.","examples":["wh_2BnM4vCx6ZlK8jHg1FdS3aQw"]},"required":true,"description":"Webhook endpoint id. Starts with wh_."}],"responses":{"204":{"description":"Deleted. No content.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/webhooks/{id}/test":{"post":{"operationId":"testWebhook","tags":["Webhooks"],"summary":"Send a test event","description":"Sends a test event to the endpoint and reports how your URL answered. Free.","parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_.","examples":["wh_2BnM4vCx6ZlK8jHg1FdS3aQw"]},"required":true,"description":"Webhook endpoint id. Starts with wh_."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookTestResult"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"not_found: no such resource in your workspace.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/chips":{"get":{"operationId":"getChips","tags":["Chips"],"summary":"Get your chip balance","description":"Returns your balance, the lots it is made of with their expiry dates, and the history of changes. Free.","parameters":[{"in":"query","name":"cursor","schema":{"description":"Cursor from the previous page's next_cursor.","type":"string"},"description":"Cursor from the previous page's next_cursor."},{"in":"query","name":"limit","schema":{"default":25,"description":"Items per page, 1 to 100. Defaults to 25.","type":"integer","minimum":1,"maximum":100},"description":"Items per page, 1 to 100. Defaults to 25."}],"responses":{"200":{"description":"Success.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ChipsSummary"},{"type":"object","properties":{"request_id":{"type":"string","description":"Id of the request that produced this response. A replayed idempotent response keeps the original id."}},"required":["request_id"]}]}}}},"400":{"description":"invalid_request: the request is malformed.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"unauthorized: the API key is missing or invalid.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"rate_limited: more than 120 requests per minute. Wait for Retry-After seconds.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}},"RateLimit-Limit":{"required":true,"description":"Requests allowed per minute for this key.","schema":{"type":"string","description":"Requests allowed per minute for this key."}},"RateLimit-Remaining":{"required":true,"description":"Requests left in the current window.","schema":{"type":"string","description":"Requests left in the current window."}},"RateLimit-Reset":{"required":true,"description":"Seconds until the window resets.","schema":{"type":"string","description":"Seconds until the window resets."}},"Retry-After":{"required":true,"description":"Seconds to wait before retrying.","schema":{"type":"string","description":"Seconds to wait before retrying."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"internal_error: something went wrong on our side.","headers":{"Diced-Request-Id":{"required":true,"description":"Id of this request, also in the body as request_id. Quote it when you contact support.","schema":{"type":"string","description":"Id of this request, also in the body as request_id. Quote it when you contact support."}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}}},"webhooks":{"audience.ready":{"post":{"operationId":"webhook_audience_ready","tags":["Webhooks"],"summary":"Event: audience.ready","description":"We POST this payload to your endpoint. Verify the Diced-Signature header (t=<unix>,v1=<hex HMAC-SHA256 of 't.body'>) with your endpoint's secret. Answer with any 2xx status within 10 seconds, or we retry.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceReadyEvent"}}}},"responses":{"200":{"description":"Return any 2xx status to acknowledge the event."}}}},"audience.new_leads":{"post":{"operationId":"webhook_audience_new_leads","tags":["Webhooks"],"summary":"Event: audience.new_leads","description":"We POST this payload to your endpoint. Verify the Diced-Signature header (t=<unix>,v1=<hex HMAC-SHA256 of 't.body'>) with your endpoint's secret. Answer with any 2xx status within 10 seconds, or we retry.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceNewLeadsEvent"}}}},"responses":{"200":{"description":"Return any 2xx status to acknowledge the event."}}}},"enrichment.completed":{"post":{"operationId":"webhook_enrichment_completed","tags":["Webhooks"],"summary":"Event: enrichment.completed","description":"We POST this payload to your endpoint. Verify the Diced-Signature header (t=<unix>,v1=<hex HMAC-SHA256 of 't.body'>) with your endpoint's secret. Answer with any 2xx status within 10 seconds, or we retry.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentCompletedEvent"}}}},"responses":{"200":{"description":"Return any 2xx status to acknowledge the event."}}}},"chips.low":{"post":{"operationId":"webhook_chips_low","tags":["Webhooks"],"summary":"Event: chips.low","description":"We POST this payload to your endpoint. Verify the Diced-Signature header (t=<unix>,v1=<hex HMAC-SHA256 of 't.body'>) with your endpoint's secret. Answer with any 2xx status within 10 seconds, or we retry.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChipsLowEvent"}}}},"responses":{"200":{"description":"Return any 2xx status to acknowledge the event."}}}}},"components":{"schemas":{"DescribeInput":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"Plain-English description of the people you want, such as 'homeowners in Texas shopping for solar panels'."}},"required":["prompt"],"additionalProperties":false},"CreateAudienceInput":{"type":"object","properties":{"name":{"description":"Name for the audience. We pick one if you leave it out.","type":"string","minLength":1,"maxLength":120},"filters":{"description":"Exact filters to build from. Send this or prompt, not both.","$ref":"#/components/schemas/AudienceFilters"},"prompt":{"description":"Plain-English description to build from. We turn it into filters. Send this or filters, not both.","type":"string","minLength":1,"maxLength":2000},"limit":{"description":"Build size. One build stages at most 500 leads for preview and reveal however many match (see match_count), so values above 500 count as 500. Leave out for 500.","type":"integer","minimum":1,"maximum":1000000},"topic_labels":{"description":"Display names for topic ids in filters, keyed by topic id, as returned by GET /v1/topics; up to 120 characters each. Only with filters, and only for topics in filters.topics. Used to label each lead's intent topic in this audience. Topics left out are labelled with their id.","type":"object","propertyNames":{"type":"string","pattern":"^tp_\\d+$","description":"Topic id, as returned by GET /v1/topics. Looks like tp_123."},"additionalProperties":{"type":"string","minLength":1,"maxLength":120,"pattern":"^\\P{C}+$"}}},"additionalProperties":false,"description":"Start building an audience. Free. It returns straight away with status 'building'."},"WhereClause":{"type":"object","properties":{"field":{"type":"string","enum":["active_date","topic","intent_level","topic_category","topic_subcategory","first_name","last_name","email","other_emails","email_validation_status","email_last_seen","phone","mobile_phone","direct_phone","linkedin_url","social_connections","business_email","other_business_emails","business_email_validation_status","business_email_last_seen","address_line1","address_line2","city","state","zip","zip4","country","gender","age","married","children","income","net_worth","homeowner","job_title","job_title_normalized","job_title_updated","seniority","seniority_secondary","department","department_secondary","work_address_line1","work_address_line2","work_city","work_state","work_zip","work_zip4","company_name","company_domain","company_related_domains","company_phone","company_sic","company_naics","company_address","company_city","company_state","company_zip","company_country","company_revenue","company_size","industry","company_updated","company_description","company_contact_id","lead_updated"],"description":"Field to filter on. See GET /v1/filters for the full list."},"op":{"type":"string","enum":["eq","neq","lt","gt","lte","gte","between","in","not_in","contains","has_value","has_no_value"],"description":"Operator to apply. Each field accepts only some operators; GET /v1/filters lists them."},"value":{"description":"Value to compare against. A list for in/not_in, a single string for the other operators, left out for has_value/has_no_value. Dates are YYYY-MM-DD.","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"value_to":{"description":"End of the range (inclusive). Only used with the 'between' operator.","type":"string"}},"required":["field","op"],"additionalProperties":false},"AudienceFilters":{"type":"object","properties":{"type":{"type":"string","enum":["b2c","b2b","people"],"description":"Audience type. 'b2c' is Consumers, 'b2b' is Businesses (both are built from intent topics). 'people' is a plain people search with no intent data."},"topics":{"description":"Intent topics to target, 1 to 5 ids from GET /v1/topics. Required for b2c and b2b audiences, not allowed for people.","minItems":1,"maxItems":5,"type":"array","items":{"type":"string","pattern":"^tp_\\d+$","description":"Topic id, as returned by GET /v1/topics. Looks like tp_123."}},"intent":{"description":"Only include leads at these intent levels. Not allowed for people audiences.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["high","medium","low"],"description":"How strong the buying intent is. 'high' is Hot, 'medium' is Warm, 'low' is Cold."}},"active_within_days":{"description":"Only include leads that showed intent in the last N days, from 1 to 14. Not allowed for people audiences.","type":"integer","minimum":1,"maximum":14},"location":{"description":"Where the person lives.","type":"object","properties":{"states":{"description":"Two-letter US state codes, uppercase.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["AK","AL","AR","AZ","CA","CO","CT","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"description":"Two-letter US state code, uppercase."}},"zips":{"description":"ZIP codes.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"cities":{"description":"City names.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"additionalProperties":false},"demographics":{"description":"Who the person is.","type":"object","properties":{"gender":{"description":"Genders to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["male","female","unknown"],"description":"Gender of the person."}},"age":{"description":"Age brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["18-24","25-34","35-44","45-54","55-64","65+"],"description":"Age bracket of the person."}},"income":{"description":"Household income brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<20k","20-30k","30-40k","40-50k","50-75k","75-100k","100-150k","150-250k","250k+"],"description":"Estimated household income bracket, in US dollars per year."}},"net_worth":{"description":"Net worth brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<0","0-5k","5-25k","25-100k","100-250k","250-500k","500k-1m","1m+"],"description":"Estimated household net worth bracket, in US dollars."}},"homeowner":{"description":"True for homeowners only, false for non-owners.","type":"boolean"},"married":{"description":"True for married people only, false for unmarried.","type":"boolean"},"children":{"description":"True for people with children only, false for people without.","type":"boolean"}},"additionalProperties":false},"job":{"description":"What the person does.","type":"object","properties":{"titles":{"description":"Job titles to match. Each is a case-insensitive substring.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"seniority":{"description":"Seniority levels to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["c_suite","vp","director","manager","staff"],"description":"Seniority level of the person's job."}},"departments":{"description":"Departments to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["administrative","engineering","executive","finance","marketing","sales","other"],"description":"Department the person works in."}}},"additionalProperties":false},"company":{"description":"Where the person works.","type":"object","properties":{"names":{"description":"Company names, exact match.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"domains":{"description":"Company website domains, such as acme.com.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"industries":{"description":"Industries to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"size":{"description":"Company size brackets, by employee count.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10000+"],"description":"Number of employees at the company, as a bracket."}},"revenue":{"description":"Company revenue brackets.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<1m","1-10m","10-50m","50-100m","100-500m","500m-1b","1b+"],"description":"Annual company revenue bracket, in US dollars."}}},"additionalProperties":false},"where":{"description":"Advanced filters on any field in GET /v1/filters. All clauses and all other filters must match (AND).","maxItems":25,"type":"array","items":{"$ref":"#/components/schemas/WhereClause"}}},"required":["type"],"additionalProperties":false},"UpdateAudienceInput":{"type":"object","properties":{"name":{"description":"New name.","type":"string","minLength":1,"maxLength":120},"saved":{"description":"Save or unsave the audience.","type":"boolean"},"watch":{"description":"Start or change watching. Send null to stop watching.","anyOf":[{"$ref":"#/components/schemas/WatchConfig"},{"type":"null"}]}},"additionalProperties":false,"description":"Change an audience's name, saved state or watch schedule."},"WatchConfig":{"type":"object","properties":{"interval":{"type":"string","enum":["day","week","month"],"description":"How often a watched audience re-runs."},"auto_reveal":{"default":false,"description":"Reveal new leads automatically, spending chips, up to the cap on every run.","type":"boolean"},"cap":{"default":100,"description":"Most chips to spend on auto-reveal in one run, 0 to 10,000. Defaults to 100. Must be at least 1 when auto_reveal is true. New leads past the cap are delivered hidden.","type":"integer","minimum":0,"maximum":10000}},"required":["interval"],"additionalProperties":false,"description":"Re-run the audience on a schedule and look for new leads."},"RevealInput":{"type":"object","properties":{"count":{"description":"Reveal the next N leads that are not revealed yet, up to 1000. Send this or lead_ids.","type":"integer","minimum":1,"maximum":1000},"lead_ids":{"description":"Specific leads to reveal, up to 1000. Send this or count.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^lead_"}},"max_chips":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The most chips you are willing to spend. If revealing would cost more, nothing is revealed and you get max_chips_exceeded. Leads you already revealed are free."}},"required":["max_chips"],"additionalProperties":false,"description":"Reveal leads. Spends 1 chip per lead you have not revealed before."},"EnrichInput":{"type":"object","properties":{"email":{"description":"Email address to look up.","type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"phone":{"description":"Phone number to look up.","type":"string","minLength":1},"ip":{"description":"IPv4 or IPv6 address to look up.","type":"string","minLength":1},"md5":{"description":"MD5 hash of an email address, 32 hex characters.","type":"string","pattern":"^[a-fA-F0-9]{32}$"},"address":{"type":"object","properties":{"line1":{"type":"string","minLength":1,"description":"Street address."},"city":{"description":"City. Send with state if you leave out zip.","type":"string","minLength":1},"state":{"description":"State. Send with city if you leave out zip.","type":"string","enum":["AK","AL","AR","AZ","CA","CO","CT","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"]},"zip":{"description":"ZIP code.","type":"string","minLength":1},"first_name":{"description":"First name, to sharpen the match.","type":"string","minLength":1},"last_name":{"description":"Last name, to sharpen the match.","type":"string","minLength":1}},"required":["line1"],"additionalProperties":false,"description":"Postal address to look up."},"max_chips":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The most chips you are willing to spend. A match costs 1 chip, so any value of 1 or more works. No match is free."}},"additionalProperties":false,"description":"Look up one person. Free unless we find a match, which costs 1 chip."},"EnrichBatchInput":{"type":"object","properties":{"rows":{"minItems":1,"maxItems":10000,"type":"array","items":{"$ref":"#/components/schemas/EnrichRow"},"description":"Things to look up, 1 to 10,000 rows."},"max_chips":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The most chips the whole job may spend. The job stops matching once it is reached."}},"required":["rows","max_chips"],"additionalProperties":false,"description":"Look up many people in one job. Each match costs 1 chip. Rows with no match are free."},"EnrichRow":{"type":"object","properties":{"email":{"description":"Email address to look up.","type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"phone":{"description":"Phone number to look up.","type":"string","minLength":1},"ip":{"description":"IPv4 or IPv6 address to look up.","type":"string","minLength":1},"md5":{"description":"MD5 hash of an email address, 32 hex characters.","type":"string","pattern":"^[a-fA-F0-9]{32}$"},"address":{"type":"object","properties":{"line1":{"type":"string","minLength":1,"description":"Street address."},"city":{"description":"City. Send with state if you leave out zip.","type":"string","minLength":1},"state":{"description":"State. Send with city if you leave out zip.","type":"string","enum":["AK","AL","AR","AZ","CA","CO","CT","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"]},"zip":{"description":"ZIP code.","type":"string","minLength":1},"first_name":{"description":"First name, to sharpen the match.","type":"string","minLength":1},"last_name":{"description":"Last name, to sharpen the match.","type":"string","minLength":1}},"required":["line1"],"additionalProperties":false,"description":"Postal address to look up."}},"additionalProperties":false,"description":"One thing to look up. Send exactly one of email, phone, ip, md5 or address."},"CreateWebhookInput":{"type":"object","properties":{"url":{"type":"string","maxLength":2000,"format":"uri","description":"Where we send events. Must be a public https URL."},"events":{"minItems":1,"type":"array","items":{"type":"string","enum":["audience.ready","audience.new_leads","enrichment.completed","chips.low"],"description":"Event you can subscribe to. audience.ready: an audience build finished. audience.new_leads: a watched audience found new leads. enrichment.completed: a batch enrichment job finished. chips.low: your chip balance is running low."},"description":"Events to send to this URL."},"audience_ids":{"anyOf":[{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^aud_"}},{"type":"null"}],"description":"Only send audience events for these audiences. Null for all audiences."}},"required":["url","events"],"additionalProperties":false},"UpdateWebhookInput":{"type":"object","properties":{"url":{"type":"string","maxLength":2000,"format":"uri","description":"Where we send events. Must be a public https URL."},"events":{"minItems":1,"type":"array","items":{"type":"string","enum":["audience.ready","audience.new_leads","enrichment.completed","chips.low"],"description":"Event you can subscribe to. audience.ready: an audience build finished. audience.new_leads: a watched audience found new leads. enrichment.completed: a batch enrichment job finished. chips.low: your chip balance is running low."},"description":"Events to send to this URL."},"audience_ids":{"anyOf":[{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^aud_"}},{"type":"null"}],"description":"Only send audience events for these audiences. Null for all audiences."},"status":{"description":"Set to 'active' to turn a disabled endpoint back on, or 'disabled' to pause it.","type":"string","enum":["active","disabled"]}},"additionalProperties":false},"AudienceReadyEvent":{"type":"object","properties":{"id":{"type":"string","pattern":"^evt_","description":"Unique event id. Starts with evt_. Use it to ignore duplicate deliveries."},"type":{"type":"string","const":"audience.ready","description":"Event type."},"created":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the event happened, as an ISO 8601 timestamp."},"workspace_id":{"type":"string","description":"Workspace the event belongs to."},"data":{"type":"object","properties":{"audience_id":{"type":"string","description":"Audience id."},"name":{"type":"string","description":"Audience name."},"type":{"type":"string","enum":["b2c","b2b","people"],"description":"Audience type. 'b2c' is Consumers, 'b2b' is Businesses (both are built from intent topics). 'people' is a plain people search with no intent data."},"status":{"type":"string","enum":["ready","failed"],"description":"Whether the build worked."},"total_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of leads the audience matched."}},"required":["audience_id","name","type","status","total_count"],"description":"Details of the finished build."}},"required":["id","type","created","workspace_id","data"],"description":"Sent when an audience build finishes."},"AudienceNewLeadsEvent":{"type":"object","properties":{"id":{"type":"string","pattern":"^evt_","description":"Unique event id. Starts with evt_. Use it to ignore duplicate deliveries."},"type":{"type":"string","const":"audience.new_leads","description":"Event type."},"created":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the event happened, as an ISO 8601 timestamp."},"workspace_id":{"type":"string","description":"Workspace the event belongs to."},"data":{"type":"object","properties":{"audience_id":{"type":"string","description":"Audience id."},"run_id":{"type":"string","description":"Id of the watch run that found these leads."},"new_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total number of new leads found in this run."},"revealed_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of them were revealed automatically."},"masked_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many were left hidden because the auto-reveal cap was reached."},"leads":{"maxItems":1000,"type":"array","items":{"$ref":"#/components/schemas/Lead"},"description":"The revealed leads in full, up to 1000 per delivery."},"reveal_url":{"description":"Link to Reveal the hidden leads. Null when nothing is hidden.","type":["string","null"]},"batch":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Shared by every part of the same run."},"part":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"This part's number, starting at 1."},"parts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many parts the run was split into."}},"required":["id","part","parts"]},{"type":"null"}],"description":"Set when the run held more than 1000 leads and was split across several deliveries. Null otherwise."}},"required":["audience_id","run_id","new_count","revealed_count","masked_count","leads","reveal_url","batch"],"description":"The new leads from this run and the counts."}},"required":["id","type","created","workspace_id","data"],"description":"Sent when a watched audience finds new leads."},"Lead":{"type":"object","properties":{"id":{"type":"string","pattern":"^lead_","description":"Lead id. Starts with lead_."},"first_name":{"description":"First name.","type":["string","null"]},"last_name":{"description":"Last name.","type":["string","null"]},"email":{"description":"Primary personal email address.","type":["string","null"]},"emails":{"type":"array","items":{"type":"string"},"description":"All known email addresses, including the primary one."},"business_email":{"description":"Work email address.","type":["string","null"]},"phone":{"description":"Personal phone number.","type":["string","null"]},"mobile_phone":{"description":"Mobile phone number.","type":["string","null"]},"direct_phone":{"description":"Direct work phone number.","type":["string","null"]},"linkedin_url":{"description":"LinkedIn profile URL.","type":["string","null"]},"address":{"type":"object","properties":{"line1":{"description":"Street address.","type":["string","null"]},"line2":{"description":"Apartment, suite or unit.","type":["string","null"]},"city":{"description":"City.","type":["string","null"]},"state":{"description":"State.","type":["string","null"]},"zip":{"description":"ZIP code.","type":["string","null"]},"country":{"description":"Country.","type":["string","null"]}},"required":["line1","line2","city","state","zip","country"],"description":"Home address."},"demographics":{"type":"object","properties":{"gender":{"anyOf":[{"type":"string","enum":["male","female","unknown"],"description":"Gender of the person."},{"type":"null"}],"description":"Gender."},"age_range":{"anyOf":[{"type":"string","enum":["18-24","25-34","35-44","45-54","55-64","65+"],"description":"Age bracket of the person."},{"type":"null"}],"description":"Age bracket."},"married":{"description":"Whether the person is married.","type":["boolean","null"]},"children":{"description":"Whether the person has children.","type":["boolean","null"]},"income_range":{"anyOf":[{"type":"string","enum":["<20k","20-30k","30-40k","40-50k","50-75k","75-100k","100-150k","150-250k","250k+"],"description":"Estimated household income bracket, in US dollars per year."},{"type":"null"}],"description":"Household income bracket."},"net_worth":{"anyOf":[{"type":"string","enum":["<0","0-5k","5-25k","25-100k","100-250k","250-500k","500k-1m","1m+"],"description":"Estimated household net worth bracket, in US dollars."},{"type":"null"}],"description":"Household net worth bracket."},"homeowner":{"description":"Whether the person owns their home.","type":["boolean","null"]}},"required":["gender","age_range","married","children","income_range","net_worth","homeowner"],"description":"Who the person is."},"job":{"type":"object","properties":{"title":{"description":"Job title.","type":["string","null"]},"seniority":{"anyOf":[{"type":"string","enum":["c_suite","vp","director","manager","staff"],"description":"Seniority level of the person's job."},{"type":"null"}],"description":"Seniority level."},"department":{"anyOf":[{"type":"string","enum":["administrative","engineering","executive","finance","marketing","sales","other"],"description":"Department the person works in."},{"type":"null"}],"description":"Department."}},"required":["title","seniority","department"],"description":"What the person does."},"company":{"type":"object","properties":{"name":{"description":"Company name.","type":["string","null"]},"domain":{"description":"Company website domain.","type":["string","null"]},"phone":{"description":"Company phone number.","type":["string","null"]},"industry":{"description":"Industry.","type":["string","null"]},"size":{"anyOf":[{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10000+"],"description":"Number of employees at the company, as a bracket."},{"type":"null"}],"description":"Company size bracket, by employee count."},"revenue":{"anyOf":[{"type":"string","enum":["<1m","1-10m","10-50m","50-100m","100-500m","500m-1b","1b+"],"description":"Annual company revenue bracket, in US dollars."},{"type":"null"}],"description":"Company revenue bracket."},"sic":{"description":"SIC industry code.","type":["string","null"]},"naics":{"description":"NAICS industry code.","type":["string","null"]},"city":{"description":"Company city.","type":["string","null"]},"state":{"description":"Company state.","type":["string","null"]},"country":{"description":"Company country.","type":["string","null"]}},"required":["name","domain","phone","industry","size","revenue","sic","naics","city","state","country"],"description":"Where the person works."},"intent":{"anyOf":[{"$ref":"#/components/schemas/LeadIntent"},{"type":"null"}]},"household":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number","boolean","null"]}},{"type":"null"}],"description":"Extra household details from an enrichment lookup, such as home value. Null when there are none."},"updated_at":{"description":"When this lead's data was last updated, as an ISO 8601 timestamp.","type":["string","null"]}},"required":["id","first_name","last_name","email","emails","business_email","phone","mobile_phone","direct_phone","linkedin_url","address","demographics","job","company","intent","household","updated_at"],"description":"A revealed lead with every available field."},"LeadIntent":{"type":"object","properties":{"level":{"anyOf":[{"type":"string","enum":["high","medium","low"],"description":"How strong the buying intent is. 'high' is Hot, 'medium' is Warm, 'low' is Cold."},{"type":"null"}],"description":"Intent level: high is Hot, medium is Warm, low is Cold."},"topic":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Topic id."},"name":{"type":"string","description":"Topic name."},"category":{"description":"Topic category, when known.","type":["string","null"]}},"required":["id","name","category"]},{"type":"null"}],"description":"The topic the person showed intent for."},"last_active":{"description":"Date the person last showed intent for this topic, as YYYY-MM-DD.","type":["string","null"]}},"required":["level","topic","last_active"],"description":"Buying intent signal. Null on leads that did not come from an intent audience."},"EnrichmentCompletedEvent":{"type":"object","properties":{"id":{"type":"string","pattern":"^evt_","description":"Unique event id. Starts with evt_. Use it to ignore duplicate deliveries."},"type":{"type":"string","const":"enrichment.completed","description":"Event type."},"created":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the event happened, as an ISO 8601 timestamp."},"workspace_id":{"type":"string","description":"Workspace the event belongs to."},"data":{"type":"object","properties":{"job_id":{"type":"string","description":"Enrichment job id."},"status":{"type":"string","enum":["completed","failed"],"description":"How the job ended."},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rows submitted."},"matched":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rows that matched a lead."},"chips_charged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chips spent on the matches."}},"required":["job_id","status","total","matched","chips_charged"],"description":"Result of the job."}},"required":["id","type","created","workspace_id","data"],"description":"Sent when a batch enrichment job finishes."},"ChipsLowEvent":{"type":"object","properties":{"id":{"type":"string","pattern":"^evt_","description":"Unique event id. Starts with evt_. Use it to ignore duplicate deliveries."},"type":{"type":"string","const":"chips.low","description":"Event type."},"created":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the event happened, as an ISO 8601 timestamp."},"workspace_id":{"type":"string","description":"Workspace the event belongs to."},"data":{"type":"object","properties":{"balance":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chips left."},"threshold":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The balance that triggered this alert."},"last_grant":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Size of the most recent chip grant, in chips."}},"required":["balance","threshold","last_grant"],"description":"Current balance and the threshold that fired."}},"required":["id","type","created","workspace_id","data"],"description":"Sent when the chip balance drops below 10% of the last grant, or below 50 chips."},"Me":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","description":"Workspace id."},"name":{"type":"string","description":"Workspace name."},"plan":{"type":"string","enum":["none","starter","pro","scale"],"description":"Current plan."}},"required":["id","name","plan"],"description":"The workspace this API key belongs to."},"api_key":{"type":"object","properties":{"id":{"type":"string","description":"API key id."},"name":{"type":"string","description":"Name you gave the key."},"prefix":{"type":"string","description":"First characters of the key, so you can recognise it."}},"required":["id","name","prefix"],"description":"The API key making this request."},"balance":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips available to spend right now."}},"required":["workspace","api_key","balance"],"description":"Who you are and how many chips you have."},"ErrorBody":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","invalid_filters","insufficient_chips","max_chips_exceeded","rate_limited","capacity_unavailable","upstream_unavailable","internal_error"],"description":"Stable machine-readable error code. unauthorized: missing or bad API key. forbidden: key cannot do this. not_found: no such resource. invalid_request: malformed request. invalid_filters: the filters are not valid. insufficient_chips: not enough chips. max_chips_exceeded: the action would spend more than max_chips. rate_limited: too many requests. capacity_unavailable: temporarily out of capacity, retry later. upstream_unavailable: a data source is down, retry later. internal_error: our fault."},"message":{"type":"string","description":"What went wrong, in plain English."},"docs_url":{"type":"string","description":"Link to the docs page for this error."},"request_id":{"type":"string","description":"Quote this id when you contact support."},"details":{"description":"Field-level problems, present on invalid_request and invalid_filters.","type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Dotted path to the offending field, such as where.0.op."},"message":{"type":"string","description":"What is wrong with that field."}},"required":["path","message"]}}},"required":["code","message","docs_url","request_id"],"description":"What went wrong."}},"required":["error"],"description":"Every error response has this shape."},"FiltersResponse":{"type":"object","properties":{"operators":{"type":"array","items":{"type":"string","enum":["eq","neq","lt","gt","lte","gte","between","in","not_in","contains","has_value","has_no_value"],"description":"Comparison operator. eq/neq: equals or does not equal one value. lt/gt/lte/gte/between: date comparisons. in/not_in: matches any or none of a list. contains: case-insensitive substring. has_value/has_no_value: the field is filled in or empty."},"description":"Every operator that exists."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/FilterDef"},"description":"Every field you can filter on, with its operators and allowed values."}},"required":["operators","filters"],"description":"Everything you can put in a where[] clause."},"FilterDef":{"type":"object","properties":{"key":{"type":"string","enum":["active_date","topic","intent_level","topic_category","topic_subcategory","first_name","last_name","email","other_emails","email_validation_status","email_last_seen","phone","mobile_phone","direct_phone","linkedin_url","social_connections","business_email","other_business_emails","business_email_validation_status","business_email_last_seen","address_line1","address_line2","city","state","zip","zip4","country","gender","age","married","children","income","net_worth","homeowner","job_title","job_title_normalized","job_title_updated","seniority","seniority_secondary","department","department_secondary","work_address_line1","work_address_line2","work_city","work_state","work_zip","work_zip4","company_name","company_domain","company_related_domains","company_phone","company_sic","company_naics","company_address","company_city","company_state","company_zip","company_country","company_revenue","company_size","industry","company_updated","company_description","company_contact_id","lead_updated"],"description":"Field key to use in a where[] clause."},"label":{"type":"string","description":"Human-readable name of the field."},"group":{"type":"string","enum":["intent","location","demographics","job","company","contact","advanced"],"description":"Section the field belongs to in the filter picker."},"kind":{"type":"string","enum":["text","multiselect","date"],"description":"How values are entered. 'text' is free text, 'multiselect' is a pick from a fixed list, 'date' is YYYY-MM-DD."},"operators":{"minItems":1,"type":"array","items":{"type":"string","enum":["eq","neq","lt","gt","lte","gte","between","in","not_in","contains","has_value","has_no_value"],"description":"Comparison operator. eq/neq: equals or does not equal one value. lt/gt/lte/gte/between: date comparisons. in/not_in: matches any or none of a list. contains: case-insensitive substring. has_value/has_no_value: the field is filled in or empty."},"description":"Operators that are valid for this field."},"options":{"description":"The only values accepted for this field. Absent for free text and dates.","type":"array","items":{"type":"string"}},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["b2c","b2b","people"]},"description":"Audience types this field can be used with."}},"required":["key","label","group","kind","operators","types"]},"TopicList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Topic"},"description":"Matching topics, best match first."}},"required":["data"]},"Topic":{"type":"object","properties":{"id":{"type":"string","pattern":"^tp_","description":"Topic id. Starts with tp_. Use it in an audience's topics list."},"name":{"type":"string","description":"Topic name."},"category":{"description":"Broad category the topic belongs to, when known.","type":["string","null"]},"subcategory":{"description":"Narrower category the topic belongs to, when known.","type":["string","null"]}},"required":["id","name","category","subcategory"]},"DescribeResult":{"type":"object","properties":{"type":{"type":"string","enum":["b2c","b2b","people"],"description":"Audience type chosen. Same as filters.type."},"filters":{"type":"object","properties":{"type":{"type":"string","enum":["b2c","b2b","people"],"description":"Audience type. 'b2c' is Consumers, 'b2b' is Businesses (both are built from intent topics). 'people' is a plain people search with no intent data."},"topics":{"description":"Intent topics to target, 1 to 5 ids from GET /v1/topics. Required for b2c and b2b audiences, not allowed for people.","minItems":1,"maxItems":5,"type":"array","items":{"type":"string","pattern":"^tp_\\d+$","description":"Topic id, as returned by GET /v1/topics. Looks like tp_123."}},"intent":{"description":"Only include leads at these intent levels. Not allowed for people audiences.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["high","medium","low"],"description":"How strong the buying intent is. 'high' is Hot, 'medium' is Warm, 'low' is Cold."}},"active_within_days":{"description":"Only include leads that showed intent in the last N days, from 1 to 14. Not allowed for people audiences.","type":"integer","minimum":1,"maximum":14},"location":{"description":"Where the person lives.","type":"object","properties":{"states":{"description":"Two-letter US state codes, uppercase.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["AK","AL","AR","AZ","CA","CO","CT","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"description":"Two-letter US state code, uppercase."}},"zips":{"description":"ZIP codes.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"cities":{"description":"City names.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"additionalProperties":false},"demographics":{"description":"Who the person is.","type":"object","properties":{"gender":{"description":"Genders to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["male","female","unknown"],"description":"Gender of the person."}},"age":{"description":"Age brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["18-24","25-34","35-44","45-54","55-64","65+"],"description":"Age bracket of the person."}},"income":{"description":"Household income brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<20k","20-30k","30-40k","40-50k","50-75k","75-100k","100-150k","150-250k","250k+"],"description":"Estimated household income bracket, in US dollars per year."}},"net_worth":{"description":"Net worth brackets to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<0","0-5k","5-25k","25-100k","100-250k","250-500k","500k-1m","1m+"],"description":"Estimated household net worth bracket, in US dollars."}},"homeowner":{"description":"True for homeowners only, false for non-owners.","type":"boolean"},"married":{"description":"True for married people only, false for unmarried.","type":"boolean"},"children":{"description":"True for people with children only, false for people without.","type":"boolean"}},"additionalProperties":false},"job":{"description":"What the person does.","type":"object","properties":{"titles":{"description":"Job titles to match. Each is a case-insensitive substring.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"seniority":{"description":"Seniority levels to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["c_suite","vp","director","manager","staff"],"description":"Seniority level of the person's job."}},"departments":{"description":"Departments to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["administrative","engineering","executive","finance","marketing","sales","other"],"description":"Department the person works in."}}},"additionalProperties":false},"company":{"description":"Where the person works.","type":"object","properties":{"names":{"description":"Company names, exact match.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"domains":{"description":"Company website domains, such as acme.com.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"industries":{"description":"Industries to include.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"size":{"description":"Company size brackets, by employee count.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10000+"],"description":"Number of employees at the company, as a bracket."}},"revenue":{"description":"Company revenue brackets.","minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","enum":["<1m","1-10m","10-50m","50-100m","100-500m","500m-1b","1b+"],"description":"Annual company revenue bracket, in US dollars."}}},"additionalProperties":false},"where":{"description":"Advanced filters on any field in GET /v1/filters. All clauses and all other filters must match (AND).","maxItems":25,"type":"array","items":{"$ref":"#/components/schemas/WhereClause"}}},"required":["type"],"additionalProperties":false,"description":"The filters we built from your description. Review them, then create an audience with them.","$ref":"#/components/schemas/AudienceFilters"},"summary":{"type":"string","description":"One or two sentences saying what the filters will find."},"topic_matches":{"type":"array","items":{"$ref":"#/components/schemas/Topic"},"description":"The intent topics we matched to your description."}},"required":["type","filters","summary","topic_matches"],"description":"Free. Nothing is built or charged until you create an audience from the filters."},"Audience":{"type":"object","properties":{"id":{"type":"string","pattern":"^aud_","description":"Audience id. Starts with aud_."},"name":{"type":"string","description":"Audience name."},"type":{"type":"string","enum":["b2c","b2b","people"],"description":"Audience type. 'b2c' is Consumers, 'b2b' is Businesses (both are built from intent topics). 'people' is a plain people search with no intent data."},"status":{"type":"string","enum":["building","ready","failed"],"description":"'building' while we assemble it, 'ready' once leads can be previewed and revealed, 'failed' if the build failed."},"filters":{"description":"What to look for. Pick a type, add topics for b2c and b2b, then narrow with the optional groups or with where[] clauses.","$ref":"#/components/schemas/AudienceFilters"},"prompt":{"description":"The plain-English description it was built from, if any.","type":["string","null"]},"total_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Leads the audience holds for preview and reveal: at most 500 from a build, plus any a watch run added. Zero until the audience is ready."},"total_is_capped":{"type":"boolean","description":"True when more leads match than the audience holds (it hit the build limit or the preview size); show total_count as N+, or show match_count."},"match_count":{"description":"Every lead that matches the filters, counted when the audience was last built or watched. Often far more than total_count, which is what can be previewed and revealed. Null when unknown.","anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"saved":{"type":"boolean","description":"Whether the audience is saved in the app."},"watch":{"anyOf":[{"$ref":"#/components/schemas/WatchConfigOutput"},{"type":"null"}],"description":"Watch schedule. Null when the audience is not watched."},"next_run_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"When the next watch run starts. Null when the audience is not watched."},"last_run":{"anyOf":[{"$ref":"#/components/schemas/AudienceRun"},{"type":"null"}],"description":"The most recent run."},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the audience was created."}},"required":["id","name","type","status","filters","prompt","total_count","total_is_capped","saved","watch","next_run_at","last_run","created_at"],"description":"A set of leads that match your filters. Previewing it is free. Revealing leads costs chips."},"AudienceRun":{"type":"object","properties":{"id":{"type":"string","description":"Run id."},"kind":{"type":"string","enum":["build","watch"],"description":"'build' is the first run. 'watch' is a scheduled re-run."},"status":{"type":"string","enum":["running","completed","failed"],"description":"Where the run is."},"total_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Leads the run matched in total."},"new_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Leads in this run that the audience had not delivered before."},"revealed_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Leads revealed automatically during this run."},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the run started."},"finished_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"When the run finished. Null while it is still running."}},"required":["id","kind","status","total_count","new_count","revealed_count","started_at","finished_at"],"description":"One execution of an audience."},"AudienceLead":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^lead_","description":"Lead id. Starts with lead_."},"first_name":{"description":"First name.","type":["string","null"]},"last_name":{"description":"Last name.","type":["string","null"]},"email":{"description":"Primary personal email address.","type":["string","null"]},"emails":{"type":"array","items":{"type":"string"},"description":"All known email addresses, including the primary one."},"business_email":{"description":"Work email address.","type":["string","null"]},"phone":{"description":"Personal phone number.","type":["string","null"]},"mobile_phone":{"description":"Mobile phone number.","type":["string","null"]},"direct_phone":{"description":"Direct work phone number.","type":["string","null"]},"linkedin_url":{"description":"LinkedIn profile URL.","type":["string","null"]},"address":{"type":"object","properties":{"line1":{"description":"Street address.","type":["string","null"]},"line2":{"description":"Apartment, suite or unit.","type":["string","null"]},"city":{"description":"City.","type":["string","null"]},"state":{"description":"State.","type":["string","null"]},"zip":{"description":"ZIP code.","type":["string","null"]},"country":{"description":"Country.","type":["string","null"]}},"required":["line1","line2","city","state","zip","country"],"description":"Home address."},"demographics":{"type":"object","properties":{"gender":{"anyOf":[{"type":"string","enum":["male","female","unknown"],"description":"Gender of the person."},{"type":"null"}],"description":"Gender."},"age_range":{"anyOf":[{"type":"string","enum":["18-24","25-34","35-44","45-54","55-64","65+"],"description":"Age bracket of the person."},{"type":"null"}],"description":"Age bracket."},"married":{"description":"Whether the person is married.","type":["boolean","null"]},"children":{"description":"Whether the person has children.","type":["boolean","null"]},"income_range":{"anyOf":[{"type":"string","enum":["<20k","20-30k","30-40k","40-50k","50-75k","75-100k","100-150k","150-250k","250k+"],"description":"Estimated household income bracket, in US dollars per year."},{"type":"null"}],"description":"Household income bracket."},"net_worth":{"anyOf":[{"type":"string","enum":["<0","0-5k","5-25k","25-100k","100-250k","250-500k","500k-1m","1m+"],"description":"Estimated household net worth bracket, in US dollars."},{"type":"null"}],"description":"Household net worth bracket."},"homeowner":{"description":"Whether the person owns their home.","type":["boolean","null"]}},"required":["gender","age_range","married","children","income_range","net_worth","homeowner"],"description":"Who the person is."},"job":{"type":"object","properties":{"title":{"description":"Job title.","type":["string","null"]},"seniority":{"anyOf":[{"type":"string","enum":["c_suite","vp","director","manager","staff"],"description":"Seniority level of the person's job."},{"type":"null"}],"description":"Seniority level."},"department":{"anyOf":[{"type":"string","enum":["administrative","engineering","executive","finance","marketing","sales","other"],"description":"Department the person works in."},{"type":"null"}],"description":"Department."}},"required":["title","seniority","department"],"description":"What the person does."},"company":{"type":"object","properties":{"name":{"description":"Company name.","type":["string","null"]},"domain":{"description":"Company website domain.","type":["string","null"]},"phone":{"description":"Company phone number.","type":["string","null"]},"industry":{"description":"Industry.","type":["string","null"]},"size":{"anyOf":[{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10000+"],"description":"Number of employees at the company, as a bracket."},{"type":"null"}],"description":"Company size bracket, by employee count."},"revenue":{"anyOf":[{"type":"string","enum":["<1m","1-10m","10-50m","50-100m","100-500m","500m-1b","1b+"],"description":"Annual company revenue bracket, in US dollars."},{"type":"null"}],"description":"Company revenue bracket."},"sic":{"description":"SIC industry code.","type":["string","null"]},"naics":{"description":"NAICS industry code.","type":["string","null"]},"city":{"description":"Company city.","type":["string","null"]},"state":{"description":"Company state.","type":["string","null"]},"country":{"description":"Company country.","type":["string","null"]}},"required":["name","domain","phone","industry","size","revenue","sic","naics","city","state","country"],"description":"Where the person works."},"intent":{"anyOf":[{"$ref":"#/components/schemas/LeadIntent"},{"type":"null"}]},"household":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number","boolean","null"]}},{"type":"null"}],"description":"Extra household details from an enrichment lookup, such as home value. Null when there are none."},"updated_at":{"description":"When this lead's data was last updated, as an ISO 8601 timestamp.","type":["string","null"]},"unlocked":{"type":"boolean","const":true,"description":"True: you already revealed this lead, so every field is included."}},"required":["id","first_name","last_name","email","emails","business_email","phone","mobile_phone","direct_phone","linkedin_url","address","demographics","job","company","intent","household","updated_at","unlocked"]},{"type":"object","properties":{"id":{"type":"string","pattern":"^lead_","description":"Lead id. Starts with lead_."},"first_name":{"description":"First name.","type":["string","null"]},"last_initial":{"description":"First letter of the last name.","type":["string","null"]},"city":{"description":"City.","type":["string","null"]},"state":{"description":"State.","type":["string","null"]},"job":{"type":"object","properties":{"title":{"description":"Job title.","type":["string","null"]}},"required":["title"],"description":"What the person does."},"company":{"type":"object","properties":{"name":{"description":"Company name.","type":["string","null"]}},"required":["name"],"description":"Where the person works."},"intent":{"anyOf":[{"$ref":"#/components/schemas/LeadIntent"},{"type":"null"}]},"has_email":{"type":"boolean","description":"Whether Reveal would return an email address."},"has_phone":{"type":"boolean","description":"Whether Reveal would return a phone number."},"has_linkedin":{"type":"boolean","description":"Whether Reveal would return a LinkedIn URL."},"unlocked":{"type":"boolean","const":false,"description":"False: a free preview. Reveal it to see everything."}},"required":["id","first_name","last_initial","city","state","job","company","intent","has_email","has_phone","has_linkedin","unlocked"]}],"description":"A lead in an audience: full if you already revealed it, a free preview if not.","type":"object"},"RevealResult":{"type":"object","properties":{"leads":{"type":"array","items":{"$ref":"#/components/schemas/Lead"},"description":"The revealed leads, in full."},"chips_charged":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips spent by this call."},"balance":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips left after this call."}},"required":["leads","chips_charged","balance"]},"EnrichResult":{"type":"object","properties":{"matched":{"type":"boolean","description":"Whether we found a match."},"lead":{"anyOf":[{"$ref":"#/components/schemas/Lead"},{"type":"null"}],"description":"The matched lead, in full. Null when there was no match."},"chips_charged":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips spent by this call. 0 when there was no match or you already had the lead."},"balance":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips left after this call."}},"required":["matched","lead","chips_charged","balance"]},"EnrichmentJob":{"type":"object","properties":{"id":{"type":"string","pattern":"^enr_","description":"Enrichment job id. Starts with enr_."},"status":{"type":"string","enum":["pending","running","completed","failed"],"description":"Where the job is."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Rows submitted."},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Rows looked up so far. Equals total once the job has finished."},"matched":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Rows matched so far."},"chips_charged":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips spent by this job so far."},"error_code":{"anyOf":[{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","invalid_filters","insufficient_chips","max_chips_exceeded","rate_limited","capacity_unavailable","upstream_unavailable","internal_error"],"description":"Stable machine-readable error code. unauthorized: missing or bad API key. forbidden: key cannot do this. not_found: no such resource. invalid_request: malformed request. invalid_filters: the filters are not valid. insufficient_chips: not enough chips. max_chips_exceeded: the action would spend more than max_chips. rate_limited: too many requests. capacity_unavailable: temporarily out of capacity, retry later. upstream_unavailable: a data source is down, retry later. internal_error: our fault."},{"type":"null"}],"description":"Why the job stopped early: 'insufficient_chips' when you ran out of chips (rows after that were not looked up), or the error that failed the job, such as 'upstream_unavailable'. Null when it ran to the end."},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the job was created."},"result_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}],"description":"Download link for the result CSV: your rows plus the matched lead fields. Valid for 15 minutes; fetch the job again for a new one. Null until the job finishes."}},"required":["id","status","total","processed","matched","chips_charged","error_code","created_at","result_url"],"description":"A batch enrichment job. Poll it, or subscribe to the enrichment.completed webhook."},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_."},"url":{"type":"string","description":"Where we send events."},"events":{"minItems":1,"type":"array","items":{"type":"string","enum":["audience.ready","audience.new_leads","enrichment.completed","chips.low"],"description":"Event you can subscribe to. audience.ready: an audience build finished. audience.new_leads: a watched audience found new leads. enrichment.completed: a batch enrichment job finished. chips.low: your chip balance is running low."},"description":"Events to send to this URL."},"audience_ids":{"anyOf":[{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^aud_"}},{"type":"null"}],"description":"Only send audience events for these audiences. Null for all audiences."},"status":{"type":"string","enum":["active","disabled"],"description":"'disabled' after 3 events in a row fail all their retries. Re-enable it with PATCH."},"failure_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events in a row that have failed all their retries."},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the endpoint was created."}},"required":["id","url","events","audience_ids","status","failure_count","created_at"],"description":"A URL that receives signed event deliveries."},"WebhookEndpointCreated":{"type":"object","properties":{"id":{"type":"string","pattern":"^wh_","description":"Webhook endpoint id. Starts with wh_."},"url":{"type":"string","description":"Where we send events."},"events":{"minItems":1,"type":"array","items":{"type":"string","enum":["audience.ready","audience.new_leads","enrichment.completed","chips.low"],"description":"Event you can subscribe to. audience.ready: an audience build finished. audience.new_leads: a watched audience found new leads. enrichment.completed: a batch enrichment job finished. chips.low: your chip balance is running low."},"description":"Events to send to this URL."},"audience_ids":{"anyOf":[{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^aud_"}},{"type":"null"}],"description":"Only send audience events for these audiences. Null for all audiences."},"status":{"type":"string","enum":["active","disabled"],"description":"'disabled' after 3 events in a row fail all their retries. Re-enable it with PATCH."},"failure_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events in a row that have failed all their retries."},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the endpoint was created."},"secret":{"type":"string","pattern":"^whsec_","description":"Signing secret, starts with whsec_. Shown once. Use it to verify the Diced-Signature header."}},"required":["id","url","events","audience_ids","status","failure_count","created_at","secret"],"description":"A new webhook endpoint, including its signing secret. This is the only time the secret is shown."},"WebhookTestResult":{"type":"object","properties":{"delivered":{"type":"boolean","description":"Whether your URL answered with a 2xx status."},"status_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"HTTP status your URL returned. Null if it could not be reached."},"error":{"description":"What went wrong, if the delivery failed.","type":["string","null"]}},"required":["delivered","status_code","error"],"description":"Result of sending a test event to the endpoint."},"ChipsSummary":{"type":"object","properties":{"balance":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips available to spend right now."},"lots":{"type":"array","items":{"$ref":"#/components/schemas/ChipLot"},"description":"Chip lots that still have chips in them."},"ledger":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LedgerEntry"},"description":"The items on this page."},"next_cursor":{"description":"Pass this as ?cursor= to get the next page. Null on the last page.","type":["string","null"]}},"required":["data","next_cursor"],"description":"History of balance changes, newest first. Page with ?cursor= and ?limit=."}},"required":["balance","lots","ledger"],"description":"Your chip balance, where it comes from, and what changed it."},"ChipLot":{"type":"object","properties":{"id":{"type":"string","description":"Lot id."},"source":{"type":"string","enum":["pack","plan","bonus","grant"],"description":"Where the chips came from."},"amount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips originally in the lot."},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Chips left in the lot."},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the remaining chips expire."}},"required":["id","source","amount","remaining","expires_at"],"description":"A batch of chips with one expiry date. The oldest expiry is spent first."},"LedgerEntry":{"type":"object","properties":{"id":{"type":"string","description":"Ledger entry id."},"delta":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chips added (positive) or spent (negative)."},"balance_after":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Balance after this entry."},"reason":{"type":"string","enum":["purchase","plan_grant","bonus","reveal","enrich","auto_reveal","refund","expire","admin"],"description":"Why the balance changed."},"ref_type":{"description":"What kind of thing caused it, such as 'audience'.","type":["string","null"]},"ref_id":{"description":"Id of the thing that caused it.","type":["string","null"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When it happened."}},"required":["id","delta","balance_after","reason","ref_type","ref_id","created_at"],"description":"One change to the chip balance."},"WatchConfigOutput":{"type":"object","properties":{"interval":{"type":"string","enum":["day","week","month"],"description":"How often a watched audience re-runs."},"auto_reveal":{"default":false,"description":"Reveal new leads automatically, spending chips, up to the cap on every run.","type":"boolean"},"cap":{"default":100,"description":"Most chips to spend on auto-reveal in one run, 0 to 10,000. Defaults to 100. Must be at least 1 when auto_reveal is true. New leads past the cap are delivered hidden.","type":"integer","minimum":0,"maximum":10000}},"required":["interval","auto_reveal","cap"],"additionalProperties":false,"description":"Re-run the audience on a schedule and look for new leads."}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Create a key in the app under Developers. Keys start with dcd_live_."}}}}