Documentation

API Documentation

RESTful API documentation for developers

Quick Info
Base URL
https://api.lots.business
Authentication

API Key (Bearer token or X-API-Key header)

Total Endpoints

125

Getting Started

Authentication

All API requests require authentication using an API key. You can create an API key from your dashboard.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lots.business/api/v1/lotsbusiness/handovers/:token/accept

agency

POST
/api/v1/lotsbusiness/handovers/:token/accept

Accept Business Handover

accept_business_handover

For the client: accept a hand-over into one of your workspaces (personal by default). Your workspace's plan or credits pay for the business from now on.

DELETE
/api/v1/lotsbusiness/businesses/:business_id/handovers/:handover_id

Cancel Business Handover

cancel_business_handover

Cancel a pending hand-over.

POST
/api/v1/lotsbusiness/businesses/:business_id/approval-links

Create Approval Link

create_approval_link

Create a link the client can open without an account to review the draft website (scope site), the business details (profile) or both (all), and approve or ask for changes. Valid 14 days by default. Nothing is published by the client's answer.

GET
/api/v1/lotsbusiness/handovers/:token

Get Business Handover

get_business_handover

For the client: what is being handed over and the workspaces they can receive it into.

GET
/api/v1/lotsbusiness/businesses/:business_id/approval-links

List Approval Links

list_approval_links

Approval links for a business with each client's decision and comment.

GET
/api/v1/lotsbusiness/businesses/:business_id/handovers

List Business Handovers

list_business_handovers

Hand-overs of a business and their status.

DELETE
/api/v1/lotsbusiness/businesses/:business_id/approval-links/:link_id

Revoke Approval Link

revoke_approval_link

Withdraw an approval link.

POST
/api/v1/lotsbusiness/businesses/:business_id/handovers

Start Business Handover

start_business_handover

Start handing a business (record, website, domains) over to the client's own LotsBusiness account. Returns a link for the client. The client signs in with that email, picks a workspace that pays for the business, and accepts. keep_agency_access (default true) keeps your agency as manager if the client agrees.

workspaces

POST
/api/v1/lotsbusiness/workspace-invitations/accept

Accept Workspace Invitation

accept_workspace_invitation

Accept a workspace invitation with the token from its link. You must be signed in with the invited email.

POST
/api/v1/lotsbusiness/workspaces/:workspace_id/archive

Archive Workspace

archive_workspace

Archive an agency workspace you own once it holds no active businesses (move or archive them first). Nobody can open it until it is restored. Nothing is deleted; the owner can restore it for 30 days with restore_workspace. confirm_name must be the workspace name. Confirm with the person first.

DELETE
/api/v1/lotsbusiness/workspaces/:workspace_id/invitations/:invitation_id

Cancel Workspace Invitation

cancel_workspace_invitation

Cancel a pending workspace invitation.

POST
/api/v1/lotsbusiness/workspaces

Create Workspace

create_workspace

Create an agency workspace that holds client businesses and your team. You become its owner and pay for its businesses.

GET
/api/v1/lotsbusiness/workspaces/:workspace_id

Get Workspace

get_workspace

Get one workspace: members and roles, pending invitations (admins), and its businesses with whether each is paid.

POST
/api/v1/lotsbusiness/workspaces/:workspace_id/invitations

Invite Workspace Member

invite_workspace_member

Invite a teammate to a workspace as admin (manages team and billing), manager (edits every business) or viewer (reads). Returns an accept link valid for 7 days. To give a client access to one business only, use invite_business_member instead.

POST
/api/v1/lotsbusiness/workspaces/:workspace_id/leave

Leave Workspace

leave_workspace

Leave a workspace you are a member of. Owners cannot leave their own workspace.

GET
/api/v1/lotsbusiness/workspaces

List Workspaces

list_workspaces

List the LotsBusiness workspaces you belong to, with your role, how many businesses each holds and how many are paid. Every account has a personal workspace; agencies create more for their team.

POST
/api/v1/lotsbusiness/businesses/:business_id/move

Move Business To Workspace

move_business_to_workspace

