API documentation  Landing pages

Get, create or edit landing pages for an existing offer.

GET https://demo.trafficmanager.com/api/v1/offers/{id}/landing-pages
POST https://demo.trafficmanager.com/api/v1/offers/{id}/landing-pages
PUT https://demo.trafficmanager.com/api/v1/offers/{id}/landing-pages/{lpId}

Both endpoints are available only for advertiser and admin accounts. Advertisers can manage landing pages only for offers they can edit.

Create requires name and url. Edit is partial, so you can send only the fields you want to change.

You can send the request as JSON or as form-data. For form-data, use countries[] multiple times or a comma-separated countries value.

Authentication:

The request must be authenticated with the following HTTP headers:
  • x-api-key: Your API key, found in the Security page
  • x-user-id: Your User ID, found in the Security page
If the HTTP headers are not passed, but you are logged in to the TrafficManager panel, the current user is used instead (so you can easily preview or download the data using your browser)

Body Parameters

  • Required:
  • name: landing page name, maximum 80 characters
  • url: destination URL, must start with http:// or https:// and must contain {clickid}
  • Optional:
  • weight: traffic weight, defaults to 100, integer between 0 and 65535
  • description: landing page description, maximum 1000 characters
  • previewUrl: preview URL, maximum 255 characters
  • countries: array of valid country codes assigned to the landing page; unknown codes are rejected
  • screenshot: public image URL; the image is downloaded and stored as the LP screenshot
  • If the offer has countries, countries is required and every landing page country must be inside the offer countries; worldwide offers can use any valid countries
  • The same offer cannot have two active landing pages with the same url

GET response

{
    "status": 200,
    "landingPages": [
        {
            "id": 456,
            "offerId": 123,
            "status": 1,
            "name": "Main LP",
            "weight": 100,
            "description": "Primary landing page",
            "url": "https://example.com/?clickid={clickid}",
            "previewUrl": "https://example.com/preview",
            "countries": ["RO", "IT"],
            "screenshot": "65f1f3f0dabc12.jpg",
            "image": "https://static.trafficmanager.com/offers/screenshots/65f1f3f0dabc12.jpg"
        }
    ]
}

Request example

{
    "name": "Main LP",
    "weight": 100,
    "description": "Primary landing page",
    "url": "https://example.com/?clickid={clickid}",
    "previewUrl": "https://example.com/preview",
    "countries": ["RO", "IT"],
    "screenshot": "https://example.com/lp-image.jpg"
}

Create response

{
    "status": 201,
    "message": "Operation successful",
    "landingPage": {
        "id": 456,
        "offerId": 123,
        "status": 1,
        "name": "Main LP",
        "weight": 100,
        "description": "Primary landing page",
        "url": "https://example.com/?clickid={clickid}",
        "previewUrl": "https://example.com/preview",
        "countries": ["RO", "IT"],
        "screenshot": "65f1f3f0dabc12.jpg",
        "image": "https://static.trafficmanager.com/offers/screenshots/65f1f3f0dabc12.jpg"
    }
}

Edit response

{
    "status": 200,
    "message": "Operation successful",
    "landingPage": {
        "id": 456,
        "offerId": 123,
        "status": 1,
        "name": "Main LP Updated",
        "weight": 150,
        "description": "Updated landing page",
        "url": "https://example.com/?clickid={clickid}",
        "previewUrl": "https://example.com/preview-updated",
        "countries": ["RO"],
        "screenshot": "65f1f3f0dabc12.jpg",
        "image": "https://static.trafficmanager.com/offers/screenshots/65f1f3f0dabc12.jpg"
    }
}

Error Response

{
    "status": 400,
    "message": "The url parameter must contain {clickid}"
}