Skip to content

PUT /api/v3/campaigns/{lcuid}

Summary

PUT campaigns/{id}

Description

Update an campaign

See Campaign for details on the campaign object

🔒 Required Permissions

At least one of the following permissions is required to access this endpoint:

  • account.createCampaigns
  • agency.updateDeleteAllAgencyAccounts

Tags: campaigns

Parameters

Header Parameters

Name Type Required Description Example
Authorization string ✓ Yes Bearer {AuthToken}
Content-Type string ✓ Yes application/json
Accept string ✓ Yes application/json
AppIdV3 string ✓ Yes LCUID-LAP-********-****-****-****-************

Request Body

Required: Yes

Content Type: application/json

Schema

Type: object

Required fields: name

Properties:

  • name (string) (required)

Responses

Response: 200

Description: Sample Response

Content Type: application/json

Schema

Type: object

Properties:

  • success (boolean)
  • campaign (object) Type: object

Properties:

  • name (string)
  • lcuid (string)
  • active (boolean)
  • created_at (string)
  • campaign_state (integer)
  • campaign_state_changed_at (string)
  • hash_id (string)
  • campaign_class (string)
  • campaign_class_description (string)
  • options (object) Type: object

    Properties:

    • unique_board_sizes (array)
    • Array items: string
    • unique_board_formats (array)
    • Array items: string
  • schedule (string)

  • build_status (integer)
  • last_build_at (string)
Example Response
{
    "success": true,
    "campaign": {
        "name": "My Updatred Campaign",
        "lcuid": "LCUID-LE-de065fb8-cea6-48b8-bfec-f281214a4555",
        "active": true,
        "created_at": "2026-01-07T00:13:55.000000Z",
        "campaign_state": 6,
        "campaign_state_changed_at": null,
        "hash_id": "lch-4CPs",
        "campaign_class": "App\\LuCore\\Campaigns\\OperatorContractCampaignClass",
        "campaign_class_description": "Media Owner Contract",
        "options": {
            "unique_board_sizes": [
                "1024x768"
            ],
            "unique_board_formats": [
                "oddblock"
            ]
        },
        "schedule": null,
        "build_status": 7,
        "last_build_at": null
    }
}

Example Implementations

Bash (cURL)

curl --request PUT \
    "https://api.lucit.app/api/v3/campaigns/LCUID-LE-506fc585-77be-11ec-acb9-c2cdb617d190" \
    --header "Authorization: Bearer {AuthToken}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "AppIdV3: LCUID-LAP-********-****-****-****-************" \
    --data "{
    \"name\": \"My Cool Campaign\"
}"

JavaScript (Fetch API)

const url = new URL(
    "https://api.lucit.app/api/v3/campaigns/LCUID-LE-506fc585-77be-11ec-acb9-c2cdb617d190"
);

const headers = {
    "Authorization": "Bearer {AuthToken}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "AppIdV3": "LCUID-LAP-********-****-****-****-************",
};

let body = {
    "name": "My Cool Campaign"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

PHP (Guzzle)

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://api.lucit.app/api/v3/campaigns/LCUID-LE-506fc585-77be-11ec-acb9-c2cdb617d190',
    [
        'headers' => [
            'Authorization' => 'Bearer {AuthToken}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'AppIdV3' => 'LCUID-LAP-********-****-****-****-************',
        ],
        'json' => [
            'name' => 'My Cool Campaign',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Python (Requests)

import requests
import json

url = 'https://api.lucit.app/api/v3/campaigns/LCUID-LE-506fc585-77be-11ec-acb9-c2cdb617d190'
payload = {
    "name": "My Cool Campaign"
}
headers = {
  'Authorization': 'Bearer {AuthToken}',
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'AppIdV3': 'LCUID-LAP-********-****-****-****-************'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

← Back to campaigns index | Back to main index