Move a business between two workspaces you administer that have the same owner. To give a business to a client, use start_business_handover.

POST
/api/v1/lotsbusiness/workspaces/:workspace_id/restore

Restore Workspace

restore_workspace

Restore an archived workspace within 30 days of archiving it. Owner only. list_workspaces with archived: true lists archived workspaces and how long each can be restored.

PATCH
/api/v1/lotsbusiness/workspaces/:workspace_id

Update Workspace

update_workspace

Rename a workspace. Owners and admins only.

PATCH
/api/v1/lotsbusiness/workspaces/:workspace_id/members/:member_user_id

Update Workspace Member

update_workspace_member

Change a workspace member's role or remove them. The owner cannot be changed. Owners and admins only.

billing

POST
/api/v1/lotsbusiness/businesses/:business_id/activate

Activate Business

activate_business

Make a business a paid unit, which unlocks its website, custom domain, Google Business Profile creation and posts, the directory list and business email. Uses a free place on the workspace owner's plan, or credits. Owners and admins only.

POST
/api/v1/lotsbusiness/billing/checkout

Create Checkout

create_checkout

Get a checkout link for a LotsBusiness plan (plan starter|pro|business, cycle annual|monthly; annual by default) or a LotsTech Credits top-up (amount_usd 10 to 1000). Only the workspace owner pays. Give the link to the person; never pay for them.

POST
/api/v1/lotsbusiness/businesses/:business_id/deactivate

Deactivate Business

deactivate_business

Stop paying for a business. Its free directory listing stays; its website goes offline and paid features stop. Ask the owner before calling this.

GET
/api/v1/lotsbusiness/billing

Get Billing

get_billing

The workspace owner's LotsBusiness plan or credits, today's funding state, how many businesses are paid, and the plans (Starter 1, Pro 5, Business 25 businesses; yearly is the better price). Defaults to your personal workspace.

businesses

POST
/api/v1/lotsbusiness/businesses/:id/media

Add Business Photo

add_business_media

Attach a photo or video URL to a business you own. Upload the file first; only the resulting URL is stored.

POST
/api/v1/lotsbusiness/businesses/:business_id/archive

Archive Business

archive_business

Archive a business you own instead of deleting it. It stops being paid (its website goes offline), leaves the directory and nobody can open it. Nothing is deleted, and the owner can restore it for 30 days with restore_business. Owner only. Confirm with the person first; confirm_name must be the business name.

POST
/api/v1/lotsbusiness/businesses/autofill

Autofill A Business From Its Website

autofill_business_from_url

Read a business's own website and return the facts it states (name, description, phone, email, address, hours from schema.org), each with its source. Saves nothing: create_business or update_business with the values the owner confirms.

POST
/api/v1/lotsbusiness/businesses

Create Business

create_business

List a business you own. Set business_type to physical, service_area or online; an online business stores no street address at all. Pass city_slug to attach it to a known city. A new listing is reviewed before it is public, and goes live as soon as the business is made paid.

GET
/api/v1/lotsbusiness/businesses/:id/analytics

Get Business Analytics

get_business_analytics

Daily views, clicks, calls and direction requests for a business you own.

GET
/api/v1/lotsbusiness/businesses/:id

Get My Business

get_my_business

Get the full record of a business you own, including categories, service areas and media.

GET
/api/v1/lotsbusiness/me/businesses

List My Businesses

list_my_businesses

List every business you own, with status, claim state, completeness score and whether it is indexable.

POST
/api/v1/lotsbusiness/businesses/:id/updates

Post Business Update

add_business_update

Post a short update or announcement on a business you own.

POST
/api/v1/lotsbusiness/businesses/:business_id/restore

Restore Business

restore_business

Restore an archived business within 30 days of archiving it. Owner only. It comes back as a free listing with its earlier directory status; make it paid again (activate_business) for its website and paid tools. list_my_businesses with archived: true lists archived businesses and how long each can be restored.

PUT
/api/v1/lotsbusiness/businesses/:id/faqs

Set Business FAQs

set_business_faqs

Replace the FAQ list on a business you own. Pass the complete list: it overwrites what is there.

