Halal Eats

Contributions

Submit restaurant suggestions, reviews, menu items, photos, and reports with an API key.

Contribution endpoints let approved API-key users help improve Halal Eats data.

Submitted content is reviewed before it appears in public restaurant responses.

Authentication

Contribution endpoints require:

Authorization: Bearer hal_live_your_key

Submit a restaurant

POST /api/v1/stores
type CreateStoreInput = {
  name: string;
  address: string;
  cuisine?: string;
  description?: string;
  halalStatus: "verified_halal" | "halal_options" | "unknown";
  halalVerificationMethod?: string;
  latitude?: number | null;
  longitude?: number | null;
  city?: string | null;
  state?: string | null;
  country?: string | null;
};

Example:

curl "https://eatinghalal.vercel.app/api/v1/stores" \
  -X POST \
  -H "Authorization: Bearer hal_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example Grill",
    "address": "1 Main Street",
    "halalStatus": "verified_halal"
  }'

Add a review

POST /api/v1/stores/:id/reviews
type CreateReviewInput = {
  rating: 1 | 2 | 3 | 4 | 5;
  comment?: string;
};

Suggest a menu item

POST /api/v1/stores/:id/menu-items
type CreateMenuItemInput = {
  name: string;
  description?: string;
  price?: string;
};

Add an image URL

POST /api/v1/stores/:id/images
type CreateImageInput = {
  imageUrl: string;
  altText?: string;
};

Image URLs must use http or https.

Report a problem

POST /api/v1/stores/:id/reports
type CreateReportInput = {
  reason: string;
};

Response

Contribution endpoints return the created resource ID:

type IdResponse = {
  data: {
    id: string;
  };
};

Review process

  • Restaurant suggestions are checked before being listed publicly.
  • Reviews, menu items, and photos are checked before being included in restaurant details.
  • Reports help correct outdated or inaccurate data.
  • Duplicate restaurant submissions may be rejected.

On this page