How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zoca App API

Endpoints consumed by the mobile App

Zoca App API is one of 193 APIs that Zoca publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include App. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 312 operations across 274 paths, and defines 5 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 3 base URLs: https://api.zoca.ai, https://public.zoca.com, https://tasks.zoca.ai.

312 operations 274 paths 5 schemas 15 DELETE178 GET9 PATCH69 POST41 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.zoca.ai
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Zoca App API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (access-token).

  • access-token — Enter JWT token in the format Bearer

Paths & Operations 312

Across 274 paths, the API surfaces 312 operations — 15 DELETE, 178 GET, 9 PATCH, 69 POST, 41 PUT. Each is listed below with its method, path, parameters, and response codes.

App 312

Endpoints consumed by the mobile App

GET
/business-profile
Get business profile information by entity Id
t_value → 201
GET
/business-profile/primary-category-suggestion
Get primary category suggestions
getBusinessProfilePrimaryCategorySuggestion → 200
GET
/business-profile/additional-category-suggestion
Get additional category suggestions
getBusinessProfileAdditionalCategorySuggestion → 200
PUT
/business-profile/additional-category-suggestion
Get additional category suggestions (v2)
putBusinessProfileAdditionalCategorySuggestion → 200
GET
/business-profile/booking-platforms
Get all booking platforms
getBusinessProfileBookingPlatforms → 200
GET
/business-profile/social-platforms
Get all social media platforms
getBusinessProfileSocialPlatforms → 200
PUT
/business-profile/{entityId}/booking-link
Update booking link for a platform
putBusinessProfileByEntityIdBookingLink 1 param body → 200
GET
/business-profile/{entityId}/booking-link
Update booking link for a platform
getBusinessProfileByEntityIdBookingLink 1 param → 200
PUT
/business-profile/update-profile-data
Update business profile data
putBusinessProfileUpdateProfileData → 200
PUT
/business-profile/website-domain/{entityId}
Update website domain data
putBusinessProfileWebsiteDomainByEntityId → 200
PUT
/business-profile/website-domain-quotation/{entityId}
Get domain quotation
putBusinessProfileWebsiteDomainQuotationByEntityId → 200
GET
/webview
Get webviews by query parameters
getWebview → 200
GET
/app-blocker/updates/{id}
Get update by ID
getAppBlockerUpdatesById → 200404
DELETE
/app-blocker/updates/{id}
Delete an app blocker update
deleteAppBlockerUpdatesById → 204404
GET
/auth/check
Check authentication status
getAuthCheck → 200
GET
/auth/google-auth-url
Google Authentication URL
getAuthGoogleAuthUrl 2 params → 200
GET
/auth/square/authorize
Square OAuth Authorization URL
getAuthSquareAuthorize → 200400
GET
/auth/instagram/authorize
Instagram OAuth Authorization URL
getAuthInstagramAuthorize → 200
GET
/auth/tiktok/authorize
TikTok OAuth Authorization URL
getAuthTiktokAuthorize → 200
POST
/auth/magic-link/verify
Verify a magic link token and get auth tokens
postAuthMagicLinkVerify → 200400
GET
/campaigns/requests
List campaign requests for an entity
getCampaignsRequests → 200
POST
/campaigns/requests
Create a new campaign request
postCampaignsRequests → 201
PATCH
/campaigns/requests
Update a campaign request
patchCampaignsRequests → 200
GET
/campaigns/requests/count
Get campaign request counts by status
getCampaignsRequestsCount → 200
GET
/campaigns/requests/{id}
Get a campaign request by ID
getCampaignsRequestsById → 200
DELETE
/campaigns/requests/{id}
Delete a campaign request
deleteCampaignsRequestsById → 200
GET
/campaigns/suggestions
List all campaign suggestions
getCampaignsSuggestions → 200
GET
/campaigns/flyers
List all campaign flyers
getCampaignsFlyers → 200
GET
/chatbot/calls/{callId}
Get call details by call ID
getChatbotCallsByCallId → 200
GET
/chatbot/calls/{callId}/regenerate-summary
Regenerate call summary by call ID
getChatbotCallsByCallIdRegenerateSummary 1 param → 200400404
PUT
/chatbot/retell/phone/{phoneNumber}
Update a phone number configuration
putChatbotRetellPhoneByPhoneNumber 1 param body → 200400404
POST
/chatbot/phone/purchase
Purchase a new phone number
postChatbotPhonePurchase → 201
POST
/chatbot/feedback
Create a new feedback record
postChatbotFeedback → 201400
GET
/chatbot/feedback
Get all feedback records for an entity with pagination
getChatbotFeedback 3 params → 200400
PUT
/chatbot/feedback/{id}
Update an existing feedback record
putChatbotFeedbackById 1 param → 200400404
GET
/chat/conversations
Get conversations list or single conversation details
getChatConversations → 200400
POST
/chat/message
Create a new message in a conversation
postChatMessage → 201400
PUT
/chat/message
Update message text or soft delete
putChatMessage → 200400404
POST
/chat/reaction
Add reaction to a message
postChatReaction → 201400404
PUT
/chat/reaction
Update or soft delete a reaction
putChatReaction → 200400404
POST
/chat/message-receipt
Mark messages as read in a conversation
postChatMessageReceipt → 200400
POST
/clients
Create a new client with contact information
postClients → 201
POST
/clients/bulk
Bulk create clients with contact information
postClientsBulk → 201
POST
/clients/bulk-s3
Bulk import clients from S3 URL
postClientsBulkS3 → 201
GET
/clients/entity/{entityId}
Get clients by entity ID with pagination
getClientsEntityByEntityId → 200
PUT
/clients/block
Block or restore clients
putClientsBlock → 200
GET
/clients/entity/{entityId}/blocked
Get blocked clients for an entity with pagination
getClientsEntityByEntityIdBlocked → 200
GET
/clients/{clientId}
Get a client by ID
getClientsByClientId → 200
POST
/clients/{entityId}/clientFile
Store a client file for an entity
postClientsByEntityIdClientFile → 201
GET
/clients/comm-types
Get available communication types
getClientsCommTypes → 200
PATCH
/clients/comms/{commId}/status
Update communication status
patchClientsCommsByCommIdStatus → 200
GET
/booking-enquiries
List all booking enquiries with pagination and filters
getBookingEnquiries → 200
GET
/booking-enquiries/sources
List distinct enquiry sources for an entity (source filter options)
getBookingEnquiriesSources → 200
GET
/booking-enquiries/enquiry-status
Get enquiry status statistics for an entity
getBookingEnquiriesEnquiryStatus → 200
GET
/booking-enquiries/{entityId}/search
Search clients by name, number, or query
getBookingEnquiriesByEntityIdSearch → 200
GET
/booking-enquiries/enquiry-stats
Get detailed enquiry statistics for an entity
getBookingEnquiriesEnquiryStats → 200
GET
/booking-enquiries/multilocation/{businessEntityId}
List enquiries across all locations of a business with network stats
getBookingEnquiriesMultilocationByBusinessEntityId → 200
GET
/booking-enquiries/{enquiryId}/enquiry
Get enquiry details by ID
getBookingEnquiriesByEnquiryIdEnquiry → 200
PUT
/booking-enquiries/{enquiryId}/status
Update enquiry status with reason and services
putBookingEnquiriesByEnquiryIdStatus → 200
POST
/booking-enquiries/{clientId}/notes
Add a note to a client
postBookingEnquiriesByClientIdNotes → 201
GET
/booking-enquiries/{clientId}/notes
Get all notes for a client
getBookingEnquiriesByClientIdNotes → 200
GET
/booking-enquiries/{clientId}/enquiries
Get all enquiries for a client with status filter
getBookingEnquiriesByClientIdEnquiries → 200
PUT
/booking-enquiries/notes/{noteId}
Update an existing client note
putBookingEnquiriesNotesByNoteId → 200
DELETE
/booking-enquiries/notes/{noteId}
Delete a client note
deleteBookingEnquiriesNotesByNoteId → 200
POST
/booking-enquiries/{clientId}/communication-logs
Add communication log for a client
postBookingEnquiriesByClientIdCommunicationLogs → 201
POST
/booking-enquiries/client-conversation
Add a conversation message for a client
postBookingEnquiriesClientConversation → 201
GET
/booking-enquiries/{clientId}/app/chat
Get chat data for mobile app
getBookingEnquiriesByClientIdAppChat → 200
GET
/booking-enquiries/{clientId}/summary
Get summary of client interactions
getBookingEnquiriesByClientIdSummary → 200
GET
/booking-enquiries/{entityId}/text-templates
List all text templates for an entity
getBookingEnquiriesByEntityIdTextTemplates → 200
PUT
/booking-enquiries/text-templates/{templateId}
Update an existing text template
putBookingEnquiriesTextTemplatesByTemplateId → 200
PUT
/booking-enquiries/{entityId}/text-template-preferences
Update text template preferences
putBookingEnquiriesByEntityIdTextTemplatePreferences → 200
GET
/booking-enquiries/{entityId}/text-template-preferences
Get text template preferences for an entity
getBookingEnquiriesByEntityIdTextTemplatePreferences → 200
PUT
/booking-enquiries/formatted-text-template
Format text template with client data
putBookingEnquiriesFormattedTextTemplate → 200
GET
/booking-enquiries/{entityId}/automated-text-templates
Get default lead communication templates
getBookingEnquiriesByEntityIdAutomatedTextTemplates → 200
PUT
/booking-enquiries/{entityId}/automated-text-templates
Update lead communication templates
putBookingEnquiriesByEntityIdAutomatedTextTemplates → 200
GET
/booking-enquiries/{locationEntityId}/automated-text-templates/variables
Get lead communication template variable values
getBookingEnquiriesByLocationEntityIdAutomatedTextTemplatesVariables → 200
GET
/booking-enquiries/automated-text-templates/variables
Get available automated communication variables
getBookingEnquiriesAutomatedTextTemplatesVariables → 200
GET
/booking-enquiries/{entityId}/automated-text-templates/preferences
Get automated communication template preferences
getBookingEnquiriesByEntityIdAutomatedTextTemplatesPreferences → 200
PUT
/booking-enquiries/{entityId}/automated-text-templates/preferences
Update automated communication template preferences
putBookingEnquiriesByEntityIdAutomatedTextTemplatesPreferences → 200
GET
/booking-enquiries/{entityId}/text-template-order
Get text template order for a client
getBookingEnquiriesByEntityIdTextTemplateOrder → 200
GET
/booking-enquiries/conversation-activity
Get conversation activity details for a client or enquiry
getBookingEnquiriesConversationActivity → 200
GET
/booking-enquiries/client-conversations
Get client conversations including SMS and calls
getBookingEnquiriesClientConversations → 200
GET
/entities/locations
Get all locations for a user
getEntitiesLocations → 200
POST
/entities/onboarding-state
Update onboarding state for an entity
postEntitiesOnboardingState → 201
PUT
/entities/location/{entityId}
Update location data
putEntitiesLocationByEntityId 1 param → 200400404
GET
/entities/location/{entityId}/details
Get essential location details
getEntitiesLocationByEntityIdDetails 1 param → 200400404
GET
/entities/location/{entityId}/rwg-status
Get Reserve with Google status
getEntitiesLocationByEntityIdRwgStatus 1 param → 200
GET
/entities/{entityId}/more-tab-cards
Get visibility markers for More tab cards
getEntitiesByEntityIdMoreTabCards 1 param → 200400
GET
/entities/products/{entityId}
Get products for an entity
getEntitiesProductsByEntityId 1 param → 200
PUT
/entities/products/{entityId}
Create or update a product entity relationship
putEntitiesProductsByEntityId → 200400
POST
/entities/{entityId}/preferences
Create or update an entity preference
postEntitiesByEntityIdPreferences → 201
GET
/entities/location/{entityId}/booking-link
Get booking link for a location
getEntitiesLocationByEntityIdBookingLink → 200
PUT
/entities/location/{entityId}/booking-link
Update booking link for a location
putEntitiesLocationByEntityIdBookingLink → 200
GET
/entities/offboarding-reason-templates
Get active offboarding reason templates
getEntitiesOffboardingReasonTemplates 2 params → 200400
GET
/entities/offboarding/active-subscriptions/v2/{entityId}
Get active subscriptions and offboarding information for an entity (with…
getEntitiesOffboardingActiveSubscriptionsV2ByEntityId → 200400401500
POST
/entities/{entityId}/trigger-payment-link-comms
Trigger payment link communications for an entity
postEntitiesByEntityIdTriggerPaymentLinkComms 1 param → 200400404500
POST
/entities/{entityId}/review-insights
Get review insights for an entity
postEntitiesByEntityIdReviewInsights 1 param → 200400500
GET
/entities/{entityId}/hubspot/meetings
Get upcoming HubSpot meetings for an entity
getEntitiesByEntityIdHubspotMeetings 2 params → 200400
POST
/events
Handle incoming event from Lambda
postEvents → 201
GET
/features
Get all available features for an entity based on active products
getFeatures 3 params → 200
GET
/features/insights-tabs
Get Insights tabs with URLs based on active products
getFeaturesInsightsTabs 3 params → 200
GET
/gbp-location/list
List all locations for entity
getGbpLocationList → 200
POST
/gbp-location/create
Onboard a gbp location for entity
postGbpLocationCreate body → 201
GET
/gbp-location/posts/list
List posts for location
getGbpLocationPostsList → 200
GET
/gbp-location/posts
Get a single post by name
getGbpLocationPosts → 200
PATCH
/gbp-location/posts
Update a post
patchGbpLocationPosts → 200
DELETE
/gbp-location/posts
Delete a post
deleteGbpLocationPosts → 200
GET
/gbp-location/keyword-impression-insights
Get keyword impression insights for a location
getGbpLocationKeywordImpressionInsights → 200
GET
/gbp-location/performance-insights
Get performance insights for location
getGbpLocationPerformanceInsights → 200
GET
/google-maps/place-auto-complete
Get place autocomplete suggestions
getGoogleMapsPlaceAutoComplete → 200
GET
/google-maps/place-id-details
Get place details by place ID
getGoogleMapsPlaceIdDetails → 200
GET
/homepage/activation-steps
Get activation steps status
getHomepageActivationSteps → 200
GET
/homepage
Get homepage data
getHomepage → 200
GET
/homepage/homepage-components
Get homepage components
getHomepageHomepageComponents → 200
GET
/homepage/activation-steps-data
Get activation steps data
getHomepageActivationStepsData → 200
GET
/homepage/check-website-status
Check website status
getHomepageCheckWebsiteStatus → 200
GET
/homepage/monthly-report
Get monthly report(s) for an entity
getHomepageMonthlyReport → 200404
PUT
/homepage/monthly-report
Update monthly report status
putHomepageMonthlyReport → 200
GET
/homepage/referrals/link/{businessEntityId}
Get referral link for business
getHomepageReferralsLinkByBusinessEntityId → 200
POST
/homepage/referrals
Create a referral
postHomepageReferrals → 201
GET
/homepage/carousel-cards
Get carousel cards for Win Agent onboarding
getHomepageCarouselCards → 200
GET
/homepage/discovery-metrics
Get cumulative discovery metrics since onboarding
getHomepageDiscoveryMetrics → 200
POST
/media
Create a new media
postMedia → 201
GET
/media
Get all media
getMedia → 200
DELETE
/media
Delete a media
deleteMedia → 200
GET
/media/scheduled-media
Get scheduled media for a location
getMediaScheduledMedia → 200
GET
/media/logo-and-cover-image
Get logo and cover image for a location
getMediaLogoAndCoverImage → 200
POST
/media/log-failed-media-time
Log failed media upload time
postMediaLogFailedMediaTime → 201
GET
/meta/business-discovery
Get Instagram business discovery data
getMetaBusinessDiscovery → 200
GET
/meta/media
Get all media for a specific Instagram business account
getMetaMedia → 200
POST
/meta/connect-instagram
Connect an Instagram business account to a location entity
postMetaConnectInstagram → 201
POST
/meta/upload-media
Upload selected media to specified destinations
postMetaUploadMedia → 201
GET
/meta/account-status
Check if an Instagram business account is already connected to a location entity
getMetaAccountStatus → 200
POST
/meta/disconnect-instagram
Disconnect an Instagram business account from a location entity
postMetaDisconnectInstagram → 201
GET
/tiktok/videos
Get user's TikTok videos
getTiktokVideos → 200
GET
/tiktok/creator-info
Get TikTok creator information for publishing
getTiktokCreatorInfo → 200
POST
/offers/draft
Create a draft offer with optional fields
postOffersDraft → 201
PUT
/offers/{id}/draft
Update a draft offer with field-by-field updates
putOffersByIdDraft → 200
GET
/offers/{id}
Get offer details
getOffersById 1 param → 200
DELETE
/offers/{id}
Soft delete an offer
deleteOffersById → 200
GET
/offers/channels/{entityId}
List available channels for offer creation with publishOn dates
getOffersChannelsByEntityId → 200
POST
/offers/description/generate
Generate AI-powered description for an offer
postOffersDescriptionGenerate → 200400404
POST
/offers/description/validate
Validate AI-powered description for an offer
postOffersDescriptionValidate → 200400404
GET
/offers/entities/{entityId}/status
List all offers on an entity with status
getOffersEntitiesByEntityIdStatus 2 params → 200
GET
/offers/entities/{entityId}/status/count
Get count of offers grouped by status for an entity
getOffersEntitiesByEntityIdStatusCount 2 params → 200
GET
/offers/entities/{entityId}/search
Search offers by title with status calculation
getOffersEntitiesByEntityIdSearch → 200400
GET
/offers/{offerId}/suggestions
Get suggestions for an offer
getOffersByOfferIdSuggestions → 200400
GET
/onboarding/app-visitor
Register app visitor
getOnboardingAppVisitor → 200
POST
/onboarding/update-user
Update User Profile
postOnboardingUpdateUser body → 200400404
GET
/onboarding/onboarding-state
Get onboarding state for entity
getOnboardingOnboardingState → 200
GET
/onboarding/user-profile
Get user profile information
getOnboardingUserProfile → 200
GET
/onboarding/quick-recap
Get onboarding quick recap pointers
getOnboardingQuickRecap → 200
GET
/onboarding/business-categories
Get list of business categories
getOnboardingBusinessCategories → 200
GET
/onboarding/customer-sources
Get list of customer sources
getOnboardingCustomerSources → 200
GET
/onboarding/search-booking-link
Search for booking platform link
getOnboardingSearchBookingLink → 200
GET
/onboarding/check-platform-selection/{locationEntityId}
Check if specific platforms were selected during onboarding within 10 hours
getOnboardingCheckPlatformSelectionByLocationEntityId → 200400404
POST
/onboarding/trigger-comms
Trigger onboarding communications for MoEngage notifications
postOnboardingTriggerComms → 200400500
POST
/pipedrive/person/upsert
Create Pipedirve Person
postPipedrivePersonUpsert body → 201
POST
/pipedrive/organization/upsert
Create Pipedirve Organization
postPipedriveOrganizationUpsert body → 201
GET
/pipedrive/lead/status
Get Lead Status
getPipedriveLeadStatus → 200
GET
/pipedrive/lead/callback
Requested a callback
getPipedriveLeadCallback → 200
POST
/requests-api/fromTemplate
Create a request from a template
postRequestsApiFromTemplate → 201
DELETE
/requests-api/{id}
Delete a request by ID
deleteRequestsApiById → 200
PUT
/requests-api/{id}
Update a request by ID
putRequestsApiById → 200
GET
/requests-api/{entityId}/list
List requests for an entity with optional pagination
getRequestsApiByEntityIdList → 200
POST
/requests-api/filters
Filter requests excluding specified types
postRequestsApiFilters → 201
PATCH
/requests-api/{id}/additionalData
Patch additional data for a request
patchRequestsApiByIdAdditionalData → 200
GET
/requests-api/categories/{entityId}
Get ticket categories for an entity
getRequestsApiCategoriesByEntityId → 200
GET
/services-sync/request
Get current sync request for a location
getServicesSyncRequest → 200
POST
/services-sync/resync/request
Create a resync request
postServicesSyncResyncRequest → 201
GET
/review-invites/client-sources
Get available client sources for an entity
getReviewInvitesClientSources → 200
GET
/review-invites/clients
Get clients filtered by source with pagination
getReviewInvitesClients → 200
GET
/review-invites/client-phone
Get client phone numbers for an entity
getReviewInvitesClientPhone → 200
GET
/review-invites/search-clients
Search clients by term with pagination
getReviewInvitesSearchClients → 200
GET
/review-invites/text-templates
Get SMS text templates for review invites
getReviewInvitesTextTemplates → 200
PUT
/review-invites/text-templates/{templateId}
Update a text template by ID
putReviewInvitesTextTemplatesByTemplateId → 200
GET
/review-invites/invites-status
Get all invite status counts for an entity
getReviewInvitesInvitesStatus → 200
GET
/review-invites/invites-by-status
Get invites filtered by status with pagination
getReviewInvitesInvitesByStatus → 200
POST
/review-invites/{entityId}/invite
Send review invites to clients
postReviewInvitesByEntityIdInvite → 201
DELETE
/review-invites/{entityId}/invite
Delete a review invite
deleteReviewInvitesByEntityIdInvite → 204
POST
/review-invites/{entityId}/invite-reminder
Send review invite reminders to clients
postReviewInvitesByEntityIdInviteReminder → 201
GET
/review-invites/qr-code
Get QR code for review invites
getReviewInvitesQrCode → 200
PUT
/review-invites/formatted-text-template
Format a text template with client data
putReviewInvitesFormattedTextTemplate → 200
POST
/review-invites/email-ra-optin
Store email review automation opt-in status
postReviewInvitesEmailRaOptin → 201
GET
/review-invites/email-ra-optin
Get email review automation opt-in status
getReviewInvitesEmailRaOptin → 200
GET
/review-invites/review-link
Get the review link for a location
getReviewInvitesReviewLink → 200
GET
/reviews/{entityId}/reviews
Get paginated reviews for an entity
getReviewsByEntityIdReviews → 200
GET
/reviews/review-id
Get review by ID
getReviewsReviewId → 200
POST
/reviews/{reviewId}/reply
Create a reply to a review
postReviewsByReviewIdReply → 201
PUT
/reviews/{reviewId}/reply
Update a review reply
putReviewsByReviewIdReply → 200
DELETE
/reviews/{reviewId}/reply
Delete a review reply
deleteReviewsByReviewIdReply → 204
GET
/reviews/stats
Get review statistics
getReviewsStats → 200
POST
/reviews/{entityId}/preferences
Set review preferences
postReviewsByEntityIdPreferences → 201
GET
/reviews/{entityId}/preferences
Get review preferences
getReviewsByEntityIdPreferences → 200
GET
/reviews/{entityId}/app/gbp-component
Get Google Business Profile component data
getReviewsByEntityIdAppGbpComponent → 200
GET
/reviews/{entityId}/app/card
Get review cards for app dashboard
getReviewsByEntityIdAppCard → 200
GET
/scheduling/bookings/{id}
Get booking by ID with aggregated data
getSchedulingBookingsById 1 param → 200404
GET
/scheduling/onboarding/{entityId}/{locationEntityId}/status
Get onboarding status for an entity and location
getSchedulingOnboardingByEntityIdByLocationEntityIdStatus → 200
POST
/scheduling/stripe/terminal/connection-token
Create Stripe Terminal connection token
postSchedulingStripeTerminalConnectionToken → 200
GET
/scheduling/stripe/terminal/tap-to-pay-config
Get Tap to Pay configuration
getSchedulingStripeTerminalTapToPayConfig → 200
POST
/scheduling/stripe/terminal/ensure-location
Provision Stripe Terminal location for a connected account
postSchedulingStripeTerminalEnsureLocation → 200
GET
/scheduling/checkout-tip-config
List checkout tip presets for a location
getSchedulingCheckoutTipConfig → 200
POST
/scheduling/checkout/pay
Process a payment for a sale
postSchedulingCheckoutPay body → 200400404
POST
/scheduling/checkout/processing-fee-quote
Quote checkout processing fee
postSchedulingCheckoutProcessingFeeQuote body → 200
PATCH
/scheduling/checkout/sale/{saleId}/tip
Update the tip on a sale
patchSchedulingCheckoutSaleBySaleIdTip 1 param body → 200404
POST
/scheduling/checkout/cancel-payment/{paymentId}
Cancel a payment
postSchedulingCheckoutCancelPaymentByPaymentId 1 param → 200400404
GET
/services/service/{id}
Get service by ID
getServicesServiceById 1 param → 200404
PUT
/services/service/{id}
Update service
putServicesServiceById 1 param body → 200
DELETE
/services/service/{id}
Delete service
deleteServicesServiceById 1 param → 200
POST
/services/{entityId}/service
Create a new service
postServicesByEntityIdService 3 params body → 201400404500
POST
/services/categorydeprecated
Create a new category (deprecated)
postServicesCategory body → 201
GET
/services/category/{id}
Get a category by ID
getServicesCategoryById 1 param → 200
PUT
/services/category/{id}
Update a category
putServicesCategoryById 1 param body → 200
DELETE
/services/category/{id}
Delete a category
deleteServicesCategoryById 1 param → 200
GET
/services/{entityId}/categories
Get all categories for an entity
getServicesByEntityIdCategories 2 params → 200
POST
/services/service/{serviceId}/category/{categoryId}
Assign a service to a category
postServicesServiceByServiceIdCategoryByCategoryId 2 params → 201
DELETE
/services/service/{serviceId}/category/{categoryId}
Remove a service from a category
deleteServicesServiceByServiceIdCategoryByCategoryId 2 params → 200
PUT
/services/reorder-categories-services
Reorder categories and their services
putServicesReorderCategoriesServices body → 200
GET
/services/{serviceId}/images
Get all images for a service
getServicesByServiceIdImages 1 param → 200
POST
/services/{serviceId}/images
Add a new image to a service
postServicesByServiceIdImages 1 param body → 201
DELETE
/services/{serviceId}/images/{imageId}
Delete an image from a service
deleteServicesByServiceIdImagesByImageId 2 params → 200
PUT
/services/variation/{id}
Update a variation
putServicesVariationById 1 param body → 200
DELETE
/services/variation/{id}
Delete a variation
deleteServicesVariationById 1 param → 200
GET
/services/service/{serviceId}/variations
Get variations for a service
getServicesServiceByServiceIdVariations 3 params → 200
POST
/services/service/{serviceId}/variation
Create a new variation
postServicesServiceByServiceIdVariation 1 param body → 201
POST
/services/{entityId}/categories-with-services
Create categories with services
postServicesByEntityIdCategoriesWithServices 1 param body → 201
PUT
/services/variations/batch
Batch update variations
putServicesVariationsBatch body → 200
GET
/services/{entityId}/categories/suggested
Get suggested categories
getServicesByEntityIdCategoriesSuggested 3 params → 200
GET
/services/{entityId}/{categoryId}/suggested
Get suggested services for an entity and category
getServicesByEntityIdByCategoryIdSuggested 4 params → 200
GET
/services/{entityId}/categories/suggested-services
Get suggested services for all categories
getServicesByEntityIdCategoriesSuggestedServices 3 params → 200404500
GET
/services/{entityId}/categories/check-duplicate
Check for duplicate category name
getServicesByEntityIdCategoriesCheckDuplicate 3 params → 200
POST
/social-media/update-caption
Update post caption
postSocialMediaUpdateCaption → 201
POST
/social-media/get-feed-posts
Get feed posts with pagination
postSocialMediaGetFeedPosts → 201
GET
/social-media/get-instagram-post
Get Instagram post by ID
getSocialMediaGetInstagramPost → 200
POST
/social-media/add-feedback-to-post
Add feedback to a post
postSocialMediaAddFeedbackToPost → 201
GET
/social-media/get-feedback-for-post
Get feedback for a post
getSocialMediaGetFeedbackForPost → 200
PUT
/social-media/remove-feedback-from-post
Remove feedback from a post
putSocialMediaRemoveFeedbackFromPost → 200
GET
/social-media/get-user-insta-details
Get user Instagram details
getSocialMediaGetUserInstaDetails → 200
PUT
/social-media/set-user-insta-details
Set user Instagram details
putSocialMediaSetUserInstaDetails → 200
GET
/social-media/get-user-overdue-count
Get user overdue post count
getSocialMediaGetUserOverdueCount → 200
PUT
/social-media/approve-all-posts-by-uid
Approve all posts by user ID
putSocialMediaApproveAllPostsByUid → 200
PUT
/social-media/set-user-post-status
Set user post status
putSocialMediaSetUserPostStatus → 200
PUT
/social-media/approve-user-overdue-post-status
Approve user overdue post status
putSocialMediaApproveUserOverduePostStatus → 200
GET
/social-media/get-all-posting-dates-for-month
Get all posting dates for a month
getSocialMediaGetAllPostingDatesForMonth → 200
GET
/social-media/get-preference-request
Get preference update request status
getSocialMediaGetPreferenceRequest → 200
PUT
/social-media/put-preference-request
Update preference request status
putSocialMediaPutPreferenceRequest → 200
POST
/social-media/add-instagram-post-rejection-reason
Add Instagram post rejection reason
postSocialMediaAddInstagramPostRejectionReason → 201
GET
/square/locations/{entityId}
Get Square locations by entity ID
getSquareLocationsByEntityId → 200
GET
/ui-components
Get UI component by ID or get all components
getUiComponents → 200
PATCH
/updates/{id}
Patch an update record
patchUpdatesById → 200
GET
/updates/entity/{entityId}
Get all updates for a specific entity
getUpdatesEntityByEntityId 6 params → 200
PATCH
/updates/entity/{entityId}
Mark all updates as read for a specific entity
patchUpdatesEntityByEntityId 1 param → 200
GET
/updates/count/{entityId}
Get the count of updates for a specific entity
getUpdatesCountByEntityId 2 params → 200
POST
/website/add-booking-link
Add booking link and trigger website creation
postWebsiteAddBookingLink → 201
GET
/website/onboarding-creation-status
Get onboarding website-creation status
getWebsiteOnboardingCreationStatus 2 params → 200
GET
/website/generate-website
Generate website for a location
getWebsiteGenerateWebsite → 200
GET
/website/platforms
Get available booking platforms
getWebsitePlatforms → 200
GET
/website/templates
Get templates, optionally filtered by website ID
getWebsiteTemplates → 200
GET
/website/section-media
Get section media data
getWebsiteSectionMedia → 200
POST
/website/replace-media-in-section
Replace media in section
postWebsiteReplaceMediaInSection → 201
POST
/website/save-theme-template
Save selected theme and template
postWebsiteSaveThemeTemplate → 201
POST
/website/{websiteId}/themes/generate-palette
Generate AI color palettes from a prompt
postWebsiteByWebsiteIdThemesGeneratePalette → 201
GET
/website/{websiteId}/ai-colors
List a website's AI-generated color palettes
getWebsiteByWebsiteIdAiColors → 200
DELETE
/website/{websiteId}/ai-colors/{id}
Delete an AI-generated color palette
deleteWebsiteByWebsiteIdAiColorsById → 200
POST
/website/{websiteId}/ai-colors/{id}/persist
Persist a stored AI palette as a theme (returns themeId)
postWebsiteByWebsiteIdAiColorsByIdPersist → 201
POST
/website/{websiteId}/ai-colors/{id}/apply
Apply a stored AI palette to the website and publish
postWebsiteByWebsiteIdAiColorsByIdApply → 201
GET
/website/{websiteId}/theme-template
Get theme and template for website
getWebsiteByWebsiteIdThemeTemplate → 200
POST
/website/reorder-media-in-section
Reorder media in section
postWebsiteReorderMediaInSection → 201
GET
/website/get-website-status
Get website status and preferences
getWebsiteGetWebsiteStatus → 200
GET
/website/subdomain
Get website subdomain
getWebsiteSubdomain → 200
PUT
/website/subdomain
Update website subdomain (preserves current domain)
putWebsiteSubdomain → 200
GET
/website/subdomain-validate
Validate subdomain availability
getWebsiteSubdomainValidate → 200
POST
/website/add-user-preferences
Add user preferences
postWebsiteAddUserPreferences → 201
POST
/discovery/aeo-reports/{auditRunId}/custom-prompts
Add a user custom prompt to an existing AEO report
postDiscoveryAeoReportsByAuditRunIdCustomPrompts → 202
GET
/discovery/{locationEntityId}/impact-nudges
Get impact nudges for a location entity
getDiscoveryByLocationEntityIdImpactNudges → 200
GET
/discovery/{locationEntityId}/gbp/metrics
Get GBP analytics metrics for a location
getDiscoveryByLocationEntityIdGbpMetrics 1 param → 200400
GET
/discovery/{locationEntityId}/gbp/optimization-score
Get GBP Optimization Score for a location
getDiscoveryByLocationEntityIdGbpOptimizationScore 1 param → 200400404
GET
/discovery/{locationEntityId}/website/metrics
Get website metrics for a location
getDiscoveryByLocationEntityIdWebsiteMetrics 1 param → 200400
GET
/discovery/{locationEntityId}/keyword/performance/metrics
Get zocaweb keyword performance KPI metrics
getDiscoveryByLocationEntityIdKeywordPerformanceMetrics → 200
GET
/discovery/{locationEntityId}/keyword/performance/keywords
Get zocaweb paginated keyword performance rows
getDiscoveryByLocationEntityIdKeywordPerformanceKeywords → 200
GET
/discovery/{locationEntityId}/keyword/performance
Get keyword performance for a location
getDiscoveryByLocationEntityIdKeywordPerformance 3 params → 200400
GET
/discovery/{locationEntityId}/website/optimization-score
Get Website Optimization Score for a location
getDiscoveryByLocationEntityIdWebsiteOptimizationScore 1 param → 200400
GET
/discovery/{locationEntityId}/review/metrics
Get review metrics for a location
getDiscoveryByLocationEntityIdReviewMetrics 1 param → 200400
GET
/discovery/{locationEntityId}/agent-journey/metrics
Get agent journey metrics for a location
getDiscoveryByLocationEntityIdAgentJourneyMetrics 1 param → 200400
GET
/integrations/website/{entityId}/list
List all platforms with link status for an entity
getIntegrationsWebsiteByEntityIdList → 200
GET
/integrations/{entityId}/{id}
Get platform detail by id
getIntegrationsByEntityIdById → 200
PATCH
/integrations/website/{entityId}/status
Link or unlink a platform for an entity
patchIntegrationsWebsiteByEntityIdStatus → 200
GET
/hubspot/am-meeting-url/{entityId}
Get AM Meeting URL for Location
getHubspotAmMeetingUrlByEntityId 1 param → 200400
GET
/hubspot/offboarding-meeting-url/{entityId}
Get Offboarding Meeting URL for Location
getHubspotOffboardingMeetingUrlByEntityId 3 params → 200400
GET
/
Get app data
e_value → 200
GET
/r/{alias}
Redirect link by alias
getRByAlias → 200
GET
/get-app
Serve app redirect page
getGetApp → 200
GET
/applink
Handle app deep link redirect
getApplink → 200
GET
/tasks/api/v1/chatbot/l2b/entity-phone-numbers/{entityId}
Get all L2B entity phone numbers
getTasksApiV1ChatbotL2bEntityPhoneNumbersByEntityId 2 params → 200500
GET
/tasks/api/v1/twilio/phone/search
T value
getTasksApiV1TwilioPhoneSearch → 200
GET
/tasks/api/v1/win-onboarding/status/{entityId}
Get Win Onboarding Status
getTasksApiV1WinOnboardingStatusByEntityId 1 param → 200404
GET
/tasks/api/v1/win-onboarding/client-history/{clientId}
Get client call history
getTasksApiV1WinOnboardingClientHistoryByClientId 1 param → 200404
GET
/tasks/api/v1/win-onboarding/call/{callId}
Get call history by call ID
getTasksApiV1WinOnboardingCallByCallId 1 param → 200404
GET
/tasks/api/v1/win-onboarding/user/{userEntityId}/locations
Get user info and locations onboarding status
getTasksApiV1WinOnboardingUserByUserEntityIdLocations 1 param → 200
GET
/tasks/api/v1/win-onboarding/voice-agents/{entityId}
Get available voice agents (platform-aware) for a location
getTasksApiV1WinOnboardingVoiceAgentsByEntityId 1 param → 200
GET
/tasks/api/v1/win-onboarding/area-codes/{areaCode}/alternates
Get alternate area codes
getTasksApiV1WinOnboardingAreaCodesByAreaCodeAlternates 1 param → 200
GET
/tasks/api/v1/win-onboarding/agent-context/{entityId}
Get agent context for entity
getTasksApiV1WinOnboardingAgentContextByEntityId 1 param → 200404
PUT
/tasks/api/v1/win-onboarding/agent-context/{entityId}
Update agent context for entity
putTasksApiV1WinOnboardingAgentContextByEntityId 1 param body → 200400
PUT
/tasks/api/v1/win-onboarding/callback/status
Update callback status
putTasksApiV1WinOnboardingCallbackStatus body → 200404
POST
/tasks/api/v1/win-onboarding/quick-setup
Quick setup - prepare agent context from existing data
postTasksApiV1WinOnboardingQuickSetup body → 201400404
POST
/tasks/api/v1/win-onboarding/feedback
Create WIN feedback
postTasksApiV1WinOnboardingFeedback body → 201400
PATCH
/tasks/api/v1/win-onboarding/feedback/{id}
Update WIN feedback
patchTasksApiV1WinOnboardingFeedbackById 1 param body → 200404
PUT
/tasks/api/v1/win-onboarding/status
Update WIN onboarding status
putTasksApiV1WinOnboardingStatus body → 200404
POST
/tasks/api/v1/win-onboarding/reach-out-list
Create or update reach-out list entry
postTasksApiV1WinOnboardingReachOutList body → 201400
GET
/tasks/api/v1/win/subscription/config
Get subscription configuration
getTasksApiV1WinSubscriptionConfig → 200
GET
/tasks/api/v1/win/subscription/status/{entityId}
Get subscription status
getTasksApiV1WinSubscriptionStatusByEntityId 1 param → 200
POST
/tasks/api/v1/win/subscription/activate-trial
Activate FrontDesk trial subscription
postTasksApiV1WinSubscriptionActivateTrial 1 param body → 201

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are t_2 (13 properties), t (12 properties), e (6 properties), e_2 (5 properties). Each schema is shown below with its type and property counts.

Object
object
t
object
12 properties 12 required
e
object
6 properties 3 required
t_2
object
13 properties 6 required
e_2
object
5 properties 5 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zoca-app-api-openapi.yml Raw ↑

Other APIs Zoca publishes across the network.

Zoca ACM API
Zoca Acuity API
Zoca Addon Groups API
Zoca Aeo Lead Magnet API
Zoca Agents API
Zoca API Keys API
Zoca App Blocker API
Zoca App Blocker Updates API
Zoca Approvals API
Zoca Auth API
Zoca Billing API
Zoca Booking Enquiries API
Where this information came from

This is an independent, third-party profile of Zoca App API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.