# Campaigns Campaign creation, management, and funding ## Create a new campaign - [POST /campaigns](https://docs-staging.varmply.com/openapi/campaigns/createcampaignforauthenticateduser.md): Create a new campaign for the authenticated user. Returns 201 Created on success. Requires a valid JWT access token. ## Get campaign details - [GET /campaigns/{campaignId}](https://docs-staging.varmply.com/openapi/campaigns/getcampaignsummaryforauthenticateduser.md): Retrieve a campaign summary for the authenticated user. Only the campaign owner can access the campaign. Returns 200 OK on success, 404 if not found, 403 if not owned by user. Requires a valid JWT access token. ## Get campaign analytics summary - [GET /campaigns/{campaignId}/summary](https://docs-staging.varmply.com/openapi/campaigns/getcampaignanalyticssummary.md): Retrieve a comprehensive analytics summary for a campaign including escrow, participation, submission, and payout metrics. Returns 200 OK on success, 404 if campaign not found. Requires a valid JWT access token. ## Get campaign ledger activity feed - [GET /campaigns/{campaignId}/ledger](https://docs-staging.varmply.com/openapi/campaigns/getcampaignledgerevents.md): Retrieve campaign ledger transaction events as an activity feed, showing all financial transactions related to a campaign in chronological order (newest first). Returns 200 OK on success, 404 if campaign not found. Supports optional limit query parameter (default 50). Requires a valid JWT access token. ## Get campaign timeline analytics - [GET /campaigns/{campaignId}/timeline](https://docs-staging.varmply.com/openapi/campaigns/getcampaigntimeline.md): Retrieve time-series timeline data for a campaign with daily buckets showing cumulative payouts, escrow balance, participation counts, and approved submission counts over time. Returns 200 OK on success, 404 if campaign not found. Supports optional limitDays query parameter to limit the number of days returned. Requires a valid JWT access token. ## Fund a campaign - [POST /campaigns/{campaignId}/fund](https://docs-staging.varmply.com/openapi/campaigns/fundcampaignfromauthenticateduserwallet.md): Fund a campaign from the authenticated user's wallet. Only the campaign owner can fund their campaign. Returns 200 OK on success. Requires a valid JWT access token. ## Finalize a campaign - [POST /campaigns/{campaignId}/finalize](https://docs-staging.varmply.com/openapi/campaigns/finalizecampaign.md): Finalize a campaign if completion conditions are met. Only the campaign owner can finalize their campaign. Completion requires either: campaign endDate has passed OR escrow balance is zero. Returns 200 OK with updated campaign on success, 400 if not eligible. Requires a valid JWT access token.