Neon One Volunteers API

Volunteers, groups, opportunities, roles, shifts, and time sheets.

Operations 14

GET /volunteers List volunteers #
GET /opportunities List volunteer opportunities #
POST /opportunities Create a volunteer opportunity #
GET /opportunities/{id} Retrieve a volunteer opportunity #
PUT /opportunities/{id} Update a volunteer opportunity #
PATCH /opportunities/{id} Partially update a volunteer opportunity #
DELETE /opportunities/{id} Delete a volunteer opportunity #
POST /opportunities/{id}/addVolunteers Add volunteers to an opportunity #
GET /opportunities/{opportunityId}/shifts List shifts for a volunteer opportunity #
POST /opportunities/{opportunityId}/shifts Create a shift for a volunteer opportunity #
GET /timesheets List volunteer time sheets #
POST /timesheets Create a volunteer time sheet entry #
GET /timesheets/{id} Retrieve a volunteer time sheet entry #
DELETE /timesheets/{id} Delete a volunteer time sheet entry #

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-volunteers-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-volunteers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Neon CRM API v2 Volunteers 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: Volunteers
  description: Volunteers, groups, opportunities, roles, shifts, and time sheets.
paths:
  /volunteers:
    get:
      operationId: listVolunteers
      tags:
      - Volunteers
      summary: List volunteers
      description: Volunteer Management endpoints added to API v2.9 in November 2024.
      responses:
        '200':
          description: A list of volunteers.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Volunteer'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /opportunities:
    get:
      operationId: listVolunteerOpportunities
      tags:
      - Volunteers
      summary: List volunteer opportunities
      responses:
        '200':
          description: A list of volunteer opportunities.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VolunteerOpportunity'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createVolunteerOpportunity
      tags:
      - Volunteers
      summary: Create a volunteer opportunity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolunteerOpportunity'
      responses:
        '200':
          description: The created opportunity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolunteerOpportunity'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /opportunities/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the volunteer opportunity.
      schema:
        type: string
    get:
      operationId: getVolunteerOpportunity
      tags:
      - Volunteers
      summary: Retrieve a volunteer opportunity
      responses:
        '200':
          description: The requested opportunity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolunteerOpportunity'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateVolunteerOpportunity
      tags:
      - Volunteers
      summary: Update a volunteer opportunity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolunteerOpportunity'
      responses:
        '200':
          description: The updated opportunity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolunteerOpportunity'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: patchVolunteerOpportunity
      tags:
      - Volunteers
      summary: Partially update a volunteer opportunity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The updated opportunity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolunteerOpportunity'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteVolunteerOpportunity
      tags:
      - Volunteers
      summary: Delete a volunteer opportunity
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
  /opportunities/{id}/addVolunteers:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the volunteer opportunity.
      schema:
        type: string
    post:
      operationId: addVolunteersToOpportunity
      tags:
      - Volunteers
      summary: Add volunteers to an opportunity
      description: Accepts the opportunityRoles parameter, added in API v2.11, to assign a role during sign-up.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                volunteerIds:
                  type: array
                  items:
                    type: string
                opportunityRoles:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Assignment result.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /opportunities/{opportunityId}/shifts:
    parameters:
    - name: opportunityId
      in: path
      required: true
      description: The ID of the volunteer opportunity.
      schema:
        type: string
    get:
      operationId: listOpportunityShifts
      tags:
      - Volunteers
      summary: List shifts for a volunteer opportunity
      responses:
        '200':
          description: A list of shifts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VolunteerShift'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createOpportunityShift
      tags:
      - Volunteers
      summary: Create a shift for a volunteer opportunity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolunteerShift'
      responses:
        '200':
          description: The created shift.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolunteerShift'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /timesheets:
    get:
      operationId: listTimeSheets
      tags:
      - Volunteers
      summary: List volunteer time sheets
      responses:
        '200':
          description: A list of time sheets.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createTimeSheet
      tags:
      - Volunteers
      summary: Create a volunteer time sheet entry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The created time sheet entry.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /timesheets/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: The ID of the time sheet entry.
      schema:
        type: string
    get:
      operationId: getTimeSheet
      tags:
      - Volunteers
      summary: Retrieve a volunteer time sheet entry
      responses:
        '200':
          description: The requested time sheet entry.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteTimeSheet
      tags:
      - Volunteers
      summary: Delete a volunteer time sheet entry
      responses:
        '200':
          description: Deletion confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
    Volunteer:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        skills:
          type: array
          items:
            type: string
      additionalProperties: true
    VolunteerOpportunity:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
      additionalProperties: true
    VolunteerShift:
      type: object
      properties:
        id:
          type: string
        opportunityId:
          type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
      additionalProperties: true
  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'
  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.