Neon One Donations API

Donations, pledges, pledge payments, recurring donations, and soft credits.

Operations 27

POST /donations Create a donation #
GET /donations/{id} Retrieve a donation #
PUT /donations/{id} Update a donation #
PATCH /donations/{id} Partially update a donation #
DELETE /donations/{id} Delete a donation #
POST /donations/search Search donations #
POST /pledges Create a pledge #
GET /pledges/{id} Retrieve a pledge #
PUT /pledges/{id} Update a pledge #
DELETE /pledges/{id} Delete a pledge #
GET /pledges/{id}/pledgePayments List payments made against a pledge #
POST /pledges/{id}/pledgePayments Create a payment against a pledge #
GET /pledges/{id}/pledgePayments/{paymentId} Retrieve a pledge payment #
DELETE /pledges/{id}/pledgePayments/{paymentId} Delete a pledge payment #
POST /pledges/{pledgeId}/installments Create a pledge installment #
GET /pledges/{pledgeId}/installments/{id} Retrieve a pledge installment #
PUT /pledges/{pledgeId}/installments/{id} Update a pledge installment #
DELETE /pledges/{pledgeId}/installments/{id} Delete a pledge installment #
GET /recurring List recurring donation schedules #
POST /recurring Create a recurring donation schedule #
GET /recurring/{id} Retrieve a recurring donation schedule #
PUT /recurring/{id} Update a recurring donation schedule #
DELETE /recurring/{id} Cancel/delete a recurring donation schedule #
GET /softCredits List soft credits #
POST /softCredits Create a soft credit #
GET /softCredits/{id} Retrieve a soft credit #
DELETE /softCredits/{id} Delete a soft credit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/neonone-donations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

neonone-donations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Neon CRM API v2 Donations API
  description: Neon CRM API v2 is a RESTful, JSON-based rebuild of Neon One's legacy API v1, first launched in 2019.
  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: Donations
  description: Donations, pledges, pledge payments, recurring donations, and soft credits.
