HGV Traders Docs

Public read API

Unauthenticated read endpoints for jobs, events, and articles.

Overview

Three resource types are available without authentication:

ResourceListDetail
JobsGET /api/v1/jobsGET /api/v1/jobs/{id}
EventsGET /api/v1/eventsGET /api/v1/events/{id}
Posts (articles)GET /api/v1/postsGET /api/v1/posts/{id}

These endpoints return published content only. Draft, archived, or moderated records are excluded.

Example request

No Authorization header is required:

GET /api/v1/jobs?limit=5&q=HGV+driver HTTP/1.1
Host: hgvtraders.com
{
  "data": {
    "jobs": [
      {
        "id": "cljob123abc",
        "slug": "hgv-class-1-driver-manchester",
        "title": "HGV Class 1 Driver",
        "department": "Transport",
        "contractType": "Full-time",
        "remote": false,
        "locationCity": "Manchester",
        "salaryFrom": 30000,
        "salaryTo": 45000,
        "salaryType": "ANNUAL",
        "companyName": "Acme Haulage",
        "organisationName": "Acme Trucks Ltd",
        "publishedAt": "2024-06-01T08:00:00.000Z",
        "createdAt": "2024-05-28T10:00:00.000Z"
      }
    ],
    "total": 128,
    "page": 1,
    "pages": 26
  }
}

See Pagination for page and limit parameters.

Field allow-list

Responses expose only intentionally public fields. Internal columns — moderation notes, draft metadata, organiser contact details, and similar — are never included.

Each resource type has a fixed allow-list maintained in the codebase. If a new database column is added, it is not automatically exposed; it must be explicitly opted in.

Field reference

Jobs (public list/detail)

id, title, slug, department, contractType, salary fields, location fields, remote, companyName, closingDate, publishedAt, category, organisation.name — full list in the API Reference.

Events

id, slug, name, description, schedule and location fields, organiserName, admission/pricing fields, category — no private organiser contact details.

Posts

id, title, slug, summary, body, image URLs, publishedAt, category.

Sensitive columns (moderation state, internal notes, draft metadata) are never exposed on public read routes.

Search and filters

All list endpoints support free-text search via q (maximum 200 characters).

Jobs additionally support filters such as category, department, contractType, remote, city, manufacturer, experienceLevel, recruiterType, minSalary, and maxSalary.

Events and posts support q for search. Refer to the API Reference for the full query schema per endpoint.

There is no sort or order parameter on the public v1 contract.

Rate limits

Public read routes are limited to 60 requests per minute per client IP. See Rate limits.

Error responses

StatusMeaning
400Invalid query parameters or search syntax
404Resource not found or not published
429Rate limit exceeded
503Search backend temporarily unavailable

See Errors for details.

What is not available

There is no public read API for stock listings on the marketplace. Dealer stock is managed via the Stock API (bearer auth). For dealer-owned events (enquiries, stock changes, job applications), use Webhooks.