PATCH
/api/v1/lotsbusiness/businesses/:id

Update Business

update_business

Update the business record: name, type, contact details, address (physical only), city, categories, descriptions, logo and cover. Prefer set_business_hours for hours, special hours and timezone, set_business_links for social profiles and the booking link, and set_business_services for services.

contact

POST
/api/v1/lotsbusiness/businesses/:business_id/contact-recipients

Add Contact Recipient

add_contact_recipient

Send website messages to another address (up to 3). The address must confirm by a link first. Without any, messages go to the business email, or the workspace owner.

PUT
/api/v1/lotsbusiness/businesses/:business_id/crm-link

Link CRM Workspace

link_crm_workspace

Send this business's website messages into a LotsCRM workspace as well as by email: each sender becomes a lead contact (or is matched by email or phone) with the message on their timeline. Give workspace_id to link (you need write access to that LotsCRM workspace; messages are written as you), or unlink: true to stop.

GET
/api/v1/lotsbusiness/businesses/:business_id/contact-messages

List Contact Messages

list_contact_messages

Messages sent through the website's contact form, newest first (spam hidden unless status=spam).

DELETE
/api/v1/lotsbusiness/businesses/:business_id/contact-recipients

Remove Contact Recipient

remove_contact_recipient

Stop sending website messages to an address.

PATCH
/api/v1/lotsbusiness/businesses/:business_id/contact-messages/:message_id

Update Contact Message

update_contact_message

Mark a contact message read, archived, spam or new.

engagement

PATCH
/api/v1/lotsbusiness/questions/:id

Answer A Question

answer_business_question

Answer a question asked on a business you own. The answer becomes public.

POST
/api/v1/lotsbusiness/businesses/:id/questions

Ask A Business A Question

ask_business_question

Ask a public question on a business profile. The owner is notified and can answer.

POST
/api/v1/lotsbusiness/businesses/:id/upvote

Recommend Business

toggle_business_upvote

Toggle your recommendation on a business. Calling it again removes the recommendation.

business_team

DELETE
/api/v1/lotsbusiness/invitations/:invitation_id

Cancel Business Team Invitation

cancel_business_invitation

Cancel a pending invitation. This does not remove an accepted member.

POST
/api/v1/lotsbusiness/businesses/:business_id/team/invitations

Invite Business Team Member

invite_business_member

Invite a person to assist with a business as admin, manager, or viewer. Never assign ownership through this tool.

GET
/api/v1/lotsbusiness/businesses/:business_id/team

List Business Team

list_business_team

List the owner, team members, roles, and pending invitations for a business the caller can access.

POST
/api/v1/lotsbusiness/orders/:order_id/checkout

Pay For Business Service

start_business_order_checkout

Get a payment link for an order of the retired one-time services that was agreed but not paid yet. Do not use for new purchases: plans and credits are bought with create_checkout, and a business is made paid with activate_business.

PATCH
/api/v1/lotsbusiness/businesses/:business_id/team/:member_user_id

Update Business Team Member

update_business_member

Change a non-owner team member role or remove the member. Business ownership is handled only through the ownership/claim flow.

websites

POST
/api/v1/lotsbusiness/sites/:site_id/check

Check Site

check_site

Run the quality and safety check on a version (latest by default). Errors block publishing; warnings are advice.

POST
/api/v1/lotsbusiness/sites/:site_id/domains

Connect Site Domain

connect_site_domain

Connect a domain the owner already owns (e.g. www.example.com). Returns the one DNS record they add. Then poll get_site_domain_status. Owners and admins; paid businesses only.

POST
/api/v1/lotsbusiness/businesses/:business_id/site

Create Site

create_site

Create the business's website on its LotsBusiness address (<name>.lotssite.com). Optionally start from a kit (from_kit) with a theme; otherwise write every file yourself with create_site_version. Requires a paid business. Idempotent: returns the existing site.

POST
/api/v1/lotsbusiness/sites/:site_id/versions

Create Site Version

create_site_version

