Imports

Import a roster + schedule

Parse a pasted CSV/table and create contacts, weekly/custom schedules, and roster assignments. Requires preview_token from POST /imports/preview for the same text. Test-mode accounts only; account 3 is refused even in test. Does not change reminder mode, the confirm loop, or the substitute finder. Requires schedules:write and contacts:write. UTF-16 text is refused with 400 unsupported_encoding, as on preview.

post/api/v1/imports

Request

  • Base URL: https://volunteerreminder.com
  • URL: https://volunteerreminder.com/api/v1/imports
  • Auth: HTTP bearer

Request body

textstring required

CSV, TSV, pipe-delimited, or a headerless table. Recognized columns: name, phone, email, job/role, day, date, start, end. Header aliases (volunteer, weekday, from, …) are accepted. Max ~500 data rows.

consent_attestedboolean

Required to be true on commit when any imported contact has a mobile number. By setting it you affirm: "I confirm these volunteers gave their mobile number to our organization and agreed to receive shift reminder texts from us, sent through VolunteerReminder, and that I can show how they agreed if asked." Omit on preview, or when every contact is email-only.

preview_tokenstring

Required on commit. Copy the preview_token from POST /api/v1/imports/preview for this exact roster text. Optional in the schema so a live or blocked account still receives 403 (not 400) when the token is omitted.

Example request

{
  "text": "name,phone,email,job,day,start,end\nJane Doe,512-555-0100,jane@pantry.org,Greeter,Tuesday,9:00 AM,12:00 PM",
  "consent_attested": true,
  "preview_token": "imp_0123456789abcdef"
}

Response

Created contacts, schedules, and assignments.

contacts_creatednumber required
schedules_creatednumber required
assignments_creatednumber required
reminder_mode'test' | 'live' required
reminder_mode_notestring required

Changes

No recorded changes to this operation across all 1 revision of this API.