v1

latestOpenAPI 3.0.02026-08-062438369.6 KB
Projects

Create a Project

Creates a new volunteer project (opportunity) for your organization. Required fields are name, description, age_limit, privacy, allow_guests, participant_approval_required, and address (including address.timezone). Provide a dates array of serving dates for scheduled ('dated') projects; volunteer_question, campaigns, links, and point_person are optional. A project's type ('dated' vs 'anytime') cannot be changed after creation.

post/projects

Request body

namestring required

The name of the project

descriptionstring required

A description for the project

detailsstring

Emphasize important details such as shoes to wear or items to bring. This information goes in the signup confirmation email, and is a great place to detail next steps in a Project

allow_guestsboolean required

Whether to allow volunteers to bring guests

age_limitinteger required

The minimum age a volunteer must be

volunteer_questionstring

Ask your volunteers to provide additional information about themselves as they register. This field will be required to join the Serving Date.

participant_approval_requiredboolean required

Volunteers must be approved by the organizer before their spot is reserved.

background_check_requiredboolean

Volunteers must have a background check before signing up for your Project.

show_volunteer_counterboolean required

Display number of participants. Note that this will only show on the project page if it is an Anytime project

volunteer_counter_thresholdinteger required

The minimum number of volunteers signed up before the counter is shown. Note that this will only show on the project page if it is an Anytime project

draftboolean

When a project is in draft, it will not be viewable by anyone.

privacy'PUBLIC' | 'PRIVATE' | 'UNLISTED' required

The visibility of the project. Possible values: PUBLIC — accessible by all VOMO users; PRIVATE — accessible only by members of the organization (those in the People list); UNLISTED — not listed publicly but accessible via direct link.

organization_idinteger

The Organization ID to post the project to. Note, you must be part of the organization to post a project to it.

project_type'dated' | 'anytime'

The scheduling type for the project. Cannot be changed after a project has been created. Possible values: dated — the project has specific dates and times when volunteers are needed; anytime — volunteers can participate at any time, with no fixed schedule.

Example request

{
  "name": "Community Gathering",
  "description": "Inviting & meeting new neighbors of the community. Serving meals, setup game stations, face paintings for kids...etc.",
  "details": "Wear comfortable shoes!",
  "age_limit": 13,
  "volunteer_question": "What is your t-shirt size?",
  "volunteer_counter_threshold": 10,
  "privacy": "PUBLIC",
  "organization_id": 1,
  "images": [
    {
      "l": "https://assets.vomo.org/categories/animals/Animals.jpg",
      "s": "https://assets.vomo.org/categories/animals/Animals+small.jpg",
      "o": "https://assets.vomo.org/categories/animals/Animals.jpg"
    }
  ],
  "point_person": {
    "name": "John Volunteer",
    "phone": "5555555555",
    "email": "volunteer@vomo.org"
  },
  "categories": [
    {
      "id": 1
    }
  ],
  "campaigns": [
    {
      "id": 1
    }
  ],
  "owners": [
    {
      "id": 1
    }
  ],
  "links": [
    {
      "title": "Go here for more information",
      "link": "https://vomo.org"
    }
  ],
  "address": {
    "lat": 33.214561,
    "lng": -96.614456,
    "country": "United States",
    "locality": "McKinney",
    "timezone": "America/Chicago",
    "postal_code": "75069",
    "country_short": "US",
    "locality_short": "McKinney",
    "formatted_address": "610 Elm St Suite 800, McKinney, TX 75069, USA",
    "postal_code_short": "75069",
    "administrative_area_level_1": "Texas",
    "administrative_area_level_1_short": "TX"
  },
  "project_type": "dated",
  "dates": [
    {
      "id": "123",
      "starts_at": "2020-01-01 09:00:00",
      "ends_at": "2020-01-01 12:00:00",
      "status": "existing",
      "roles": [
        {
          "id": "123",
          "name": "Greeter",
          "description": "A cheery person for greeting guests as they come in.",
          "capacity": 2
        }
      ],
      "items": [
        {
          "id": "123",
          "name": "Bottled Water",
          "description": "A case of 24",
          "capacity": 10
        }
      ]
    }
  ]
}