Save a new draft version of the site and get its check result and a private preview_url. files: [{path, content}] for text files, [{path, blob}] for images from upload_site_image. With base_version, unchanged files carry over and you send only what changed (delete_paths removes files). Nothing goes live until publish_site.

POST
/api/v1/lotsbusiness/sites/:site_id/texts

Edit Site Texts

edit_site_texts

Change editable texts by key (from get_site_editables). Creates a new draft version with a preview; publish it to go live.

POST
/api/v1/lotsbusiness/sites/:site_id/export

Export Site

export_site

Download a version (live by default) as a zip. Returns a link valid for one hour.

GET
/api/v1/lotsbusiness/businesses/:business_id/site

Get Site

get_site

The business's website: address, live and latest version, recent versions with check results, connected domains, kit and theme.

GET
/api/v1/lotsbusiness/sites/:site_id/analytics

Get Site Analytics

get_site_analytics

Page views by day, top pages and top referrers (cookieless) for up to 90 days.

GET
/api/v1/lotsbusiness/sites/:site_id/domains

Get Site Domain Status

get_site_domain_status

Status of the site's domains and their certificates, with the DNS record each needs. The first domain to go active becomes the primary address.

GET
/api/v1/lotsbusiness/sites/:site_id/editables

Get Site Editables

get_site_editables

The editable text regions (data-lb-edit) of a version, for changing texts without code.

GET
/api/v1/lotsbusiness/sites/:site_id/file

Get Site File

get_site_file

Read one file of a version (latest by default).

GET
/api/v1/lotsbusiness/sites/:site_id/files

Get Site Files

get_site_files

List the files and pages of a version (latest by default). Read before editing.

GET
/api/v1/lotsbusiness/sites/guide

Get Site Guide

get_site_guide

Read this before writing a website: the build loop, live-fact markers (data-lb), editable regions, what blocks publishing, the quality bar and what each kind of business needs. Also lists the starter kits and limits.

GET
/api/v1/lotsbusiness/sites/:site_id/versions

List Site Versions

list_site_versions

Version history with source, message, check summary and which one is live.

GET
/api/v1/lotsbusiness/sites/kits

List Starter Kits

list_starter_kits

Industry starter kits (salon, clinic, restaurant, trades, professional, agency) with their default theme and pages.

POST
/api/v1/lotsbusiness/sites/:site_id/preview

Preview Site

preview_site

Get a fresh private preview link for a version (latest by default), valid for 7 days and never indexed. Share it with the owner before publishing.

POST
/api/v1/lotsbusiness/sites/:site_id/publish

Publish Site

publish_site

Make a version live (latest by default) on the site's address and connected domains, within a minute. Refused if the version has check errors. Ask the owner first.

DELETE
/api/v1/lotsbusiness/sites/:site_id/domains/:hostname

Remove Site Domain

remove_site_domain

Disconnect a domain from the site.

POST
/api/v1/lotsbusiness/sites/:site_id/rollback

Rollback Site

rollback_site

Make an earlier version live again.

POST
/api/v1/lotsbusiness/sites/:site_id/domains/primary

Set Primary Site Domain

set_primary_site_domain

Choose which active domain is the main address (the others redirect to it). hostname null returns to the LotsBusiness address.

GET
/api/v1/lotsbusiness/businesses/:business_id/site/kit-suggestion

Suggest Site Kit

suggest_site_kit

The starter kit that best fits the business's categories and type.

POST
/api/v1/lotsbusiness/sites/:site_id/unpublish

Unpublish Site

unpublish_site

Take the website offline without deleting anything. Owners and admins only; ask first.

PATCH
/api/v1/lotsbusiness/sites/:site_id

Update Site Settings

update_site_settings

Change the site's settings without touching files: whatsapp_button, call_bar, verification (google, bing, yandex, pinterest, facebook codes), verification_file, analytics (ga4, gtm, meta_pixel, clarity), consent_banner, default_description, share_image, favicon, redirects, announcement, open_badge, map, badge. Also indexable and subdomain. Applies to the live site within a minute.

POST
/api/v1/lotsbusiness/sites/:site_id/theme

Update Site Theme

update_site_theme

