Zoca Services API

The Services API from Zoca — 51 operation(s) for services.

Operations 64

GET /services/colors Get predefined service colors #
GET /services/{entityId} Get services by entity ID #
GET /services/service/{id} Get service by ID #
PUT /services/service/{id} Update service #
DELETE /services/service/{id} Delete service #
POST /services/{entityId}/service Create a new service #
PUT /services/{entityId}/services/{serviceId}/unarchive Unarchive a service #
PUT /services/{entityId}/categories/unarchive Unarchive all categories and services #
PUT /services/{entityId}/categories/unarchive/{categoryId} Unarchive a single category and its services #
GET /services/{entityId}/uncategorized Get services without category #
POST /services/{entityId}/categories/backfill Backfill categories-entities relationships #
GET /services/{entityId}/duration-audit Audit service variation durations for a location #
POST /services/{entityId}/variations/backfill Backfill default variations for services without variations #
POST /services/{entityId}/online-booking/backfill Enable online booking for all services #
POST /services/{entityId}/category Create a new category for an entity #
POST /services/category Create a new category (deprecated) #
GET /services/category/{id} Get a category by ID #
PUT /services/category/{id} Update a category #
DELETE /services/category/{id} Delete a category #
GET /services/{entityId}/categories Get all categories for an entity #
GET /services/{entityId}/categories/services/archived Get archived services grouped by category #
POST /services/service/{serviceId}/category/{categoryId} Assign a service to a category #
DELETE /services/service/{serviceId}/category/{categoryId} Remove a service from a category #
PUT /services/reorder Reorder services #
PUT /services/reorder-categories-services Reorder categories and their services #
GET /services/{serviceId}/images Get all images for a service #
POST /services/{serviceId}/images Add a new image to a service #
DELETE /services/{serviceId}/images/{imageId} Delete an image from a service #
POST /services/{serviceId}/images/{imageId}/primary Set an image as primary for a service #
GET /services/variation/{id} Get service variation by ID #
PUT /services/variation/{id} Update a variation #
DELETE /services/variation/{id} Delete a variation #
GET /services/service/{serviceId}/variations Get variations for a service #
POST /services/service/{serviceId}/variation Create a new variation #
POST /services/{entityId}/batch Create multiple services #
DELETE /services/batch Delete multiple services #
POST /services/categories/batch Create multiple categories #
DELETE /services/categories/batch Delete multiple categories #
GET /services/default-categories Get default service categories #
POST /services/{entityId}/default-categories Add default service categories #
POST /services/{entityId}/categories-with-services Create categories with services #
POST /services/category/{categoryId}/services/batch Assign multiple services to category #
DELETE /services/category/{categoryId}/services/batch Remove multiple services from category #
POST /services/batch/status Update status of multiple services #
POST /services/categories/merge Merge multiple categories #
POST /services/{entityId}/batch/duplicate Duplicate multiple services #
PUT /services/variations/batch Batch update variations #
DELETE /services/variations/batch Batch delete variations #
GET /services/{entityId}/ai-description Generate AI description for a service #
GET /services/{entityId}/categories/suggested Get suggested categories #
GET /services/{entityId}/{categoryId}/suggested Get suggested services for an entity and category #
GET /services/{entityId}/categories/suggested-services Get suggested services for all categories #
GET /services/{entityId}/categories/check-duplicate Check for duplicate category name #
GET /services/{entityId}/export/csv Export services to CSV #
POST /services/sync-to-production/{linkId} Sync scraped services to production tables #
GET /services/{serviceId}/staff Get staff members assigned to a service at a location #
GET /services/staff/location/{locationEntityId}/members List assignable staff members at a location #
GET /services/staff/{locationMemberId}/services Get services assigned to a location member (staff) #
DELETE /services/staff/{locationMemberId}/services Unlink all service assignments for a staff member #
POST /services/staff/assign Assign a single service to a staff member #
POST /services/staff/assign/bulk Assign multiple services to a staff member #
PUT /services/staff/sync/{locationMemberId} Replace all service assignments for a staff member with the given list… #
PUT /services/staff/assignment/{id} Update a staff-service assignment (overrides, etc.) #
DELETE /services/staff/assignment/{id} Unlink a single staff-service assignment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoca-services-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoca-services-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoca Platform Services API
  description: 'The Zoca platform API behind the Zoca web app and mobile apps: scheduling, website generation, Google Business Profile, discovery/local SEO, social media, booking enquiries, offers, clients, staff, billing and the Zoca "brain" agent layer.'
  version: 3.20.10
  contact: {}
  x-apievangelist-note: Harvested verbatim from https://api.zoca.ai/swagger.json. The provider ships the default NestJS Swagger metadata (title "API Documentation", empty servers[]); title/description/servers were set by API Evangelist for identification and the unmodified original is preserved at openapi/_original/zoca-platform-swagger.json. Every path, operation, summary, parameter and response is exactly as published.
servers:
- url: https://api.zoca.ai
  description: Production
tags:


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoca/refs/heads/main/openapi/zoca-services-api-openapi.yml