API Reference · V2

Gogenx Listings API

Manage business listings programmatically. Create, update, retrieve, and deactivate listings through a single REST API.

Getting started

Introduction

The Listings API lets you manage business listings programmatically. Every request and response is encoded as application/json.

Base URL https://gogenx.ai/api/v2
Application/JSON

Getting started

Authentication

All endpoints require an API key. Include your key in the apikey header on every request.

Curl
curl https://gogenx.ai/api/v2/businesses \
  -H "apikey: gxk_your_api_key_here"
Post /businesses

Create Business

Create a new business listing. Required fields: businessName, businessAddress, businessCity, businessState, businessZip and businessPhone. All other fields are optional.

Example request

Curl
curl -X POST https://gogenx.ai/api/v2/businesses \
  -H "apikey: gxk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "businessName": "Blue Sky Bakery",
  "businessAddress": "123 Main St",
  "businessAddress2": "Suite 4",
  "businessCity": "Austin",
  "businessState": "TX",
  "businessZip": "78701",
  "businessPhone": "+1-512-555-0142",
  "businessEmail": "hello@blueskybakery.com",
  "businessWebsite": "https://blueskybakery.com",
  "businessHours": { "MONDAY": "0700-1800", "SUNDAY": "closed" },
  "locationPin": { "lat": 30.2672, "lng": -97.7431 },
  "categories": [
    { "name": "Bakery", "isPrimary": true },
    { "name": "Coffee Shop", "isPrimary": false }
  ]
}'

Response · 201 Created

JSON
{
  "success": true,
  "submission": {
    "id": "sub_9f3a1b2c4d5e6f78",
    "businessName": "Blue Sky Bakery",
    "status": "queued",
    "submittedAt": "2026-04-23T16:42:03.512Z"
  }
}
Get /businesses

List Businesses

Retrieve a paginated list of your businesses. Supports page (default 1) and limit (default 20, max 100) query parameters.

Example request

Curl
curl "https://gogenx.ai/api/v2/businesses?page=1&limit=20" \
  -H "apikey: gxk_your_api_key_here"

Response · 200 OK

JSON
{
  "businesses": [
    {
      "id": 12,
      "gogenx_uuid": "gx_b8d2c91f4a7e4f3d",
      "name": "Blue Sky Bakery",
      "city": "Austin",
      "state": "TX",
      "subscription_tier": "free"
    },
    {
      "id": 15,
      "gogenx_uuid": "gx_2a7c16e9b0d34ac8",
      "name": "Northside Auto Repair",
      "city": "Portland",
      "state": "OR",
      "subscription_tier": "enhanced"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2,
    "totalPages": 1
  }
}
Get /businesses/:id

Get Business

Fetch a single business by its gogenx_uuid.

Example request

Curl
curl https://gogenx.ai/api/v2/businesses/gx_b8d2c91f4a7e4f3d \
  -H "apikey: gxk_your_api_key_here"

Response · 200 OK

JSON
{
  "business": {
    "id": 12,
    "gogenx_uuid": "gx_b8d2c91f4a7e4f3d",
    "name": "Blue Sky Bakery",
    "address1": "123 Main St",
    "city": "Austin",
    "state": "TX",
    "zip": "78701",
    "phone": "+1-512-555-0142",
    "website_address": "https://blueskybakery.com",
    "primary_category": "Bakery",
    "subscription_tier": "free",
    "categories": [
      { "name": "Bakery", "isPrimary": true },
      { "name": "Coffee Shop", "isPrimary": false }
    ]
  }
}
Put /businesses/:id

Update Business

Update a business by its gogenx_uuid. The body accepts the same fields as Create Business. Provided fields overwrite existing values; omitted fields are unchanged.

Example request

Curl
curl -X PUT https://gogenx.ai/api/v2/businesses/gx_b8d2c91f4a7e4f3d \
  -H "apikey: gxk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "businessName": "Blue Sky Bakery & Cafe",
  "businessHours": { "MONDAY": "0700-1900", "SUNDAY": "0900-1500" }
}'

Response · 200 OK

JSON
{
  "success": true,
  "submission": {
    "id": "sub_4c7e2d81a9b6f035",
    "gogenxUuid": "gx_b8d2c91f4a7e4f3d",
    "businessName": "Blue Sky Bakery & Cafe",
    "status": "processed",
    "action": "updated",
    "submittedAt": "2026-04-23T17:05:22.884Z"
  }
}
Delete /businesses/:id

Deactivate Business

Deactivate a business by its gogenx_uuid. Deactivated listings stop appearing in public results, but their data is retained.

Example request

Curl
curl -X DELETE https://gogenx.ai/api/v2/businesses/gx_b8d2c91f4a7e4f3d \
  -H "apikey: gxk_your_api_key_here"

Response · 200 OK

JSON
{
  "success": true,
  "business": {
    "gogenxUuid": "gx_b8d2c91f4a7e4f3d",
    "status": "deactivated",
    "deactivatedAt": "2026-04-23T17:12:09.441Z"
  }
}

Reference

Schema Reference

The business object uses the following fields. Nested objects are shown where relevant.

Field Type Description
businessName ReqstringLegal or display name.
businessAddress ReqstringStreet line 1.
businessAddress2stringStreet line 2.
businessCity ReqstringCity.
businessState ReqstringTwo-letter state code.
businessZip ReqstringPostal code.
businessPhone ReqstringE.164 format preferred.
businessEmailstringPublic contact email.
businessWebsitestringFull URL including scheme.
businessHoursobject{ DAY: "HHMM-HHMM" | "closed" } keyed by uppercase day.
locationPinobject{ lat: number, lng: number }
doorPinobject{ lat, lng } — entrance coordinates.
categoriesarray[{ name, isPrimary }] — exactly one entry isPrimary: true.
mediaarray[{ r2Key, type: "image" | "video", description }]
promptsarray[{ input, expectedOutput }] — LLM test prompts.
blogsarray[{ title, author, body }]

Reference

Error Codes

Error responses share a consistent envelope with a machine-readable code and a human-readable message.

JSON
{
  "error": {
    "code": "MISSING_FIELDS",
    "message": "Business name, address, city, state, zip, and phone are required"
  }
}
Code Description
400Bad Request
401Unauthorized
403Forbidden
404Not Found
429Rate Limited
500Internal Server Error

Get started

Ready to get discovered?

Start getting recommended by AI platforms today.
No setup fees, no contracts.

  • Free tier available
  • 5-minute setup