From 29e9bf91847b72ab28dea8e893b5b09b1b7f0b35 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 2 Sep 2024 20:50:48 +0000 Subject: [PATCH] ci: regenerated with Speakeasy CLI v1.386.0 --- .speakeasy/workflow.lock | 4 +- openapi-with-code-samples.yaml | 2236 +++----------------------------- 2 files changed, 155 insertions(+), 2085 deletions(-) diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 82420c2..ed86a5a 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.386.0 sources: merge-code-samples-into-spec: sourceNamespace: merge-code-samples-into-spec - sourceRevisionDigest: sha256:3f156090b26c1a6afac43f2b9b6a301ffc5531c9d19388c3afa4a57701bf1540 - sourceBlobDigest: sha256:b6b46622ca1940fbbd69de327f7b3311455ac032b992094f05c09665a9ceba1a + sourceRevisionDigest: sha256:1a99af41cbf382a671b49bc73cb6326f247e86fae6473b54371735b93d08d30a + sourceBlobDigest: sha256:4ce400a2f8c8ee2aeac71f1eb07236b5de7874677be8eabab65a8d4be8391e71 tags: - latest - main diff --git a/openapi-with-code-samples.yaml b/openapi-with-code-samples.yaml index 38a4a20..6e40e6f 100644 --- a/openapi-with-code-samples.yaml +++ b/openapi-with-code-samples.yaml @@ -978,6 +978,47 @@ paths: "422": {"$ref": "#/components/responses/422"} "429": {"$ref": "#/components/responses/429"} "500": {"$ref": "#/components/responses/500"} + delete: + operationId: "bulkDeleteLinks" + x-speakeasy-name-override: "deleteMany" + summary: "Bulk delete links" + x-codeSamples: [{"lang": "typescript", "label": "bulkDeleteLinks", "source": "import { Dub } from \"dub\";\n\nconst dub = new Dub({\n token: \"DUB_API_KEY\",\n});\n\nasync function run() {\n const result = await dub.links.deleteMany({\n linkIds: \"clux0rgak00011...,clux0rgak00022...\",\n });\n\n // Handle the result\n console.log(result)\n}\n\nrun();"}, {"lang": "java", "source": "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://api.dub.co/links/bulk\")\n .delete(null)\n .addHeader(\"accept\", \"application/json\")\n .addHeader(\"authorization\", \"Bearer MY_TOKEN\")\n .build();\n\nResponse response = client.newCall(request).execute();"}] + description: "Bulk delete up to 100 links for the authenticated workspace." + tags: + - "Links" + security: + - token: [] + parameters: + - in: "query" + name: "linkIds" + description: "Comma-separated list of link IDs to delete. Maximum of 100 IDs. Non-existing IDs will be ignored." + schema: + type: "string" + description: "Comma-separated list of link IDs to delete. Maximum of 100 IDs. Non-existing IDs will be ignored." + example: "clux0rgak00011...,clux0rgak00022..." + required: true + responses: + "200": + description: "The deleted links count." + content: + "application/json": + schema: + type: "object" + properties: + "deletedCount": + type: "number" + description: "The number of links deleted." + required: + - "deletedCount" + "400": {"$ref": "#/components/responses/400"} + "401": {"$ref": "#/components/responses/401"} + "403": {"$ref": "#/components/responses/403"} + "404": {"$ref": "#/components/responses/404"} + "409": {"$ref": "#/components/responses/409"} + "410": {"$ref": "#/components/responses/410"} + "422": {"$ref": "#/components/responses/422"} + "429": {"$ref": "#/components/responses/429"} + "500": {"$ref": "#/components/responses/500"} "/links/upsert": put: operationId: "upsertLink" @@ -2136,8 +2177,13 @@ paths: schema: type: "object" properties: - "eventName": - type: "string" + "click": + type: "object" + properties: + "id": + type: "string" + required: + - "id" "customer": type: "object" properties: @@ -2157,2105 +2203,132 @@ paths: - "name" - "email" - "avatar" - "click": - allOf: - - type: "object" - properties: - "url": - type: "string" - "ip": - type: "string" - "continent": - type: "string" - "country": - type: "string" - "city": - type: "string" - "device": - type: "string" - "browser": - type: "string" - "os": - type: "string" - "ua": - type: "string" - "bot": - type: "boolean" - "qr": - type: "boolean" - "referer": - type: "string" - required: - - "url" - - "ip" - - "continent" - - "country" - - "city" - - "device" - - "browser" - - "os" - - "ua" - - "bot" - - "qr" - - "referer" - - type: "object" - properties: - "id": - type: "string" - required: - - "id" - "link": + required: + - "click" + - "customer" + "400": {"$ref": "#/components/responses/400"} + "401": {"$ref": "#/components/responses/401"} + "403": {"$ref": "#/components/responses/403"} + "404": {"$ref": "#/components/responses/404"} + "409": {"$ref": "#/components/responses/409"} + "410": {"$ref": "#/components/responses/410"} + "422": {"$ref": "#/components/responses/422"} + "429": {"$ref": "#/components/responses/429"} + "500": {"$ref": "#/components/responses/500"} + "/track/sale": + post: + operationId: "trackSale" + x-speakeasy-name-override: "sale" + summary: "Track a sale" + x-codeSamples: [{"lang": "typescript", "label": "trackSale", "source": "import { Dub } from \"dub\";\n\nconst dub = new Dub({\n token: \"DUB_API_KEY\",\n});\n\nasync function run() {\n const result = await dub.track.sale();\n\n // Handle the result\n console.log(result)\n}\n\nrun();"}, {"lang": "go", "label": "trackSale", "source": "package main\n\nimport(\n\tdubgo \"github.com/dubinc/dub-go\"\n\t\"github.com/dubinc/dub-go/models/operations\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := dubgo.New(\n dubgo.WithSecurity(\"DUB_API_KEY\"),\n )\n var request *operations.TrackSaleRequestBody = &operations.TrackSaleRequestBody{\n CustomerID: \"\",\n Amount: 996500,\n PaymentProcessor: operations.PaymentProcessorShopify,\n EventName: dubgo.String(\"Purchase\"),\n }\n ctx := context.Background()\n res, err := s.Track.Sale(ctx, request)\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"}, {"lang": "ruby", "label": "trackSale", "source": "require 'dub'\n\n\ns = ::OpenApiSDK::Dub.new\ns.config_security(\n ::OpenApiSDK::Shared::Security.new(\n token: \"DUB_API_KEY\",\n )\n)\n\n\nreq = ::OpenApiSDK::Operations::TrackSaleRequestBody.new(\n customer_id: \"\",\n amount: 996500,\n payment_processor: ::OpenApiSDK::Operations::PaymentProcessor::SHOPIFY,\n event_name: \"Purchase\",\n)\n \nres = s.track.sale(req)\n\nif ! res.object.nil?\n # handle response\nend"}, {"lang": "php", "label": "trackSale", "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Dub;\nuse Dub\\Models\\Components;\nuse Dub\\Models\\Operations;\n\n$security = new Components\\Security();\n$security->token = 'DUB_API_KEY';\n\n$sdk = Dub\\Dub::builder()->setSecurity($security)->build();\n\ntry {\n $request = new Operations\\TrackSaleRequestBody(\n customerId: '',\n amount: 996500,\n paymentProcessor: Operations\\PaymentProcessor::Shopify,\n eventName: 'Purchase',\n invoiceId: '',\n currency: 'European Unit of Account 17(E.U.A.-17)',\n metadata: [\n 'Stage' => '',\n ],\n );\n $response = $sdk->track->sale($request);\n\n if ($response->object !== null) {\n // handle response\n }\n} catch (Throwable $e) {\n // handle exception\n}"}, {lang: python, label: trackSale, source: "from dub import Dub\nfrom dub.models import operations\n\ns = Dub(\n token=\"DUB_API_KEY\",\n)\n\n\nres = s.track.sale(request={\n \"customer_id\": \"\",\n \"amount\": 996500,\n \"payment_processor\": operations.PaymentProcessor.SHOPIFY,\n \"event_name\": \"Purchase\",\n})\n\nif res is not None:\n # handle response\n pass"}, {"lang": "java", "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"customerId\\\":\\\"string\\\",\\\"amount\\\":0,\\\"paymentProcessor\\\":\\\"stripe\\\",\\\"eventName\\\":\\\"Purchase\\\",\\\"invoiceId\\\":\\\"string\\\",\\\"currency\\\":\\\"usd\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://api.dub.co/track/sale\")\n .post(body)\n .addHeader(\"accept\", \"application/json\")\n .addHeader(\"content-type\", \"application/json\")\n .addHeader(\"authorization\", \"Bearer MY_TOKEN\")\n .build();\n\nResponse response = client.newCall(request).execute();"}] + description: "Track a sale for a short link." + tags: + - "Track" + security: + - token: [] + requestBody: + content: + "application/json": + schema: + type: "object" + properties: + "customerId": + type: "string" + minLength: 1 + maxLength: 100 + description: "This is the unique identifier for the customer in the client's app. This is used to track the customer's journey." + "amount": + type: "integer" + minimum: 0 + exclusiveMinimum: true + description: "The amount of the sale. Should be passed in cents." + "paymentProcessor": + type: "string" + enum: + - "stripe" + - "shopify" + - "paddle" + description: "The payment processor via which the sale was made." + "eventName": + type: "string" + maxLength: 50 + default: "Purchase" + description: "The name of the sale event. It can be used to track different types of event for example 'Purchase', 'Upgrade', 'Payment', etc." + example: "Purchase" + "invoiceId": + type: "string" + nullable: true + default: + description: "The invoice ID of the sale." + "currency": + type: "string" + default: "usd" + description: "The currency of the sale. Accepts ISO 4217 currency codes." + "metadata": + type: "object" + nullable: true + additionalProperties: {} + default: + description: "Additional metadata to be stored with the sale event." + required: + - "customerId" + - "amount" + - "paymentProcessor" + responses: + "200": + description: "A sale was tracked." + content: + "application/json": + schema: + type: "object" + properties: + "eventName": + type: "string" + "customer": type: "object" properties: "id": type: "string" - description: "The unique ID of the short link." - "domain": - type: "string" - description: "The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains)." - "key": - type: "string" - description: "The short link slug. If not provided, a random 7-character slug will be generated." - "externalId": - type: "string" - nullable: true - description: "This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with 'ext_' when passed as a query parameter." - "url": - type: "string" - format: "uri" - description: "The destination URL of the short link." - "trackConversion": - type: "boolean" - default: false - description: "[BETA] Whether to track conversions for the short link." - "archived": - type: "boolean" - default: false - description: "Whether the short link is archived." - "expiresAt": - type: "string" - nullable: true - description: "The date and time when the short link will expire in ISO-8601 format." - "expiredUrl": - type: "string" - nullable: true - format: "uri" - description: "The URL to redirect to when the short link has expired." - "password": - type: "string" - nullable: true - description: "The password required to access the destination URL of the short link." - "proxy": - type: "boolean" - default: false - description: "Whether the short link uses Custom Social Media Cards feature." - "title": + "name": type: "string" nullable: true - description: "The title of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "description": + "email": type: "string" nullable: true - description: "The description of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "image": + "avatar": type: "string" nullable: true - description: "The image of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "video": + required: + - "id" + - "name" + - "email" + - "avatar" + "sale": + type: "object" + properties: + "amount": + type: "number" + "currency": type: "string" - nullable: true - description: "The custom link preview video (og:video). Will be used for Custom Social Media Cards if `proxy` is true. Learn more: https://d.to/og" - "rewrite": - type: "boolean" - default: false - description: "Whether the short link uses link cloaking." - "doIndex": - type: "boolean" - default: false - description: "Whether to allow search engines to index the short link." - "ios": + "paymentProcessor": type: "string" - nullable: true - description: "The iOS destination URL for the short link for iOS device targeting." - "android": + "invoiceId": type: "string" nullable: true - description: "The Android destination URL for the short link for Android device targeting." - "geo": + "metadata": type: "object" nullable: true - properties: - "AF": - type: "string" - format: "uri" - "AL": - type: "string" - format: "uri" - "DZ": - type: "string" - format: "uri" - "AS": - type: "string" - format: "uri" - "AD": - type: "string" - format: "uri" - "AO": - type: "string" - format: "uri" - "AI": - type: "string" - format: "uri" - "AQ": - type: "string" - format: "uri" - "AG": - type: "string" - format: "uri" - "AR": - type: "string" - format: "uri" - "AM": - type: "string" - format: "uri" - "AW": - type: "string" - format: "uri" - "AU": - type: "string" - format: "uri" - "AT": - type: "string" - format: "uri" - "AZ": - type: "string" - format: "uri" - "BS": - type: "string" - format: "uri" - "BH": - type: "string" - format: "uri" - "BD": - type: "string" - format: "uri" - "BB": - type: "string" - format: "uri" - "BY": - type: "string" - format: "uri" - "BE": - type: "string" - format: "uri" - "BZ": - type: "string" - format: "uri" - "BJ": - type: "string" - format: "uri" - "BM": - type: "string" - format: "uri" - "BT": - type: "string" - format: "uri" - "BO": - type: "string" - format: "uri" - "BA": - type: "string" - format: "uri" - "BW": - type: "string" - format: "uri" - "BV": - type: "string" - format: "uri" - "BR": - type: "string" - format: "uri" - "IO": - type: "string" - format: "uri" - "BN": - type: "string" - format: "uri" - "BG": - type: "string" - format: "uri" - "BF": - type: "string" - format: "uri" - "BI": - type: "string" - format: "uri" - "KH": - type: "string" - format: "uri" - "CM": - type: "string" - format: "uri" - "CA": - type: "string" - format: "uri" - "CV": - type: "string" - format: "uri" - "KY": - type: "string" - format: "uri" - "CF": - type: "string" - format: "uri" - "TD": - type: "string" - format: "uri" - "CL": - type: "string" - format: "uri" - "CN": - type: "string" - format: "uri" - "CX": - type: "string" - format: "uri" - "CC": - type: "string" - format: "uri" - "CO": - type: "string" - format: "uri" - "KM": - type: "string" - format: "uri" - "CG": - type: "string" - format: "uri" - "CD": - type: "string" - format: "uri" - "CK": - type: "string" - format: "uri" - "CR": - type: "string" - format: "uri" - "CI": - type: "string" - format: "uri" - "HR": - type: "string" - format: "uri" - "CU": - type: "string" - format: "uri" - "CY": - type: "string" - format: "uri" - "CZ": - type: "string" - format: "uri" - "DK": - type: "string" - format: "uri" - "DJ": - type: "string" - format: "uri" - "DM": - type: "string" - format: "uri" - "DO": - type: "string" - format: "uri" - "EC": - type: "string" - format: "uri" - "EG": - type: "string" - format: "uri" - "SV": - type: "string" - format: "uri" - "GQ": - type: "string" - format: "uri" - "ER": - type: "string" - format: "uri" - "EE": - type: "string" - format: "uri" - "ET": - type: "string" - format: "uri" - "FK": - type: "string" - format: "uri" - "FO": - type: "string" - format: "uri" - "FJ": - type: "string" - format: "uri" - "FI": - type: "string" - format: "uri" - "FR": - type: "string" - format: "uri" - "GF": - type: "string" - format: "uri" - "PF": - type: "string" - format: "uri" - "TF": - type: "string" - format: "uri" - "GA": - type: "string" - format: "uri" - "GM": - type: "string" - format: "uri" - "GE": - type: "string" - format: "uri" - "DE": - type: "string" - format: "uri" - "GH": - type: "string" - format: "uri" - "GI": - type: "string" - format: "uri" - "GR": - type: "string" - format: "uri" - "GL": - type: "string" - format: "uri" - "GD": - type: "string" - format: "uri" - "GP": - type: "string" - format: "uri" - "GU": - type: "string" - format: "uri" - "GT": - type: "string" - format: "uri" - "GN": - type: "string" - format: "uri" - "GW": - type: "string" - format: "uri" - "GY": - type: "string" - format: "uri" - "HT": - type: "string" - format: "uri" - "HM": - type: "string" - format: "uri" - "VA": - type: "string" - format: "uri" - "HN": - type: "string" - format: "uri" - "HK": - type: "string" - format: "uri" - "HU": - type: "string" - format: "uri" - "IS": - type: "string" - format: "uri" - "IN": - type: "string" - format: "uri" - "ID": - type: "string" - format: "uri" - "IR": - type: "string" - format: "uri" - "IQ": - type: "string" - format: "uri" - "IE": - type: "string" - format: "uri" - "IL": - type: "string" - format: "uri" - "IT": - type: "string" - format: "uri" - "JM": - type: "string" - format: "uri" - "JP": - type: "string" - format: "uri" - "JO": - type: "string" - format: "uri" - "KZ": - type: "string" - format: "uri" - "KE": - type: "string" - format: "uri" - "KI": - type: "string" - format: "uri" - "KP": - type: "string" - format: "uri" - "KR": - type: "string" - format: "uri" - "KW": - type: "string" - format: "uri" - "KG": - type: "string" - format: "uri" - "LA": - type: "string" - format: "uri" - "LV": - type: "string" - format: "uri" - "LB": - type: "string" - format: "uri" - "LS": - type: "string" - format: "uri" - "LR": - type: "string" - format: "uri" - "LY": - type: "string" - format: "uri" - "LI": - type: "string" - format: "uri" - "LT": - type: "string" - format: "uri" - "LU": - type: "string" - format: "uri" - "MO": - type: "string" - format: "uri" - "MG": - type: "string" - format: "uri" - "MW": - type: "string" - format: "uri" - "MY": - type: "string" - format: "uri" - "MV": - type: "string" - format: "uri" - "ML": - type: "string" - format: "uri" - "MT": - type: "string" - format: "uri" - "MH": - type: "string" - format: "uri" - "MQ": - type: "string" - format: "uri" - "MR": - type: "string" - format: "uri" - "MU": - type: "string" - format: "uri" - "YT": - type: "string" - format: "uri" - "MX": - type: "string" - format: "uri" - "FM": - type: "string" - format: "uri" - "MD": - type: "string" - format: "uri" - "MC": - type: "string" - format: "uri" - "MN": - type: "string" - format: "uri" - "MS": - type: "string" - format: "uri" - "MA": - type: "string" - format: "uri" - "MZ": - type: "string" - format: "uri" - "MM": - type: "string" - format: "uri" - "NA": - type: "string" - format: "uri" - "NR": - type: "string" - format: "uri" - "NP": - type: "string" - format: "uri" - "NL": - type: "string" - format: "uri" - "NC": - type: "string" - format: "uri" - "NZ": - type: "string" - format: "uri" - "NI": - type: "string" - format: "uri" - "NE": - type: "string" - format: "uri" - "NG": - type: "string" - format: "uri" - "NU": - type: "string" - format: "uri" - "NF": - type: "string" - format: "uri" - "MK": - type: "string" - format: "uri" - "MP": - type: "string" - format: "uri" - "NO": - type: "string" - format: "uri" - "OM": - type: "string" - format: "uri" - "PK": - type: "string" - format: "uri" - "PW": - type: "string" - format: "uri" - "PS": - type: "string" - format: "uri" - "PA": - type: "string" - format: "uri" - "PG": - type: "string" - format: "uri" - "PY": - type: "string" - format: "uri" - "PE": - type: "string" - format: "uri" - "PH": - type: "string" - format: "uri" - "PN": - type: "string" - format: "uri" - "PL": - type: "string" - format: "uri" - "PT": - type: "string" - format: "uri" - "PR": - type: "string" - format: "uri" - "QA": - type: "string" - format: "uri" - "RE": - type: "string" - format: "uri" - "RO": - type: "string" - format: "uri" - "RU": - type: "string" - format: "uri" - "RW": - type: "string" - format: "uri" - "SH": - type: "string" - format: "uri" - "KN": - type: "string" - format: "uri" - "LC": - type: "string" - format: "uri" - "PM": - type: "string" - format: "uri" - "VC": - type: "string" - format: "uri" - "WS": - type: "string" - format: "uri" - "SM": - type: "string" - format: "uri" - "ST": - type: "string" - format: "uri" - "SA": - type: "string" - format: "uri" - "SN": - type: "string" - format: "uri" - "SC": - type: "string" - format: "uri" - "SL": - type: "string" - format: "uri" - "SG": - type: "string" - format: "uri" - "SK": - type: "string" - format: "uri" - "SI": - type: "string" - format: "uri" - "SB": - type: "string" - format: "uri" - "SO": - type: "string" - format: "uri" - "ZA": - type: "string" - format: "uri" - "GS": - type: "string" - format: "uri" - "ES": - type: "string" - format: "uri" - "LK": - type: "string" - format: "uri" - "SD": - type: "string" - format: "uri" - "SR": - type: "string" - format: "uri" - "SJ": - type: "string" - format: "uri" - "SZ": - type: "string" - format: "uri" - "SE": - type: "string" - format: "uri" - "CH": - type: "string" - format: "uri" - "SY": - type: "string" - format: "uri" - "TW": - type: "string" - format: "uri" - "TJ": - type: "string" - format: "uri" - "TZ": - type: "string" - format: "uri" - "TH": - type: "string" - format: "uri" - "TL": - type: "string" - format: "uri" - "TG": - type: "string" - format: "uri" - "TK": - type: "string" - format: "uri" - "TO": - type: "string" - format: "uri" - "TT": - type: "string" - format: "uri" - "TN": - type: "string" - format: "uri" - "TR": - type: "string" - format: "uri" - "TM": - type: "string" - format: "uri" - "TC": - type: "string" - format: "uri" - "TV": - type: "string" - format: "uri" - "UG": - type: "string" - format: "uri" - "UA": - type: "string" - format: "uri" - "AE": - type: "string" - format: "uri" - "GB": - type: "string" - format: "uri" - "US": - type: "string" - format: "uri" - "UM": - type: "string" - format: "uri" - "UY": - type: "string" - format: "uri" - "UZ": - type: "string" - format: "uri" - "VU": - type: "string" - format: "uri" - "VE": - type: "string" - format: "uri" - "VN": - type: "string" - format: "uri" - "VG": - type: "string" - format: "uri" - "VI": - type: "string" - format: "uri" - "WF": - type: "string" - format: "uri" - "EH": - type: "string" - format: "uri" - "YE": - type: "string" - format: "uri" - "ZM": - type: "string" - format: "uri" - "ZW": - type: "string" - format: "uri" - "AX": - type: "string" - format: "uri" - "BQ": - type: "string" - format: "uri" - "CW": - type: "string" - format: "uri" - "GG": - type: "string" - format: "uri" - "IM": - type: "string" - format: "uri" - "JE": - type: "string" - format: "uri" - "ME": - type: "string" - format: "uri" - "BL": - type: "string" - format: "uri" - "MF": - type: "string" - format: "uri" - "RS": - type: "string" - format: "uri" - "SX": - type: "string" - format: "uri" - "SS": - type: "string" - format: "uri" - "XK": - type: "string" - format: "uri" - additionalProperties: false - description: "Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo" - "publicStats": - type: "boolean" - default: false - description: "Whether the short link's stats are publicly accessible." - "comments": - type: "string" - nullable: true - description: "The comments for the short link." - "shortLink": - type: "string" - format: "uri" - description: "The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`)." - "qrCode": - type: "string" - format: "uri" - description: "The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`)." - "utm_source": - type: "string" - nullable: true - description: "The UTM source of the short link." - "utm_medium": - type: "string" - nullable: true - description: "The UTM medium of the short link." - "utm_campaign": - type: "string" - nullable: true - description: "The UTM campaign of the short link." - "utm_term": - type: "string" - nullable: true - description: "The UTM term of the short link." - "utm_content": - type: "string" - nullable: true - description: "The UTM content of the short link." - "userId": - type: "string" - description: "The user ID of the creator of the short link." - "workspaceId": - type: "string" - description: "The workspace ID of the short link." - "clicks": - type: "number" - default: 0 - description: "The number of clicks on the short link." - "lastClicked": - type: "string" - nullable: true - description: "The date and time when the short link was last clicked." - "leads": - type: "number" - default: 0 - description: "[BETA]: The number of leads the short links has generated." - "sales": - type: "number" - default: 0 - description: "[BETA]: The number of sales the short links has generated." - "saleAmount": - type: "number" - default: 0 - description: "[BETA]: The total dollar amount of sales the short links has generated (in cents)." - "createdAt": - type: "string" - description: "The date and time when the short link was created." - "updatedAt": - type: "string" - description: "The date and time when the short link was last updated." - required: - - "id" - - "domain" - - "key" - - "externalId" - - "url" - - "trackConversion" - - "archived" - - "expiresAt" - - "expiredUrl" - - "password" - - "proxy" - - "title" - - "description" - - "image" - - "video" - - "rewrite" - - "doIndex" - - "ios" - - "android" - - "geo" - - "publicStats" - - "comments" - - "shortLink" - - "qrCode" - - "utm_source" - - "utm_medium" - - "utm_campaign" - - "utm_term" - - "utm_content" - - "userId" - - "workspaceId" - - "clicks" - - "lastClicked" - - "leads" - - "sales" - - "saleAmount" - - "createdAt" - - "updatedAt" - required: - - "eventName" - - "customer" - - "click" - - "link" - "400": {"$ref": "#/components/responses/400"} - "401": {"$ref": "#/components/responses/401"} - "403": {"$ref": "#/components/responses/403"} - "404": {"$ref": "#/components/responses/404"} - "409": {"$ref": "#/components/responses/409"} - "410": {"$ref": "#/components/responses/410"} - "422": {"$ref": "#/components/responses/422"} - "429": {"$ref": "#/components/responses/429"} - "500": {"$ref": "#/components/responses/500"} - "/track/sale": - post: - operationId: "trackSale" - x-speakeasy-name-override: "sale" - summary: "Track a sale" - x-codeSamples: [{"lang": "typescript", "label": "trackSale", "source": "import { Dub } from \"dub\";\n\nconst dub = new Dub({\n token: \"DUB_API_KEY\",\n});\n\nasync function run() {\n const result = await dub.track.sale();\n\n // Handle the result\n console.log(result)\n}\n\nrun();"}, {"lang": "go", "label": "trackSale", "source": "package main\n\nimport(\n\tdubgo \"github.com/dubinc/dub-go\"\n\t\"github.com/dubinc/dub-go/models/operations\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := dubgo.New(\n dubgo.WithSecurity(\"DUB_API_KEY\"),\n )\n var request *operations.TrackSaleRequestBody = &operations.TrackSaleRequestBody{\n CustomerID: \"\",\n Amount: 996500,\n PaymentProcessor: operations.PaymentProcessorShopify,\n EventName: dubgo.String(\"Purchase\"),\n }\n ctx := context.Background()\n res, err := s.Track.Sale(ctx, request)\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"}, {"lang": "ruby", "label": "trackSale", "source": "require 'dub'\n\n\ns = ::OpenApiSDK::Dub.new\ns.config_security(\n ::OpenApiSDK::Shared::Security.new(\n token: \"DUB_API_KEY\",\n )\n)\n\n\nreq = ::OpenApiSDK::Operations::TrackSaleRequestBody.new(\n customer_id: \"\",\n amount: 996500,\n payment_processor: ::OpenApiSDK::Operations::PaymentProcessor::SHOPIFY,\n event_name: \"Purchase\",\n)\n \nres = s.track.sale(req)\n\nif ! res.object.nil?\n # handle response\nend"}, {"lang": "php", "label": "trackSale", "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Dub;\nuse Dub\\Models\\Components;\nuse Dub\\Models\\Operations;\n\n$security = new Components\\Security();\n$security->token = 'DUB_API_KEY';\n\n$sdk = Dub\\Dub::builder()->setSecurity($security)->build();\n\ntry {\n $request = new Operations\\TrackSaleRequestBody(\n customerId: '',\n amount: 996500,\n paymentProcessor: Operations\\PaymentProcessor::Shopify,\n eventName: 'Purchase',\n invoiceId: '',\n currency: 'European Unit of Account 17(E.U.A.-17)',\n metadata: [\n 'Stage' => '',\n ],\n );\n $response = $sdk->track->sale($request);\n\n if ($response->object !== null) {\n // handle response\n }\n} catch (Throwable $e) {\n // handle exception\n}"}, {lang: python, label: trackSale, source: "from dub import Dub\nfrom dub.models import operations\n\ns = Dub(\n token=\"DUB_API_KEY\",\n)\n\n\nres = s.track.sale(request={\n \"customer_id\": \"\",\n \"amount\": 996500,\n \"payment_processor\": operations.PaymentProcessor.SHOPIFY,\n \"event_name\": \"Purchase\",\n})\n\nif res is not None:\n # handle response\n pass"}, {"lang": "java", "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"customerId\\\":\\\"string\\\",\\\"amount\\\":0,\\\"paymentProcessor\\\":\\\"stripe\\\",\\\"eventName\\\":\\\"Purchase\\\",\\\"invoiceId\\\":\\\"string\\\",\\\"currency\\\":\\\"usd\\\"}\");\nRequest request = new Request.Builder()\n .url(\"https://api.dub.co/track/sale\")\n .post(body)\n .addHeader(\"accept\", \"application/json\")\n .addHeader(\"content-type\", \"application/json\")\n .addHeader(\"authorization\", \"Bearer MY_TOKEN\")\n .build();\n\nResponse response = client.newCall(request).execute();"}] - description: "Track a sale for a short link." - tags: - - "Track" - security: - - token: [] - requestBody: - content: - "application/json": - schema: - type: "object" - properties: - "customerId": - type: "string" - minLength: 1 - maxLength: 100 - description: "This is the unique identifier for the customer in the client's app. This is used to track the customer's journey." - "amount": - type: "integer" - minimum: 0 - exclusiveMinimum: true - description: "The amount of the sale. Should be passed in cents." - "paymentProcessor": - type: "string" - enum: - - "stripe" - - "shopify" - - "paddle" - description: "The payment processor via which the sale was made." - "eventName": - type: "string" - maxLength: 50 - default: "Purchase" - description: "The name of the sale event. It can be used to track different types of event for example 'Purchase', 'Upgrade', 'Payment', etc." - example: "Purchase" - "invoiceId": - type: "string" - nullable: true - default: - description: "The invoice ID of the sale." - "currency": - type: "string" - default: "usd" - description: "The currency of the sale. Accepts ISO 4217 currency codes." - "metadata": - type: "object" - nullable: true - additionalProperties: {} - default: - description: "Additional metadata to be stored with the sale event." - required: - - "customerId" - - "amount" - - "paymentProcessor" - responses: - "200": - description: "A sale was tracked." - content: - "application/json": - schema: - type: "object" - properties: - "eventName": - type: "string" - "customer": - type: "object" - properties: - "id": - type: "string" - "name": - type: "string" - nullable: true - "email": - type: "string" - nullable: true - "avatar": - type: "string" - nullable: true - required: - - "id" - - "name" - - "email" - - "avatar" - "sale": - type: "object" - properties: - "amount": - type: "number" - "paymentProcessor": - type: "string" - "invoiceId": - type: "string" - nullable: true - "currency": - type: "string" - required: - - "amount" - - "paymentProcessor" - - "invoiceId" - - "currency" - "click": - allOf: - - type: "object" - properties: - "url": - type: "string" - "ip": - type: "string" - "continent": - type: "string" - "country": - type: "string" - "city": - type: "string" - "device": - type: "string" - "browser": - type: "string" - "os": - type: "string" - "ua": - type: "string" - "bot": - type: "boolean" - "qr": - type: "boolean" - "referer": - type: "string" - required: - - "url" - - "ip" - - "continent" - - "country" - - "city" - - "device" - - "browser" - - "os" - - "ua" - - "bot" - - "qr" - - "referer" - - type: "object" - properties: - "id": - type: "string" - required: - - "id" - "link": - type: "object" - properties: - "id": - type: "string" - description: "The unique ID of the short link." - "domain": - type: "string" - description: "The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains)." - "key": - type: "string" - description: "The short link slug. If not provided, a random 7-character slug will be generated." - "externalId": - type: "string" - nullable: true - description: "This is the ID of the link in your database. If set, it can be used to identify the link in the future. Must be prefixed with 'ext_' when passed as a query parameter." - "url": - type: "string" - format: "uri" - description: "The destination URL of the short link." - "trackConversion": - type: "boolean" - default: false - description: "[BETA] Whether to track conversions for the short link." - "archived": - type: "boolean" - default: false - description: "Whether the short link is archived." - "expiresAt": - type: "string" - nullable: true - description: "The date and time when the short link will expire in ISO-8601 format." - "expiredUrl": - type: "string" - nullable: true - format: "uri" - description: "The URL to redirect to when the short link has expired." - "password": - type: "string" - nullable: true - description: "The password required to access the destination URL of the short link." - "proxy": - type: "boolean" - default: false - description: "Whether the short link uses Custom Social Media Cards feature." - "title": - type: "string" - nullable: true - description: "The title of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "description": - type: "string" - nullable: true - description: "The description of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "image": - type: "string" - nullable: true - description: "The image of the short link generated via `api.dub.co/metatags`. Will be used for Custom Social Media Cards if `proxy` is true." - "video": - type: "string" - nullable: true - description: "The custom link preview video (og:video). Will be used for Custom Social Media Cards if `proxy` is true. Learn more: https://d.to/og" - "rewrite": - type: "boolean" - default: false - description: "Whether the short link uses link cloaking." - "doIndex": - type: "boolean" - default: false - description: "Whether to allow search engines to index the short link." - "ios": - type: "string" - nullable: true - description: "The iOS destination URL for the short link for iOS device targeting." - "android": - type: "string" - nullable: true - description: "The Android destination URL for the short link for Android device targeting." - "geo": - type: "object" - nullable: true - properties: - "AF": - type: "string" - format: "uri" - "AL": - type: "string" - format: "uri" - "DZ": - type: "string" - format: "uri" - "AS": - type: "string" - format: "uri" - "AD": - type: "string" - format: "uri" - "AO": - type: "string" - format: "uri" - "AI": - type: "string" - format: "uri" - "AQ": - type: "string" - format: "uri" - "AG": - type: "string" - format: "uri" - "AR": - type: "string" - format: "uri" - "AM": - type: "string" - format: "uri" - "AW": - type: "string" - format: "uri" - "AU": - type: "string" - format: "uri" - "AT": - type: "string" - format: "uri" - "AZ": - type: "string" - format: "uri" - "BS": - type: "string" - format: "uri" - "BH": - type: "string" - format: "uri" - "BD": - type: "string" - format: "uri" - "BB": - type: "string" - format: "uri" - "BY": - type: "string" - format: "uri" - "BE": - type: "string" - format: "uri" - "BZ": - type: "string" - format: "uri" - "BJ": - type: "string" - format: "uri" - "BM": - type: "string" - format: "uri" - "BT": - type: "string" - format: "uri" - "BO": - type: "string" - format: "uri" - "BA": - type: "string" - format: "uri" - "BW": - type: "string" - format: "uri" - "BV": - type: "string" - format: "uri" - "BR": - type: "string" - format: "uri" - "IO": - type: "string" - format: "uri" - "BN": - type: "string" - format: "uri" - "BG": - type: "string" - format: "uri" - "BF": - type: "string" - format: "uri" - "BI": - type: "string" - format: "uri" - "KH": - type: "string" - format: "uri" - "CM": - type: "string" - format: "uri" - "CA": - type: "string" - format: "uri" - "CV": - type: "string" - format: "uri" - "KY": - type: "string" - format: "uri" - "CF": - type: "string" - format: "uri" - "TD": - type: "string" - format: "uri" - "CL": - type: "string" - format: "uri" - "CN": - type: "string" - format: "uri" - "CX": - type: "string" - format: "uri" - "CC": - type: "string" - format: "uri" - "CO": - type: "string" - format: "uri" - "KM": - type: "string" - format: "uri" - "CG": - type: "string" - format: "uri" - "CD": - type: "string" - format: "uri" - "CK": - type: "string" - format: "uri" - "CR": - type: "string" - format: "uri" - "CI": - type: "string" - format: "uri" - "HR": - type: "string" - format: "uri" - "CU": - type: "string" - format: "uri" - "CY": - type: "string" - format: "uri" - "CZ": - type: "string" - format: "uri" - "DK": - type: "string" - format: "uri" - "DJ": - type: "string" - format: "uri" - "DM": - type: "string" - format: "uri" - "DO": - type: "string" - format: "uri" - "EC": - type: "string" - format: "uri" - "EG": - type: "string" - format: "uri" - "SV": - type: "string" - format: "uri" - "GQ": - type: "string" - format: "uri" - "ER": - type: "string" - format: "uri" - "EE": - type: "string" - format: "uri" - "ET": - type: "string" - format: "uri" - "FK": - type: "string" - format: "uri" - "FO": - type: "string" - format: "uri" - "FJ": - type: "string" - format: "uri" - "FI": - type: "string" - format: "uri" - "FR": - type: "string" - format: "uri" - "GF": - type: "string" - format: "uri" - "PF": - type: "string" - format: "uri" - "TF": - type: "string" - format: "uri" - "GA": - type: "string" - format: "uri" - "GM": - type: "string" - format: "uri" - "GE": - type: "string" - format: "uri" - "DE": - type: "string" - format: "uri" - "GH": - type: "string" - format: "uri" - "GI": - type: "string" - format: "uri" - "GR": - type: "string" - format: "uri" - "GL": - type: "string" - format: "uri" - "GD": - type: "string" - format: "uri" - "GP": - type: "string" - format: "uri" - "GU": - type: "string" - format: "uri" - "GT": - type: "string" - format: "uri" - "GN": - type: "string" - format: "uri" - "GW": - type: "string" - format: "uri" - "GY": - type: "string" - format: "uri" - "HT": - type: "string" - format: "uri" - "HM": - type: "string" - format: "uri" - "VA": - type: "string" - format: "uri" - "HN": - type: "string" - format: "uri" - "HK": - type: "string" - format: "uri" - "HU": - type: "string" - format: "uri" - "IS": - type: "string" - format: "uri" - "IN": - type: "string" - format: "uri" - "ID": - type: "string" - format: "uri" - "IR": - type: "string" - format: "uri" - "IQ": - type: "string" - format: "uri" - "IE": - type: "string" - format: "uri" - "IL": - type: "string" - format: "uri" - "IT": - type: "string" - format: "uri" - "JM": - type: "string" - format: "uri" - "JP": - type: "string" - format: "uri" - "JO": - type: "string" - format: "uri" - "KZ": - type: "string" - format: "uri" - "KE": - type: "string" - format: "uri" - "KI": - type: "string" - format: "uri" - "KP": - type: "string" - format: "uri" - "KR": - type: "string" - format: "uri" - "KW": - type: "string" - format: "uri" - "KG": - type: "string" - format: "uri" - "LA": - type: "string" - format: "uri" - "LV": - type: "string" - format: "uri" - "LB": - type: "string" - format: "uri" - "LS": - type: "string" - format: "uri" - "LR": - type: "string" - format: "uri" - "LY": - type: "string" - format: "uri" - "LI": - type: "string" - format: "uri" - "LT": - type: "string" - format: "uri" - "LU": - type: "string" - format: "uri" - "MO": - type: "string" - format: "uri" - "MG": - type: "string" - format: "uri" - "MW": - type: "string" - format: "uri" - "MY": - type: "string" - format: "uri" - "MV": - type: "string" - format: "uri" - "ML": - type: "string" - format: "uri" - "MT": - type: "string" - format: "uri" - "MH": - type: "string" - format: "uri" - "MQ": - type: "string" - format: "uri" - "MR": - type: "string" - format: "uri" - "MU": - type: "string" - format: "uri" - "YT": - type: "string" - format: "uri" - "MX": - type: "string" - format: "uri" - "FM": - type: "string" - format: "uri" - "MD": - type: "string" - format: "uri" - "MC": - type: "string" - format: "uri" - "MN": - type: "string" - format: "uri" - "MS": - type: "string" - format: "uri" - "MA": - type: "string" - format: "uri" - "MZ": - type: "string" - format: "uri" - "MM": - type: "string" - format: "uri" - "NA": - type: "string" - format: "uri" - "NR": - type: "string" - format: "uri" - "NP": - type: "string" - format: "uri" - "NL": - type: "string" - format: "uri" - "NC": - type: "string" - format: "uri" - "NZ": - type: "string" - format: "uri" - "NI": - type: "string" - format: "uri" - "NE": - type: "string" - format: "uri" - "NG": - type: "string" - format: "uri" - "NU": - type: "string" - format: "uri" - "NF": - type: "string" - format: "uri" - "MK": - type: "string" - format: "uri" - "MP": - type: "string" - format: "uri" - "NO": - type: "string" - format: "uri" - "OM": - type: "string" - format: "uri" - "PK": - type: "string" - format: "uri" - "PW": - type: "string" - format: "uri" - "PS": - type: "string" - format: "uri" - "PA": - type: "string" - format: "uri" - "PG": - type: "string" - format: "uri" - "PY": - type: "string" - format: "uri" - "PE": - type: "string" - format: "uri" - "PH": - type: "string" - format: "uri" - "PN": - type: "string" - format: "uri" - "PL": - type: "string" - format: "uri" - "PT": - type: "string" - format: "uri" - "PR": - type: "string" - format: "uri" - "QA": - type: "string" - format: "uri" - "RE": - type: "string" - format: "uri" - "RO": - type: "string" - format: "uri" - "RU": - type: "string" - format: "uri" - "RW": - type: "string" - format: "uri" - "SH": - type: "string" - format: "uri" - "KN": - type: "string" - format: "uri" - "LC": - type: "string" - format: "uri" - "PM": - type: "string" - format: "uri" - "VC": - type: "string" - format: "uri" - "WS": - type: "string" - format: "uri" - "SM": - type: "string" - format: "uri" - "ST": - type: "string" - format: "uri" - "SA": - type: "string" - format: "uri" - "SN": - type: "string" - format: "uri" - "SC": - type: "string" - format: "uri" - "SL": - type: "string" - format: "uri" - "SG": - type: "string" - format: "uri" - "SK": - type: "string" - format: "uri" - "SI": - type: "string" - format: "uri" - "SB": - type: "string" - format: "uri" - "SO": - type: "string" - format: "uri" - "ZA": - type: "string" - format: "uri" - "GS": - type: "string" - format: "uri" - "ES": - type: "string" - format: "uri" - "LK": - type: "string" - format: "uri" - "SD": - type: "string" - format: "uri" - "SR": - type: "string" - format: "uri" - "SJ": - type: "string" - format: "uri" - "SZ": - type: "string" - format: "uri" - "SE": - type: "string" - format: "uri" - "CH": - type: "string" - format: "uri" - "SY": - type: "string" - format: "uri" - "TW": - type: "string" - format: "uri" - "TJ": - type: "string" - format: "uri" - "TZ": - type: "string" - format: "uri" - "TH": - type: "string" - format: "uri" - "TL": - type: "string" - format: "uri" - "TG": - type: "string" - format: "uri" - "TK": - type: "string" - format: "uri" - "TO": - type: "string" - format: "uri" - "TT": - type: "string" - format: "uri" - "TN": - type: "string" - format: "uri" - "TR": - type: "string" - format: "uri" - "TM": - type: "string" - format: "uri" - "TC": - type: "string" - format: "uri" - "TV": - type: "string" - format: "uri" - "UG": - type: "string" - format: "uri" - "UA": - type: "string" - format: "uri" - "AE": - type: "string" - format: "uri" - "GB": - type: "string" - format: "uri" - "US": - type: "string" - format: "uri" - "UM": - type: "string" - format: "uri" - "UY": - type: "string" - format: "uri" - "UZ": - type: "string" - format: "uri" - "VU": - type: "string" - format: "uri" - "VE": - type: "string" - format: "uri" - "VN": - type: "string" - format: "uri" - "VG": - type: "string" - format: "uri" - "VI": - type: "string" - format: "uri" - "WF": - type: "string" - format: "uri" - "EH": - type: "string" - format: "uri" - "YE": - type: "string" - format: "uri" - "ZM": - type: "string" - format: "uri" - "ZW": - type: "string" - format: "uri" - "AX": - type: "string" - format: "uri" - "BQ": - type: "string" - format: "uri" - "CW": - type: "string" - format: "uri" - "GG": - type: "string" - format: "uri" - "IM": - type: "string" - format: "uri" - "JE": - type: "string" - format: "uri" - "ME": - type: "string" - format: "uri" - "BL": - type: "string" - format: "uri" - "MF": - type: "string" - format: "uri" - "RS": - type: "string" - format: "uri" - "SX": - type: "string" - format: "uri" - "SS": - type: "string" - format: "uri" - "XK": - type: "string" - format: "uri" - additionalProperties: false - description: "Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo" - "publicStats": - type: "boolean" - default: false - description: "Whether the short link's stats are publicly accessible." - "comments": - type: "string" - nullable: true - description: "The comments for the short link." - "shortLink": - type: "string" - format: "uri" - description: "The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`)." - "qrCode": - type: "string" - format: "uri" - description: "The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`)." - "utm_source": - type: "string" - nullable: true - description: "The UTM source of the short link." - "utm_medium": - type: "string" - nullable: true - description: "The UTM medium of the short link." - "utm_campaign": - type: "string" - nullable: true - description: "The UTM campaign of the short link." - "utm_term": - type: "string" - nullable: true - description: "The UTM term of the short link." - "utm_content": - type: "string" - nullable: true - description: "The UTM content of the short link." - "userId": - type: "string" - description: "The user ID of the creator of the short link." - "workspaceId": - type: "string" - description: "The workspace ID of the short link." - "clicks": - type: "number" - default: 0 - description: "The number of clicks on the short link." - "lastClicked": - type: "string" - nullable: true - description: "The date and time when the short link was last clicked." - "leads": - type: "number" - default: 0 - description: "[BETA]: The number of leads the short links has generated." - "sales": - type: "number" - default: 0 - description: "[BETA]: The number of sales the short links has generated." - "saleAmount": - type: "number" - default: 0 - description: "[BETA]: The total dollar amount of sales the short links has generated (in cents)." - "createdAt": - type: "string" - description: "The date and time when the short link was created." - "updatedAt": - type: "string" - description: "The date and time when the short link was last updated." + additionalProperties: {} required: - - "id" - - "domain" - - "key" - - "externalId" - - "url" - - "trackConversion" - - "archived" - - "expiresAt" - - "expiredUrl" - - "password" - - "proxy" - - "title" - - "description" - - "image" - - "video" - - "rewrite" - - "doIndex" - - "ios" - - "android" - - "geo" - - "publicStats" - - "comments" - - "shortLink" - - "qrCode" - - "utm_source" - - "utm_medium" - - "utm_campaign" - - "utm_term" - - "utm_content" - - "userId" - - "workspaceId" - - "clicks" - - "lastClicked" - - "leads" - - "sales" - - "saleAmount" - - "createdAt" - - "updatedAt" + - "amount" + - "currency" + - "paymentProcessor" + - "invoiceId" + - "metadata" required: - "eventName" - "customer" - "sale" - - "click" - - "link" "400": {"$ref": "#/components/responses/400"} "401": {"$ref": "#/components/responses/401"} "403": {"$ref": "#/components/responses/403"} @@ -7169,7 +5242,6 @@ components: type: "string" enum: - "click" - default: "click" "timestamp": type: "string" "click_id": @@ -7233,7 +5305,6 @@ components: type: "string" enum: - "lead" - default: "lead" "timestamp": type: "string" "event_id": @@ -7312,7 +5383,6 @@ components: type: "string" enum: - "sale" - default: "sale" "timestamp": type: "string" "event_id":