v1

latestOpenAPI 3.0.02026-08-062438369.6 KB
Projects

Update a Project

Updates an existing volunteer project. All required project fields must be supplied. Serving dates are upserted: a date with an existing id is updated, a date with no id is created, and a date is removed only when it is included with status 'deleted' — omitting a date from the request does NOT delete it. The project_type (dated vs. anytime) cannot be changed after creation.

put/projects/{id}

Path parameters

idinteger required

The ID for the project to be updated

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 updated project record in full detail, reflecting all changes made in this request including any serving date additions, updates, or deletions.

codeinteger
messagestring

Example response

{
  "code": 200,
  "message": "Project updated.",
  "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
      }
    ]
  }
}