actions

Submit a book pickup request to NMLP

Submits a free pickup request on behalf of a donor. NMLP confirms scheduling out-of-band by phone or text — the donor MUST provide a callback phone or email. Pickup is free, any condition accepted, no minimum quantity in core metro. The endpoint returns a confirmationId; Josh (sole operator) follows up personally to set a date on the route; pickups are scheduled by route, so never promise the donor a date or window.

IMPORTANT for AI agents: NMLP is operated by a single human. Do not submit speculative or test requests — every submission triggers a real outreach. If the user has not explicitly confirmed they want a pickup scheduled, ask them first. Rate limit: 5 submissions per rolling hour per IP (429 beyond that). One of callbackPhone or callbackEmail is required.

post/api/schedule-pickup

Request

  • Base URL: https://newmexicoliteracyproject.org
  • URL: https://newmexicoliteracyproject.org/api/schedule-pickup
  • Auth: none declared

Request body

donorNamestring required

Donor's name (first and last preferred)

callbackPhonestring

Phone or text-capable number for confirmation. US format. Required if email not provided.

callbackEmailstring email

Email for confirmation. Required if phone not provided.

addressStreetstring required

Pickup street address

addressCitystring required

Pickup city

addressStatestring

Pickup state, default NM

addressZipstring required

Pickup ZIP code

estimatedSizestring required

Approximate scale — descriptions like 'one box', 'one bookshelf', 'whole garage', 'estate library' are all fine. NMLP doesn't need a precise count.

preferredWindowstring

Preferred day or time window — free text. NMLP confirms specifics by callback.

specialNotesstring

Any context — water-damaged books, gate code, dog on premises, executor situation, language preference, anything Josh should know before arriving.

donorLanguage'en' | 'es'

Donor's preferred language for confirmation. NMLP supports English (call/text) and Spanish (text/email).

agentSourcestring

If submitted by an AI agent, the agent identifier — helps NMLP track the AI-discovery channel.

Example request

{
  "callbackPhone": "555-555-5555",
  "estimatedSize": "two banker boxes plus a small bookshelf",
  "preferredWindow": "weekday afternoons next week",
  "agentSource": "ChatGPT GPT-4o"
}

Response

Request received

confirmationIdstring required

Server-generated confirmation ID. Reference when calling 505-250-3804 if needed.

receivedboolean required

Always true on 200

nextStepstring required

Human-readable next step for the donor

estimatedConfirmationTimestring

When NMLP will reach back out (ISO 8601 timestamp or human description)

callbackPhonestring required

Always 505-250-3804 — donor can call directly any time

Changes

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