{
  "openapi": "3.0.1",
  "info": {
    "title": "Microsoft Ads Offline Conversions - Bing MSCLKID Tracking",
    "description": "Upload offline conversions to Microsoft Advertising (Bing Ads) using MSCLKID click tracking and enhanced conversions for campaign attribution.\nUpload conversions with MSCLKID\nUpload with hashed PII\nConversion Goals\nList all conversion goals\nGet goal details\nCreate new goal\nCheck upload status",
    "version": "1.0",
    "x-build-id": "salmzfX42WEaaaytH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~microsoft-ads-offline-conversions---bing-msclkid-tracking/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-microsoft-ads-offline-conversions---bing-msclkid-tracking",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~microsoft-ads-offline-conversions---bing-msclkid-tracking/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-microsoft-ads-offline-conversions---bing-msclkid-tracking",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~microsoft-ads-offline-conversions---bing-msclkid-tracking/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-microsoft-ads-offline-conversions---bing-msclkid-tracking",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "task"
        ],
        "properties": {
          "task": {
            "title": "Task",
            "enum": [
              "upload_conversions",
              "upload_enhanced_conversions",
              "list_conversion_goals",
              "get_conversion_goal",
              "create_conversion_goal",
              "get_upload_status"
            ],
            "type": "string",
            "description": "The operation to perform",
            "default": "upload_conversions"
          },
          "developerToken": {
            "title": "Developer Token",
            "type": "string",
            "description": "Microsoft Advertising API developer token"
          },
          "clientId": {
            "title": "OAuth Client ID",
            "type": "string",
            "description": "Azure AD OAuth 2.0 client ID"
          },
          "clientSecret": {
            "title": "OAuth Client Secret",
            "type": "string",
            "description": "Azure AD OAuth 2.0 client secret"
          },
          "refreshToken": {
            "title": "OAuth Refresh Token",
            "type": "string",
            "description": "OAuth 2.0 refresh token"
          },
          "customerId": {
            "title": "Customer ID",
            "type": "string",
            "description": "Microsoft Advertising customer ID"
          },
          "accountId": {
            "title": "Account ID",
            "type": "string",
            "description": "Microsoft Advertising account ID"
          },
          "conversionGoalId": {
            "title": "Conversion Goal ID",
            "type": "string",
            "description": "ID of the conversion goal"
          },
          "conversionGoalName": {
            "title": "Conversion Goal Name",
            "type": "string",
            "description": "Name for new conversion goal"
          },
          "conversions": {
            "title": "Conversions (JSON Array)",
            "type": "string",
            "description": "JSON array of conversion objects"
          },
          "msclkid": {
            "title": "Microsoft Click ID (msclkid)",
            "type": "string",
            "description": "Microsoft click ID from URL parameter"
          },
          "conversionTime": {
            "title": "Conversion Time",
            "type": "string",
            "description": "When the conversion occurred (ISO 8601 format)"
          },
          "conversionValue": {
            "title": "Conversion Value",
            "type": "number",
            "description": "Monetary value of the conversion"
          },
          "currencyCode": {
            "title": "Currency Code",
            "type": "string",
            "description": "ISO 4217 currency code",
            "default": "USD"
          },
          "email": {
            "title": "Email (Enhanced Conversions)",
            "type": "string",
            "description": "Customer email for enhanced conversions (will be hashed)"
          },
          "phone": {
            "title": "Phone (Enhanced Conversions)",
            "type": "string",
            "description": "Customer phone for enhanced conversions (will be hashed)"
          },
          "firstName": {
            "title": "First Name",
            "type": "string",
            "description": "Customer first name"
          },
          "lastName": {
            "title": "Last Name",
            "type": "string",
            "description": "Customer last name"
          },
          "isAlreadyHashed": {
            "title": "Data Already Hashed",
            "type": "boolean",
            "description": "Set to true if PII data is already SHA256 hashed",
            "default": false
          },
          "webhookUrl": {
            "title": "Result Webhook URL",
            "type": "string",
            "description": "URL to receive results via webhook"
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Run with sample data for testing (no external API calls)",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}