Skip to content
Browse documentation

API reference

Services

Read a business's published service catalogue — pricing type, deliverables, media and calls to action — and record view or enquiry events against a service.

Feature requirement: the project must have the services feature enabled, or these endpoints return 404.

  • Only services with a published status are returned.
GET/api/v1/storefront/projects/{project_slug}/services

List Public Services

Parameters
NameTypeInDescription
project_slugstringpathRequired.
featuredboolean (nullable)queryOptional.
categorystring (nullable)queryOptional.
searchstring (nullable)queryOptional.
pageintegerqueryOptional. Page number (1-based)
page_sizeintegerqueryOptional. Number of items per page
Response 200 (list) · PublicServiceSummary[]
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
excerptstring (nullable)optional—
categorystring (nullable)optional—
pricing_typeServicePricingTyperequired—
price_minorinteger (nullable)optional—
currencystring (nullable)optional—
duration_textstring (nullable)optional—
cta_typeServiceCtaTyperequired—
cta_labelstring (nullable)optional—
cta_urlstring (nullable)optional—
is_featuredbooleanrequired—
featured_mediaServiceMediaRead (nullable)optional—
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/services" \
  -H "X-Project-Key: wt_pk_your_key"
GET/api/v1/storefront/projects/{project_slug}/services/{slug}

Get Public Service

Parameters
NameTypeInDescription
project_slugstringpathRequired.
slugstringpathRequired.
Response 200 · PublicServiceDetail
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
excerptstring (nullable)optional—
categorystring (nullable)optional—
pricing_typeServicePricingTyperequired—
price_minorinteger (nullable)optional—
currencystring (nullable)optional—
duration_textstring (nullable)optional—
cta_typeServiceCtaTyperequired—
cta_labelstring (nullable)optional—
cta_urlstring (nullable)optional—
is_featuredbooleanrequired—
featured_mediaServiceMediaRead (nullable)optional—
description_htmlstringrequired—
seoSeoReadrequiredNested SEO metadata for API read responses.
deliverablesServiceDeliverableRead[]optional—
galleryServiceMediaRead[]optional—
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/services/{slug}" \
  -H "X-Project-Key: wt_pk_your_key"
POST/api/v1/storefront/projects/{project_slug}/services/{slug}/events

Record Service Event

Parameters
NameTypeInDescription
project_slugstringpathRequired.
slugstringpathRequired.
Request body · ServiceEventCreate
FieldTypeDescription
event_typestringrequired—
metadataobjectoptional—
Example request
curl -X POST "https://api.webtools.ng/api/v1/storefront/projects/your-project/services/{slug}/events" \
  -H "X-Project-Key: wt_pk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "event_type": "…" }'

← All resource groups