For kit sites: change colours, font, sections and pages, or switch kit. Creates a new draft version.

POST
/api/v1/lotsbusiness/sites/:site_id/images

Upload Site Image

upload_site_image

Upload an image for the site from an https image_url or image_base64 (PNG, JPEG, WebP, GIF, AVIF, SVG; up to 5 MB, under 300 KB is best). Returns a blob to include in create_site_version.

claims

POST
/api/v1/lotsbusiness/claims

Claim A Business

claim_business

Claim a business listing that has no owner yet. Verification is by matching email domain, a token on the business website, or manual review. The strongest method your evidence supports is chosen automatically.

GET
/api/v1/lotsbusiness/me/claims

List My Claims

list_my_business_claims

List the claims you have submitted and their current state.

POST
/api/v1/lotsbusiness/claims/:id/verify

Verify A Claim

verify_business_claim

Check whether the verification token is now present on the business website and complete the claim if it is.

google_business

POST
/api/v1/lotsbusiness/google-business/profiles/:business_id/complete-verification

Complete Google Business Verification

complete_google_business_verification

Submit a verification PIN the owner received for a pending Google verification. Never guess a PIN.

POST
/api/v1/lotsbusiness/google-business/oauth/start

Connect Google Business Profile

start_google_business_oauth

Create a short-lived Google consent URL. Call this when Google is not connected; return the URL to the owner and stop retrying until they finish consent.

POST
/api/v1/lotsbusiness/businesses/:business_id/google/posts

Create Google Business Post

create_google_business_post

Post an update to the business's Google Business Profile: STANDARD (news, with an image or a button), EVENT (title and dates) or OFFER (title, dates, coupon, terms). One public https image. Buttons: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP (with url) or CALL. Ask the owner to approve the text first. Google reviews posts; a rejected post is reported as an error.

POST
/api/v1/lotsbusiness/google-business/profiles

Create Google Business Profile

create_google_business_profile

Create exactly the previously previewed Google profile. Requires the single-use confirmation token returned by preview after the owner explicitly approves that exact data. It is idempotent and must not be retried with a new preview after an uncertain result.

DELETE
/api/v1/lotsbusiness/businesses/:business_id/google/posts

Delete Google Business Post

delete_google_business_post

Delete a post from the business's Google Business Profile. name is the post's resource name from list_google_business_posts. Ask the owner first.

GET
/api/v1/lotsbusiness/google-business/connection

Get Google Business Connection

get_google_business_connection_status

Check whether Google is connected and list only the Google accounts and existing locations available to the signed-in owner. Use this before preparing a new profile and inspect likely duplicates.

GET
/api/v1/lotsbusiness/google-business/profiles/:business_id

Get Google Business Profile Status

get_google_business_profile_status

Read the persisted creation state and Google Voice of Merchant status for an owner's business.

POST
/api/v1/lotsbusiness/google-business/profiles/:business_id/verification-options

Get Google Verification Options

get_google_business_verification_options

Ask Google which verification methods are currently eligible. For a service-area business, pass its private verification address only when the owner explicitly supplies it; it is used for Google verification and is never copied to the public LotsBusiness listing.

POST
/api/v1/lotsbusiness/businesses/:business_id/google/link

Link Google Business Location

link_google_business_location

Link a Google Business Profile that already exists (managed by the connected Google account) to this business, instead of creating a new one. location_name comes from get_google_business_connection_status.

GET
/api/v1/lotsbusiness/businesses/:business_id/google/posts

List Google Business Posts

list_google_business_posts

The latest posts on the business's Google Business Profile, with Google's state (LIVE, PROCESSING, REJECTED).

POST
/api/v1/lotsbusiness/google-business/preview

Preview Google Business Profile

prepare_google_business_profile

Build an immutable, evidence-labelled preview without writing to Google. Only owner listing facts and explicit owner confirmations are accepted. Online-only businesses are rejected. Show the exact preview before asking for confirmation. Listing lat/lng of 0 is not a map pin. If Google cannot geocode a physical address, the preview returns pin_drop_required; parse an owner Maps URL or confirmed pin into latitude and longitude and retry with duplicate_acknowledged=true. If public duplicate search is unavailable, check Google Maps and retry with duplicate_acknowledged=true. Create only with the returned preview_id and confirmation_token within 30 minutes.

