# Campaigns

 - [Core Campaign Management](https://docs.pers.ninja/swagger/campaigns/core-campaign-management.md): ## Core Campaign Management <div style="font-size: 14px; line-height: 1.5;"> Core campaign CRUD operations with intelligent access detection. Handles campaign lifecycle management including creation,
 - [GET /campaigns](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_getcampaigns.md): Endpoint that adapts based on authentication: Public users get active campaigns with filtering, Business users get all campaigns (active+inactive) for their business only, Admin users get all campaign
 - [POST /campaigns](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_createcampaign.md): Create a new campaign. Admin-only operation. Replaces POST /campaign/admin/
 - [GET /campaigns/{id}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_getcampaignbyid.md): Get single campaign details by ID. Available to public with project key. Replaces GET /campaign/{id}
 - [PUT /campaigns/{id}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_updatecampaign.md): Update an existing campaign. Business can only update their own campaigns.
 - [DELETE /campaigns/{id}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_deletecampaign.md): Delete an existing campaign. Business can only delete their own campaigns.
 - [PUT /campaigns/{id}/status](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_togglecampaignstatus.md): Toggle campaign active/inactive status. Business can only toggle their own campaigns.
 - [PUT /campaigns/{id}/environment](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_togglecampaignenvironment.md): Toggle campaign between testnet and mainnet environment. Accessible by tenant admin and business owner. Replaces PUT /campaign/admin/{id}/environment
 - [PUT /campaigns/{id}/trigger-sources/{triggerSourceId}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_assigntriggersourcetocampaign.md): Assign a trigger source to a campaign. Businesses may only assign trigger sources they own to campaigns they own.
 - [DELETE /campaigns/{id}/trigger-sources/{triggerSourceId}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_removetriggersourcefromcampaign.md): Remove a trigger source assignment from a campaign. Businesses may only modify campaigns they own.
 - [GET /campaigns/export/csv](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_exportcampaignsascsv.md): Export all campaigns to CSV format with optional date filtering.
 - [PATCH /campaigns/{id}/approval](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_approveorrejectcampaign.md): Sets approval status to approved or rejected. Rejected requires a reason.