paths:
  /donations:
    post:
      operationId: createDonation
      tags:
      - Donations
      summary: Create a donation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DonationInput'
      responses:
        '200':
          description: The created donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Donation'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /donations/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the donation.
      schema:
        type: string
    get:
      operationId: getDonation
      tags:
      - Donations
      summary: Retrieve a donation
      responses:
        '200':
          description: The requested donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Donation'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateDonation
      tags:
      - Donations
      summary: Update a donation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DonationInput'
      responses:
        '200':
          description: The updated donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Donation'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: patchDonation
      tags:
      - Donations
      summary: Partially update a donation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The updated donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Donation'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteDonation
      tags:
      - Donations
      summary: Delete a donation
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /donations/search:
    post:
      operationId: searchDonations
      tags:
      - Donations
      summary: Search donations
      description: Rate-limited to 1 simultaneous request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
      responses:
        '200':
          description: Matching donations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  searchResults:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /pledges:
    post:
      operationId: createPledge
      tags:
      - Donations
      summary: Create a pledge
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PledgeInput'
      responses:
        '200':
          description: The created pledge.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pledge'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /pledges/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the pledge.
      schema:
        type: string
    get:
      operationId: getPledge
      tags:
      - Donations
      summary: Retrieve a pledge
      responses:
        '200':
          description: The requested pledge.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pledge'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updatePledge
      tags:
      - Donations
      summary: Update a pledge
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PledgeInput'
      responses:
        '200':
          description: The updated pledge.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pledge'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deletePledge
      tags:
      - Donations
      summary: Delete a pledge
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /pledges/{id}/pledgePayments:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the pledge.
      schema:
        type: string
    get:
      operationId: listPledgePayments
      tags:
      - Donations
      summary: List payments made against a pledge
      responses:
        '200':
          description: A list of pledge payments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pledgePayments:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createPledgePayment
      tags:
      - Donations
      summary: Create a payment against a pledge
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The created pledge payment.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /pledges/{id}/pledgePayments/{paymentId}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the pledge.
      schema:
        type: string
    - name: paymentId
      in: path
      required: true
      description: The ID of the pledge payment.
      schema:
        type: string
    get:
      operationId: getPledgePayment
      tags:
      - Donations
      summary: Retrieve a pledge payment
      responses:
        '200':
          description: The requested pledge payment.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deletePledgePayment
      tags:
      - Donations
      summary: Delete a pledge payment
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /pledges/{pledgeId}/installments:
    parameters:
    - name: pledgeId
      in: path
      required: true
      description: The ID of the pledge.
      schema:
        type: string
    post:
      operationId: createPledgeInstallment
      tags:
      - Donations
      summary: Create a pledge installment
      description: Added in API v2.3.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The created installment.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /pledges/{pledgeId}/installments/{id}:
    parameters:
    - name: pledgeId
      in: path
      required: true
      description: The ID of the pledge.
      schema:
        type: string
    - name: id
      in: path
      required: true
      description: The ID of the installment.
      schema:
        type: string
    get:
      operationId: getPledgeInstallment
      tags:
      - Donations
      summary: Retrieve a pledge installment
      responses:
        '200':
          description: The requested installment.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updatePledgeInstallment
      tags:
      - Donations
      summary: Update a pledge installment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The updated installment.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deletePledgeInstallment
      tags:
      - Donations
      summary: Delete a pledge installment
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /recurring:
    get:
      operationId: listRecurringDonations
      tags:
      - Donations
      summary: List recurring donation schedules
      responses:
        '200':
          description: A list of recurring donations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  recurringDonations:
                    type: array
                    items:
                      $ref: '#/components/schemas/RecurringDonation'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createRecurringDonation
      tags:
      - Donations
      summary: Create a recurring donation schedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecurringDonation'
      responses:
        '200':
          description: The created recurring donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringDonation'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /recurring/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the recurring donation.
      schema:
        type: string
    get:
      operationId: getRecurringDonation
      tags:
      - Donations
      summary: Retrieve a recurring donation schedule
      responses:
        '200':
          description: The requested recurring donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringDonation'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateRecurringDonation
      tags:
      - Donations
      summary: Update a recurring donation schedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecurringDonation'
      responses:
        '200':
          description: The updated recurring donation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringDonation'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteRecurringDonation
      tags:
      - Donations
      summary: Cancel/delete a recurring donation schedule
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /softCredits:
    get:
      operationId: listSoftCredits
      tags:
      - Donations
      summary: List soft credits
      description: Added in API v2.3.
      responses:
        '200':
          description: A list of soft credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  softCredits:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSoftCredit
      tags:
      - Donations
      summary: Create a soft credit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The created soft credit.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /softCredits/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the soft credit.
      schema:
        type: string
    get:
      operationId: getSoftCredit
      tags:
      - Donations
      summary: Retrieve a soft credit
      responses:
        '200':
          description: The requested soft credit.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteSoftCredit
      tags:
      - Donations
      summary: Delete a soft credit
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Pledge:
      allOf:
      - $ref: '#/components/schemas/PledgeInput'
      - type: object
        properties:
          id:
            type: string
          pledgeStatus:
            type: string
            enum:
            - open
            - closed
    Donation:
      allOf:
      - $ref: '#/components/schemas/DonationInput'
      - type: object
        properties:
          id:
            type: string
          batchNumber:
            type: string
          publicRecognitionName:
            type: string
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
    PledgeInput:
      type: object
      required:
      - accountId
      - amount
      properties:
        accountId:
          type: string
        amount:
          type: number
          format: float
        matchedDonationId:
          type: string
        expectedDate:
          type: string
          format: date
      additionalProperties: true
    RecurringDonation:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        amount:
          type: number
          format: float
        creditCardOnline:
          type: object
          additionalProperties: true
        ach:
          type: object
          additionalProperties: true
        frequency:
          type: string
      additionalProperties: true
    DonationInput:
      type: object
      required:
      - accountId
      - amount
      properties:
        accountId:
          type: string
        amount:
          type: number
          format: float
        campaign:
          type: object
          additionalProperties: true
        fund:
          type: object
          additionalProperties: true
        purpose:
          type: object
          additionalProperties: true
        tribute:
          type: object
          additionalProperties: true
        solicitor:
          type: array
          items:
            type: object
            properties:
              accountId:
                type: string
              solicitorName:
                type: string
      additionalProperties: true
    SearchRequest:
      type: object
      required:
      - searchFields
      - outputFields
      properties:
        searchFields:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              operator:
                type: string
              value:
                type: string
        outputFields:
          type: array
          items:
            type: string
        pagination:
          type: object
          properties:
            currentPage:
              type: integer
            pageSize:
              type: integer
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: The rate limit for simultaneous requests to this endpoint was exceeded.
      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'
  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.