GET
/api/v1/lotsbusiness/google-business/categories

Search Google Business Categories

search_google_business_categories

Search Google's live category catalog. Never invent a category ID; show the returned exact categories and ask the owner when more than one is plausible.

POST
/api/v1/lotsbusiness/google-business/profiles/:business_id/verify

Start Google Business Verification

start_google_business_verification

Start one of the verification methods returned by Google. Do not choose a delivery destination or method that Google did not return.

business_record

DELETE
/api/v1/lotsbusiness/businesses/:business_id/media/:media_id

Delete Business Media

delete_business_media

Remove one photo or video from the business.

GET
/api/v1/lotsbusiness/businesses/:business_id/completeness

Get Business Completeness

get_business_completeness

What the record still needs for a good website, a Google Business Profile and directory listings. Ask the owner only for what is listed as missing; never invent it.

GET
/api/v1/lotsbusiness/businesses/:business_id/media

List Business Media

list_business_media

List the business's photos, logo, cover and videos in display order.

GET
/api/v1/lotsbusiness/businesses/:business_id/services

List Business Services

list_business_services

List the business's services in display order.

PUT
/api/v1/lotsbusiness/businesses/:business_id/media/order

Reorder Business Media

reorder_business_media

Set the display order of the business's media by listing their ids in order.

PUT
/api/v1/lotsbusiness/businesses/:business_id/hours

Set Business Hours

set_business_hours

Set weekly opening hours, special hours (holidays, closures, one-off times) and the timezone. The website, schema and llms.txt update within a minute, with no new site version. hours: {"mon":[{"open":"09:00","close":"17:30"}], ...}; a missing day is closed. special_hours: [{"date_from":"2026-12-25","date_to":"2026-12-25","closed":true}].

PUT
/api/v1/lotsbusiness/businesses/:business_id/links

Set Business Links

set_business_links

Set social profile links (facebook, instagram, x, linkedin, youtube, tiktok, pinterest, threads, bluesky, whatsapp, yelp, tripadvisor, google), the booking link and the website URL. Empty values clear a link.

PUT
/api/v1/lotsbusiness/businesses/:business_id/services

Set Business Services

set_business_services

Replace the business's list of services, in display order, with optional prices (price, optional price_max for a range, currency, price_note like 'from') and durations. Only real services and prices the owner confirmed.

discovery

GET
/api/v1/lotsbusiness/public/category/:category/in/:city

Find Businesses In A City

find_businesses_in_city

Find businesses of a given category in a given city, for example plumbers in chennai. Matches businesses based in the city and those that declare it as a service area.

GET
/api/v1/lotsbusiness/public/businesses/:slug

Get Business

get_business

Get the full public profile of one business by slug: contact details, location, hours, categories, media, service areas and rating summary.

GET
/api/v1/lotsbusiness/public/categories/:slug

Get Business Category

get_business_category

Get one category by slug, including its child categories.

GET
/api/v1/lotsbusiness/public/collections/:slug

Get Collection

get_business_collection

Get one collection by slug with the businesses in it.

GET
/api/v1/lotsbusiness/public/locations/:slug

Get Location

get_location

Get one location by slug, with its parent and children. US city slugs carry a state suffix (austin-tx); Indian city slugs do not (chennai).

GET
/api/v1/lotsbusiness/public/categories

List Business Categories

list_business_categories

List every business category, with parent/child structure and how many businesses each holds.

GET
/api/v1/lotsbusiness/public/businesses

List Businesses

list_businesses

Browse published businesses in the Lots Business directory. Filter by category, city, country, business type or price range. Business types are physical (customers visit an address), service_area (travels to the customer) and online (no customer-facing premises).

GET
/api/v1/lotsbusiness/public/collections

List Collections

list_business_collections

List curated collections and city guides.

GET
/api/v1/lotsbusiness/public/locations

List Locations

list_locations

List countries, states or cities in the directory. Filter by type and country code (IN, US).

