Skip to content

Remove trigger source from campaign (Admin / Business)

Request

Remove a trigger source assignment from a campaign. Businesses may only modify campaigns they own.

Security
authJWT
Path
idstringrequired
triggerSourceIdstringrequired
curl -i -X DELETE \
  'https://docs.pers.ninja/_mock/swagger/campaigns/{id}/trigger-sources/{triggerSourceId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Trigger source removed from campaign successfully

Bodyapplication/json
idstringrequired

Campaign id

ownerBusinessIdstring or nullrequired

Optional owner business ID. If set, this campaign belongs to a specific business. If null, the campaign is tenant-owned (system-level).

namestring or nullrequired

Campaign name

descriptionstring or nullrequired

Campaign description

beneficiaryAccountAddressstring or nullrequired

Campaign beneficiary account address

startDatestring or null, (date-time)required

Campaign start date, default is the current date

endDatestring or null, (date-time)required

Campaign end date

imageUrlstring or nullrequired

img url

logoUrlstring or nullrequired

Logo URL for the campaign

externalUrlstring or nullrequired

Campaign url

isActivebooleanrequired

Campaign isActive

Default:false
statusstring(AvailabilityStatus)required

Computed availability: inactive (isActive=false), ended, scheduled (not started) or active

Enum:"inactive""scheduled""active""ended"
approvalobject(ApprovalDTO)required

Approval metadata for this campaign.

isTestnetboolean

Campaign isTestnet, this means that the campaign is running on testnet, not mainnet

Default:false
createdAtstring, (date-time)required

create date

Default:null
updatedAtstring or null, (date-time)required

update date

Default:null
ordernumber or nullrequired

Campaign order. Null means unordered (not manually positioned) — sorts last in default ascending order.

Default:null
tagsArray of stringsrequired

Campaign tags

Default:[]
countryCodeRestrictionsobject

Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])

Example:
[ "NOT_ES", "FR" ]
triggerobject or null(CampaignTriggerDTO)required

Campaign trigger: what triggers the campaign, and what are the conditions for the trigger to be activated

tokenUnitsArray of itemsrequired
businessEngagementsArray of itemsrequired
triggerSourceIdsArray of arraysrequired

Trigger source IDs. Use to batch fetch or request via ?include=triggerSources

Example:
[ "trigger-uuid-1", "trigger-uuid-2" ]
includedobject or null

Included related data. Only populated when include parameter is specified.

Response
{ "id": "string", "ownerBusinessId": "string", "name": "string", "description": "string", "beneficiaryAccountAddress": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "imageUrl": "string", "logoUrl": "string", "externalUrl": "string", "isActive": false, "status": "inactive", "approval": { "status": "pending_approval", "approvedAt": "2019-08-24T14:15:22Z", "approvedBy": "string", "rejectionReason": "string" }, "isTestnet": false, "createdAt": null, "updatedAt": null, "order": null, "tags": [], "countryCodeRestrictions": [ "NOT_ES", "FR" ], "trigger": { "name": 0, "description": "string", "terms": "string", "maxPerDayPerUser": 0, "maxPerUser": 0, "minCooldownSeconds": 0, "maxGeoDistanceInMeters": 0, "requiredUserInfo": "string", "triggerType": "CLAIM_BY_USER", "maxMultiplier": 0, "completionThreshold": 0, "maxTotal": 0, "maxPerDayTotal": 0, "maxPerSource": 0, "conditions": [ … ], "sourceLogic": "any", "id": "string" }, "tokenUnits": [ [ … ] ], "businessEngagements": [ [ … ] ], "triggerSourceIds": [ "trigger-uuid-1", "trigger-uuid-2" ], "included": { "claimCount": 0, "triggerSources": [ … ], "businesses": [ … ], "ownerBusiness": { … } } }