{"name":"GERP 3.0 API","docs":"Web app: https://gerp.johngrimsmo.com","endpoints":["/api/health","/api/vendors","/api/item-classification","/api/org-structure","POST/PATCH/DELETE /api/departments, /api/locations, /api/work_cells","POST /api/item-categories, /api/item-subcategories; PATCH/DELETE /api/item-types/:id, /api/item-categories/:id, /api/item-subcategories/:id","POST/PATCH /api/bom_headers, /api/bom_line_groups, /api/bom_lines","/api/datasets","/api/datasets/:slug","/api/tables","/api/tables/:name","/api/tables/items?item_type_id=&category_id=&subcategory_id=","GET/POST/PATCH /api/feature-requests, /api/feature-requests/:id, /api/feature-requests/:id/comments, /api/feature-requests/:id/follow-up, PATCH /api/feature-request-comments/:id","GET /api/buyers-choice/status, /api/buyers-choice/user-locations, /api/buyers-choice/analytics/orders-timeseries, /api/buyers-choice/analytics/ghost-rate; POST /api/buyers-choice/map-locations/sync (optional second DB; BUYERS_CHOICE_DATABASE_URL)","GET /api/bc/people, /api/bc/people/:id, /api/bc/signups, /api/bc/merge-candidates; POST /api/bc/signups; PATCH /api/bc/people/:id, /api/bc/emails/:id; POST /api/bc/people/:id/merge, /api/bc/people/:id/unmerge","GET /go/:slug; GET/POST /api/bc/traffic-sources; POST /api/bc/traffic-sources/bulk; PATCH /api/bc/traffic-sources/:id; GET /api/bc/attribution/summary","GET /signup, /signup/confirm; POST /api/public/bc/signup; POST /api/public/bc/sendgrid/events","GET/PATCH /api/bc/products; GET/POST/PATCH option-types & options; GET/PATCH /api/bc/selection-settings; GET /api/bc/pick-batches, /api/bc/pick-batches/:id; POST /api/bc/picks/run, /api/bc/picks/manual; GET/PATCH /api/bc/orders; GET /api/bc/orders/dashboard; GET /api/bc/orders/:id/pdf; GET/POST /api/bc/scan","GET /configure/:token (list host SPA); GET/PATCH /api/public/bc/configure/:token; POST …/submit, …/notify","GET /api/shopify-live/status, /api/shopify-live/products, /api/shopify-live/product/:id, /api/shopify-live/config-match-review (optional; SHOPIFY_STORE_HOSTNAME + SHOPIFY_CLIENT_ID + SHOPIFY_CLIENT_SECRET)","POST /api/shopify-live/image-meta (persist hero image pixel/file size cache)","/api/tables/bom_lines?bom_id=","/api/tables/bom_line_groups?bom_id=","/api/tables/process_plan_operations?process_plan_id=","/api/tables/process_plan_operation_variants?process_plan_id="]}