# Campaigns ## Get campaigns (Intelligent Access) - [GET /campaigns](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_getcampaigns.md): Intelligent endpoint that adapts based on authentication: Public users get active campaigns with filtering, Admin users get all campaigns with full filtering. Replaces GET /campaign and GET /campaign/admin ## Create campaign (Admin) - [POST /campaigns](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_createcampaign.md): Create a new campaign. Admin-only operation. Replaces POST /campaign/admin/ ## Get campaign by ID - [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} ## Update campaign (Admin) - [PUT /campaigns/{id}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_updatecampaign.md): Update an existing campaign. Admin-only operation. Replaces PUT /campaign/admin/{id} ## Delete campaign (Admin) - [DELETE /campaigns/{id}](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_deletecampaign.md): Delete an existing campaign. Admin-only operation. Replaces DELETE /campaign/admin/{id} ## Toggle campaign status (Admin) - [PUT /campaigns/{id}/status](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_togglecampaignstatus.md): Toggle campaign active/inactive status. Admin-only operation. Replaces PUT /campaign/admin/{id}/activate ## Toggle campaign environment (Admin) - [PUT /campaigns/{id}/environment](https://docs.pers.ninja/swagger/campaigns/campaignscontroller_togglecampaignenvironment.md): Toggle campaign between testnet and mainnet environment. Admin-only operation. Replaces PUT /campaign/admin/{id}/environment