GET
/api/v1/lotsbusiness/public/search

Search Businesses

search_businesses

Search businesses, categories and cities by keyword. Use for autocomplete or when the exact slug is unknown.

email

GET
/api/v1/lotsbusiness/businesses/:business_id/email

Get Business Email Status

get_business_email_status

Business email setup status: domain, ownership, funding, receiving and sending setup, and the records still needed.

POST
/api/v1/lotsbusiness/businesses/:business_id/email

Set Up Business Email

setup_business_email

Set up business email (LotsMail) on the business's own domain, included with a paid business. Needs the website's own domain connected first. Returns the TXT record that proves ownership; mailboxes are then created in LotsMail.

POST
/api/v1/lotsbusiness/businesses/:business_id/email/verify

Verify Business Email

verify_business_email

Check the ownership TXT record for the business's email domain after the owner adds it.

directories

GET
/api/v1/lotsbusiness/businesses/:business_id/listing-pack

Get Listing Pack

get_listing_pack

Everything a directory asks for, worded the same way every time (name, phone, address or service area, website, categories, descriptions of 80/160/750 characters, hours, services, photos), built only from the record, plus what is missing.

GET
/api/v1/lotsbusiness/businesses/:business_id/directories

List Business Directories

list_business_directories

The audited local directories that fit this business (its country and trade), with how to submit to each and this business's progress. The owner or agency submits; give them the listing pack.

GET
/api/v1/lotsbusiness/businesses/:business_id/directory-submissions

List Directory Submissions

list_directory_submissions

This business's directory progress, newest first.

PUT
/api/v1/lotsbusiness/businesses/:business_id/directories/:directory_id

Record Directory Submission

record_directory_submission

Track progress on one directory: not_started, in_progress, needs_action, submitted, live (with listing_url), rejected or skipped, with notes.

account

GET
/api/v1/lotsbusiness/me/profile

Get My Profile

get_business_profile

Your personal LotsBusiness member profile (display name, bio, avatar), not a business. For a business use get_my_business.

GET
/api/v1/lotsbusiness/me/notifications

List Notifications

list_business_notifications

List your LotsBusiness notifications: claim outcomes, questions and order updates.

PATCH
/api/v1/lotsbusiness/me/profile

Update My Profile

update_business_profile

Update your personal LotsBusiness member profile (display name, bio, avatar). Not the business record: use update_business for that.

reviews

GET
/api/v1/lotsbusiness/public/businesses/:slug/reviews

List Business Reviews

list_business_reviews

List published reviews for a business, with the owner reply where one exists. Only reviews that passed moderation are returned.

GET
/api/v1/lotsbusiness/me/reviews

List My Reviews

list_my_business_reviews

Reviews you have written about other businesses. For the reviews of a business you own, use list_business_reviews with its slug.

POST
/api/v1/lotsbusiness/reviews/:id/reply

Reply To A Review

reply_to_business_review

Reply publicly to a review left on a business you own. One reply per review; calling again updates it.

POST
/api/v1/lotsbusiness/reviews

Write A Review

submit_business_review

Write a 1-5 star review of a business. One review per person per business. Every review is checked before it appears publicly, and you cannot review a business you own.

services

GET
/api/v1/lotsbusiness/public/directory-sites

List Directory Submission Targets

list_directory_sites

The public catalogue of business directories LotsBusiness knows about. For the directories that fit one business, with how to submit and its progress, use list_business_directories. LotsBusiness does not submit listings on anyone's behalf.

GET
/api/v1/lotsbusiness/me/orders

List My Orders

list_my_business_orders

Orders for the retired one-time services (placed before 2026-10-18), with their status. New work is done with a paid business: see activate_business.

GET
/api/v1/lotsbusiness/orders/:id

Track My Order

get_my_business_order

One order for the retired one-time services (placed before 2026-10-18). New work is done with a paid business: see activate_business.

admin

POST
/api/v1/lotsbusiness/admin/seed

Seed An Unclaimed Listing (staff)

seed_business_from_url

Staff only. Create an unclaimed listing from a business's own website.