openapi: 3.0.3 info: title: Neon CRM API v2 Accounts Campaigns API description: Neon CRM API v2 is a RESTful, JSON-based rebuild of Neon One's legacy API v1, first launched in 2019. It exposes constituent accounts, households, donations, pledges, recurring donations, campaigns, memberships, events, custom fields and custom objects, orders and the online store, volunteers, and webhook subscriptions. All requests use HTTP Basic Authentication with the organization's Org ID as the username and an API key as the password. Neon CRM API v1 and its legacy webhook structure are scheduled to be retired on July 11, 2026; this document covers API v2 only. This is a representative subset of the full v2 surface, grounded in Neon's public developer documentation and version release notes (v2.0 - v2.11), not an exhaustive mirror of every documented endpoint. version: '2.11' contact: name: Neon One Developer Center url: https://developer.neoncrm.com/ license: name: Proprietary url: https://neonone.com/ servers: - url: https://api.neoncrm.com/v2 description: Production and Sandbox - url: https://trial.z2systems.com/v2 description: Trial instances security: - basicAuth: [] tags: - name: Campaigns description: Fundraising campaigns that transactions are attributed to. paths: /campaigns: get: operationId: listCampaigns tags: - Campaigns summary: List campaigns responses: '200': description: A list of campaigns. content: application/json: schema: type: object properties: campaigns: type: array items: $ref: '#/components/schemas/Campaign' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createCampaign tags: - Campaigns summary: Create a campaign requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Campaign' responses: '200': description: The created campaign. content: application/json: schema: $ref: '#/components/schemas/Campaign' '401': $ref: '#/components/responses/Unauthorized' /campaigns/{id}: parameters: - name: id in: path required: true description: The ID of the campaign. schema: type: string get: operationId: getCampaign tags: - Campaigns summary: Retrieve a campaign responses: '200': description: The requested campaign. content: application/json: schema: $ref: '#/components/schemas/Campaign' '404': $ref: '#/components/responses/NotFound' put: operationId: updateCampaign tags: - Campaigns summary: Update a campaign description: The socialFundraising.enabled field must be explicitly set to true when updating a campaign via API v2, or peer-to-peer fundraising support will be disabled in the UI (fixed default behavior noted in API v2.2 release notes). requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Campaign' responses: '200': description: The updated campaign. content: application/json: schema: $ref: '#/components/schemas/Campaign' '404': $ref: '#/components/responses/NotFound' patch: operationId: patchCampaign tags: - Campaigns summary: Partially update a campaign requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: The updated campaign. content: application/json: schema: $ref: '#/components/schemas/Campaign' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteCampaign tags: - Campaigns summary: Delete a campaign responses: '200': description: Deletion confirmation. '404': $ref: '#/components/responses/NotFound' components: responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Missing or invalid Org ID / API key in the Basic Authorization header. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object properties: errors: type: array items: type: object properties: code: type: string message: type: string Campaign: type: object properties: id: type: string name: type: string code: type: string isDefault: type: boolean socialFundraising: type: object properties: enabled: type: boolean additionalProperties: true additionalProperties: true securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic Authentication. Username is the Neon CRM organization's Org ID; password is an API key generated for a system user under Settings > User Management.