Resources API

Manage your directory

For organization staff: add, update, and remove entries in your own community-resource directory. This requires a team key with the directory management scope — developer keys don't have access here.

Who this is for. Organization managers and admins who want to sync their directory from a spreadsheet, CRM, or another system. If you just want to propose one new resource, use Resources — submit instead.

Endpoint base

Basebynli.com
https://bynli.com/dash/api/resources
Authorization: Bearer bapi_tk_…
Content-Type: application/json

List entries

GET/dash/api/resources
curl "https://bynli.com/dash/api/resources?status=approved&limit=50" \
  -H "Authorization: Bearer bapi_tk_…"

Returns every resource owned by your organization, including pending and rejected rows. Supports status, category, limit, and offset.

Add one

POST/dash/api/resources
curl -X POST https://bynli.com/dash/api/resources \
  -H "Authorization: Bearer bapi_tk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Atlanta Community Food Bank",
    "description": "Food distribution for metro Atlanta",
    "category": "food",
    "address": "732 Joseph E. Lowery Blvd NW",
    "phone": "(404) 892-9822",
    "website": "https://www.acfb.org"
  }'

The entry is added as approved immediately — you're its publisher.

Bulk import

POST/dash/api/resources/import
curl -X POST https://bynli.com/dash/api/resources/import \
  -H "Authorization: Bearer bapi_tk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "resources": [
      { "name": "Food Bank", "purpose": "Meals for families", "category": "food" },
      { "name": "Legal Aid Society", "phone": "(555) 555-0199" }
    ]
  }'

Rows with no name are skipped. Exact duplicates (same name inside your directory) are skipped. purpose is accepted as a spreadsheet-friendly alias for description. Any row failing validation rolls back the whole batch.

Update

PUT/dash/api/resources
curl -X PUT https://bynli.com/dash/api/resources \
  -H "Authorization: Bearer bapi_tk_…" \
  -H "Content-Type: application/json" \
  -d '{ "id": 142, "hours": "Mon–Fri 9–5" }'

Patch any subset of name, description, category, address, phone, website, hours, status, is_active.

Delete

DELETE/dash/api/resources
curl -X DELETE https://bynli.com/dash/api/resources \
  -H "Authorization: Bearer bapi_tk_…" \
  -H "Content-Type: application/json" \
  -d '{ "id": 142 }'

Removes the row and its associated upvotes, saves, and comments.

Categories

Leave category off and Bynli will infer one from the name and description. Recognized categories: food, housing, health, employment, education, childcare, legal, mental, transport, finance, community, other.

Errors

StatusWhen
401Missing or unknown bearer.
403Your key doesn't have the directory management scope, or the entry belongs to a different organization.
404Entry not found.
422Required field missing or the bulk array is empty.