Response

Returns the newly created project record in full detail, including its generated serving dates and any associated campaigns.

codeinteger
messagestring

Example response

{
  "code": 201,
  "message": "Project created.",
  "data": {
    "type": "project",
    "id": "1",
    "project_name": "Community Gathering",
    "description": "Inviting & meeting new neighbors of the community. Serving meals, setup game stations, face paintings for kids...etc.",
    "details": "Wear comfortable shoes!",
    "url": "https://app.vomo.org/opportunity/generated-slug",
    "organization_id": 1,
    "organization": "VOMO",
    "organization_slug": "vomo",
    "author_id": 1,
    "owners": [
      {
        "id": 1,
        "is_primary_owner": true,
        "send_notifications": true
      }
    ],
    "address": {
      "lat": "40.70387040000001",
      "lng": "-74.0138541",
      "country": "United States",
      "locality": "BOWLING GREEN",
      "timezone": "America/New_York",
      "postal_code": "10004",
      "country_short": "US",
      "locality_short": "BOWLING GREEN",
      "formatted_address": "BOWLING GREEN, NY 10004, USA",
      "postal_code_short": "10004",
      "administrative_area_level_1": "New York",
      "administrative_area_level_1_short": "NY"
    },
    "created_at": "2016-03-07T07:49:41+00:00",
    "updated_at": "2016-03-07T07:49:41+00:00",
    "published_at": "2016-03-07T07:49:41+00:00",
    "campaigns": [
      {
        "type": "campaign",
        "id": "1",
        "campaign_name": "Together",
        "description": "Example description.",
        "url": "http://app.vomo.org/initiative/together",
        "organization": "VOMO",
        "organization_id": 1,
        "organization_slug": "vomo",
        "logo_url": "https://s3.amazonaws.com/awakenmycity/j2/7Z/r4-s.jpg",
        "updated_at": "2016-03-07T07:49:41+00:00",
        "created_at": "2016-03-07T07:49:41+00:00"
      }
    ],
    "certificates": [
      {
        "id": 1,
        "name": "Volunteer Application",
        "requirement": "Watch tutorial videos.",
        "slug": "2d8614a5-31ed-4810-8da2-448f59463e43",
        "expiration_in_months": 12,
        "creator_id": 1,
        "organization_id": 1,
        "created_at": "2016-03-07T07:49:41+00:00",
        "updated_at": "2016-03-07T07:49:41+00:00"
      }
    ],
    "form_completions": [
      {
        "type": "form_completion",
        "project_id": 1,
        "participation_id": 1,
        "updated_at": "2016-03-07T07:49:41+00:00",
        "created_at": "2016-03-07T07:49:41+00:00",
        "field_responses": [
          {
            "type": "form_field_response",
            "value": "S"
          }
        ]
      }
    ],
    "next_date": {
      "type": "project_date",
      "starts_at": "2020-01-01T12:00:00+00:00",
      "ends_at": "2020-01-01T19:00:00+00:00",
      "participant_count": 13
    },
    "images": [
      "https://vomo-cdn.com/media/2019/01/01-sulmLi2Z-l.jpg"
    ],
    "point_person": {
      "name": "John Volunteer",
      "phone": "5555555555",
      "email": "volunteer@vomo.org"
    },
    "age_limit": 13,
    "volunteer_question": "What is your t-shirt size?",
    "volunteer_counter_threshold": 10,
    "privacy": "PUBLIC",
    "all_dates": [
      {
        "type": "project_date",
        "starts_at": "2020-01-01T12:00:00+00:00",
        "ends_at": "2020-01-01T19:00:00+00:00",
        "participant_count": 13
      }
    ]
  }
}