Shopmonkey Webhooks API
Create, retrieve, update, and delete webhook subscriptions that push Shopmonkey events (scoped company-wide or per-location) to an external URL, with error-state tracking. Confirmed against shopmonkey.dev/resources/webhook.
Create, retrieve, update, and delete webhook subscriptions that push Shopmonkey events (scoped company-wide or per-location) to an external URL, with error-state tracking. Confirmed against shopmonkey.dev/resources/webhook.
openapi: 3.0.3
info:
title: Shopmonkey API
description: >-
The Shopmonkey API is a REST API (current version v3) that lets auto,
tire, and powersports repair shops integrate their Shopmonkey account -
Work Orders, Customers, Vehicles, Parts/Inventory, Invoices/Payments,
Appointments, Employees (Users), Locations, and Webhooks - with other
business systems. Authentication is a Bearer API key generated in the
Shopmonkey web app under Settings > Integration > API Keys. Error
responses return a JSON body with success, code, message, and
documentation_url fields. Rate limiting returns HTTP 429 with
Retry-After, X-RateLimit-Limit-Minute, and X-RateLimit-Remaining-Minute
headers; exact numeric limits are account-specific and not published.
Paths and methods below are confirmed against the public Shopmonkey
Developer docs at shopmonkey.dev; request/response schemas are modeled
(best-effort) from the documented resource fields where full detail was
not independently reconciled field-by-field.
version: v3
contact:
name: Shopmonkey
url: https://shopmonkey.dev
externalDocs:
description: Shopmonkey Developer documentation
url: https://shopmonkey.dev/overview
servers:
- url: https://api.shopmonkey.cloud/v3
description: Shopmonkey production API (v3)
security:
- bearerAuth: []
tags:
- name: Work Orders
description: Create and manage repair orders, order line items (services, parts, labor, fees, tires, subcontracts), authorizations, files, and PDFs.
- name: Customers
description: Create, update, search, and manage customer records, emails, and phone numbers.
- name: Vehicles
description: Create, update, and look up vehicles, VIN/plate validation, year/make/model data, mileage, and tire-pressure logs.
- name: Inventory & Parts
description: Search the parts catalog, find compatible parts, and manage line-item assignments of parts/tires/labor.
- name: Invoices & Payments
description: Shared (customer-facing) invoices/PDFs on an order, and manual payment and refund entries.
- name: Appointments
description: Schedule, search, confirm, cancel, and update appointments.
- name: Employees
description: Manage Shopmonkey users (employees), roles, and the authenticated user's own profile.
- name: Locations
description: Manage shop location details for a multi-location company.
- name: Webhooks
description: Register and manage webhook subscriptions for Shopmonkey events.
paths:
/order:
get:
operationId: listOrders
tags: [Work Orders]
summary: Find all Orders
description: 'CONFIRMED endpoint (shopmonkey.dev/resources/order). Lists work orders with filtering, pagination, and sorting.'
responses:
'200':
description: A list of orders.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Order'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createOrder
tags: [Work Orders]
summary: Create one Order
description: CONFIRMED endpoint. Creates a new work order for a customer/vehicle at a location.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderInput'
responses:
'200':
description: The created order.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/order/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getOrder
tags: [Work Orders]
summary: Find one Order by id
description: CONFIRMED endpoint.
responses:
'200':
description: The requested order.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateOrder
tags: [Work Orders]
summary: Update one Order by id
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderInput'
responses:
'200':
description: The updated order.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/order/{id}/{action}:
parameters:
- $ref: '#/components/parameters/Id'
- name: action
in: path
required: true
schema:
type: string
description: Status transition action (e.g. approve, close, void) applied to the order.
patch:
operationId: transitionOrder
tags: [Work Orders]
summary: Apply a status action to an Order
description: CONFIRMED endpoint (path shape). Applies a workflow action/status transition to an order.
responses:
'200':
description: The updated order.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/order/{id}/move:
parameters:
- $ref: '#/components/parameters/Id'
put:
operationId: moveOrder
tags: [Work Orders]
summary: Move an Order
description: CONFIRMED endpoint. Moves an order between workflow columns/statuses.
responses:
'200':
description: The updated order.
/order/{id}/calculated_pricing:
parameters:
- $ref: '#/components/parameters/Id'
post:
operationId: calculateOrderPricing
tags: [Work Orders]
summary: Calculate pricing for an Order
description: CONFIRMED endpoint. Returns recalculated pricing totals for the order.
responses:
'200':
description: Calculated pricing.
/order/{id}/authorization:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listOrderAuthorizations
tags: [Work Orders]
summary: Find Order authorizations
description: CONFIRMED endpoint.
responses:
'200':
description: Order authorizations.
post:
operationId: createOrderAuthorization
tags: [Work Orders]
summary: Request an Order authorization
description: CONFIRMED endpoint.
responses:
'200':
description: Created authorization.
/order/{id}/authorization/{authorizationId}:
parameters:
- $ref: '#/components/parameters/Id'
- name: authorizationId
in: path
required: true
schema:
type: string
put:
operationId: updateOrderAuthorization
tags: [Work Orders]
summary: Update an Order authorization
description: CONFIRMED endpoint.
responses:
'200':
description: Updated authorization.
/order/{id}/file:
parameters:
- $ref: '#/components/parameters/Id'
post:
operationId: addOrderFile
tags: [Work Orders]
summary: Attach a file to an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Attached file.
/order/{id}/file/{fileId}:
parameters:
- $ref: '#/components/parameters/Id'
- name: fileId
in: path
required: true
schema:
type: string
delete:
operationId: deleteOrderFile
tags: [Work Orders]
summary: Remove a file from an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/order/{id}/pdf:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getOrderPdf
tags: [Work Orders]
summary: Get the Order as a PDF
description: CONFIRMED endpoint.
responses:
'200':
description: PDF binary.
content:
application/pdf:
schema:
type: string
format: binary
/order/{orderId}/service:
parameters:
- $ref: '#/components/parameters/OrderId'
get:
operationId: listOrderServices
tags: [Work Orders]
summary: Find all Services on an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Order services.
post:
operationId: addOrderService
tags: [Work Orders]
summary: Add a Service to an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Created service.
/order/{orderId}/service/{id}:
parameters:
- $ref: '#/components/parameters/OrderId'
- $ref: '#/components/parameters/Id'
put:
operationId: updateOrderService
tags: [Work Orders]
summary: Update a Service on an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Updated service.
delete:
operationId: deleteOrderService
tags: [Work Orders]
summary: Remove a Service from an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/order/{orderId}/part:
parameters:
- $ref: '#/components/parameters/OrderId'
get:
operationId: listOrderParts
tags: [Work Orders]
summary: Find all Parts on an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Order parts.
post:
operationId: addOrderPart
tags: [Work Orders]
summary: Add a Part to a Service on an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Created part line item.
/order/{orderId}/part_bulk:
parameters:
- $ref: '#/components/parameters/OrderId'
put:
operationId: bulkUpdateOrderParts
tags: [Work Orders]
summary: Update Bulk Parts for an Order
description: CONFIRMED endpoint.
responses:
'200':
description: Updated parts.
/order_shared/{publicId}/pdf:
parameters:
- $ref: '#/components/parameters/PublicId'
get:
operationId: getSharedOrderPdf
tags: [Invoices & Payments]
summary: Get the customer-shared Order as a PDF
description: CONFIRMED endpoint. Customer-facing shared-link surface for an order PDF.
responses:
'200':
description: PDF binary.
content:
application/pdf:
schema:
type: string
format: binary
/order_shared/{publicId}/signed_invoice:
parameters:
- $ref: '#/components/parameters/PublicId'
get:
operationId: listSignedInvoices
tags: [Invoices & Payments]
summary: Find signed invoices for a shared Order
description: CONFIRMED endpoint.
responses:
'200':
description: Signed invoices.
/order_shared/{publicId}/signed_invoice/latest:
parameters:
- $ref: '#/components/parameters/PublicId'
get:
operationId: getLatestSignedInvoice
tags: [Invoices & Payments]
summary: Get the latest signed invoice for a shared Order
description: CONFIRMED endpoint.
responses:
'200':
description: The latest signed invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/SignedInvoice'
/order_shared/{publicId}/signed_invoice/{id}/pdf:
parameters:
- $ref: '#/components/parameters/PublicId'
- $ref: '#/components/parameters/Id'
get:
operationId: getSignedInvoicePdf
tags: [Invoices & Payments]
summary: Get a signed invoice as a PDF
description: CONFIRMED endpoint.
responses:
'200':
description: PDF binary.
content:
application/pdf:
schema:
type: string
format: binary
/order_shared/{publicId}/payment:
parameters:
- $ref: '#/components/parameters/PublicId'
get:
operationId: listSharedOrderPayments
tags: [Invoices & Payments]
summary: Find payments recorded against a shared Order
description: CONFIRMED endpoint.
responses:
'200':
description: Payments.
/integration/payment/search:
post:
operationId: searchPayments
tags: [Invoices & Payments]
summary: Search for Payment Entries
description: CONFIRMED endpoint.
responses:
'200':
description: Matching payments.
/integration/payment/manual/charge:
post:
operationId: recordManualPayment
tags: [Invoices & Payments]
summary: Record a payment manually
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentInput'
responses:
'200':
description: The recorded payment.
content:
application/json:
schema:
$ref: '#/components/schemas/Payment'
/integration/payment/manual/{id}:
parameters:
- $ref: '#/components/parameters/Id'
delete:
operationId: deleteManualPayment
tags: [Invoices & Payments]
summary: Remove a manually-recorded payment
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/integration/payment/manual/refund:
post:
operationId: createManualRefund
tags: [Invoices & Payments]
summary: Create one Manual Refund
description: CONFIRMED endpoint.
responses:
'200':
description: The created refund.
/integration/payment/manual/refund/{id}:
parameters:
- $ref: '#/components/parameters/Id'
put:
operationId: updateManualRefund
tags: [Invoices & Payments]
summary: Update one Payment/Refund by id
description: CONFIRMED endpoint.
responses:
'200':
description: Updated refund.
/integration/payment/manual/refund/{id}/download-pdf:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: downloadRefundPdf
tags: [Invoices & Payments]
summary: Download a refund receipt as PDF
description: CONFIRMED endpoint.
responses:
'200':
description: PDF binary.
content:
application/pdf:
schema:
type: string
format: binary
/customer:
post:
operationId: createCustomer
tags: [Customers]
summary: Create a new customer record
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerInput'
responses:
'200':
description: The created customer.
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
/customer/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getCustomer
tags: [Customers]
summary: "Fetch a specific customer's details"
description: CONFIRMED endpoint.
responses:
'200':
description: The requested customer.
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
put:
operationId: updateCustomer
tags: [Customers]
summary: Update customer information
description: CONFIRMED endpoint.
responses:
'200':
description: The updated customer.
patch:
operationId: softDeleteCustomer
tags: [Customers]
summary: Soft delete a customer
description: CONFIRMED endpoint.
responses:
'200':
description: The soft-deleted customer.
/customer/search:
post:
operationId: searchCustomers
tags: [Customers]
summary: Search customer entities
description: CONFIRMED endpoint.
responses:
'200':
description: Matching customers.
/customer/search-by-email:
post:
operationId: searchCustomersByEmail
tags: [Customers]
summary: Search customers by email address
description: CONFIRMED endpoint.
responses:
'200':
description: Matching customers.
/customer/search-by-phone:
post:
operationId: searchCustomersByPhone
tags: [Customers]
summary: Search customers by phone number
description: CONFIRMED endpoint.
responses:
'200':
description: Matching customers.
/customer/{id}/vehicle:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listCustomerVehicles
tags: [Customers, Vehicles]
summary: Retrieve vehicles linked to a customer
description: CONFIRMED endpoint.
responses:
'200':
description: Vehicles owned by the customer.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vehicle'
/customer/{id}/order:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listCustomerOrders
tags: [Customers, Work Orders]
summary: Retrieve orders associated with a specific customer
description: CONFIRMED endpoint.
responses:
'200':
description: Orders for the customer.
/customer/{parentId}/deferred_service:
parameters:
- name: parentId
in: path
required: true
schema:
type: string
get:
operationId: listCustomerDeferredServices
tags: [Customers]
summary: Find all Deferred Services by Customer
description: CONFIRMED endpoint.
responses:
'200':
description: Deferred services.
/customer/{id}/email:
parameters:
- $ref: '#/components/parameters/Id'
post:
operationId: addCustomerEmail
tags: [Customers]
summary: Create a new email for the specified customer
description: CONFIRMED endpoint.
responses:
'200':
description: Added email.
/customer/{id}/email/{emailId}:
parameters:
- $ref: '#/components/parameters/Id'
- name: emailId
in: path
required: true
schema:
type: string
put:
operationId: updateCustomerEmail
tags: [Customers]
summary: Update the specified email for a customer
description: CONFIRMED endpoint.
responses:
'200':
description: Updated email.
delete:
operationId: deleteCustomerEmail
tags: [Customers]
summary: Delete the specified email for a customer
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/customer/{id}/phone:
parameters:
- $ref: '#/components/parameters/Id'
put:
operationId: updateCustomerPhone
tags: [Customers]
summary: "Update a customer's phone number"
description: CONFIRMED endpoint.
responses:
'200':
description: Updated phone.
/customer/{id}/phone/{phoneId}:
parameters:
- $ref: '#/components/parameters/Id'
- name: phoneId
in: path
required: true
schema:
type: string
delete:
operationId: deleteCustomerPhone
tags: [Customers]
summary: Remove a phone number from a customer record
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/vehicle:
post:
operationId: createVehicle
tags: [Vehicles]
summary: Create a new Vehicle record
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VehicleInput'
responses:
'200':
description: The created vehicle.
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
/vehicle/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getVehicle
tags: [Vehicles]
summary: Retrieve a single Vehicle by id
description: CONFIRMED endpoint.
responses:
'200':
description: The requested vehicle.
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
put:
operationId: updateVehicle
tags: [Vehicles]
summary: Update an existing Vehicle record
description: CONFIRMED endpoint.
responses:
'200':
description: The updated vehicle.
patch:
operationId: softDeleteVehicle
tags: [Vehicles]
summary: Soft-delete a Vehicle
description: CONFIRMED endpoint.
responses:
'200':
description: The soft-deleted vehicle.
/vehicle/{id}/link:
parameters:
- $ref: '#/components/parameters/Id'
post:
operationId: linkVehicleToCustomer
tags: [Vehicles]
summary: Associate a Vehicle with a customer
description: CONFIRMED endpoint.
responses:
'200':
description: Linked vehicle.
/vehicle/years:
get:
operationId: listVehicleYears
tags: [Vehicles]
summary: Retrieve available vehicle production years
description: CONFIRMED endpoint.
responses:
'200':
description: Years.
/vehicle/makes:
get:
operationId: listVehicleMakes
tags: [Vehicles]
summary: List vehicle manufacturers
description: CONFIRMED endpoint.
responses:
'200':
description: Makes.
/vehicle/models:
get:
operationId: listVehicleModels
tags: [Vehicles]
summary: Fetch available vehicle models
description: CONFIRMED endpoint.
responses:
'200':
description: Models.
/vehicle/submodels:
get:
operationId: listVehicleSubmodels
tags: [Vehicles]
summary: Get vehicle submodel variations
description: CONFIRMED endpoint.
responses:
'200':
description: Submodels.
/vehicle/ymm:
get:
operationId: searchVehicleByYmm
tags: [Vehicles]
summary: Search vehicle year/make/model combinations
description: CONFIRMED endpoint.
responses:
'200':
description: Matching YMM combinations.
/vehicle/vin/validate:
get:
operationId: validateVin
tags: [Vehicles]
summary: Validate a VIN number
description: CONFIRMED endpoint.
responses:
'200':
description: VIN validation result.
/vehicle/license-plate/validate:
get:
operationId: validateLicensePlate
tags: [Vehicles]
summary: Validate a license plate
description: CONFIRMED endpoint.
responses:
'200':
description: License plate validation result.
/vehicle/{id}/orders:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listVehicleOrders
tags: [Vehicles, Work Orders]
summary: List service orders for a vehicle
description: CONFIRMED endpoint.
responses:
'200':
description: Orders for the vehicle.
/vehicle/{id}/deferred-services:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listVehicleDeferredServices
tags: [Vehicles]
summary: List pending/deferred service items for a vehicle
description: CONFIRMED endpoint.
responses:
'200':
description: Deferred services.
/vehicle/{id}/owners:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listVehicleOwners
tags: [Vehicles]
summary: Retrieve vehicle ownership history
description: CONFIRMED endpoint.
responses:
'200':
description: Owners.
put:
operationId: updateVehicleOwners
tags: [Vehicles]
summary: Update owner information
description: CONFIRMED endpoint.
responses:
'200':
description: Updated owners.
delete:
operationId: removeVehicleOwner
tags: [Vehicles]
summary: Remove an owner record
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/vehicle/{id}/mileage-logs:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listVehicleMileageLogs
tags: [Vehicles]
summary: Retrieve mileage records
description: CONFIRMED endpoint.
responses:
'200':
description: Mileage logs.
post:
operationId: addVehicleMileageLog
tags: [Vehicles]
summary: Create a mileage log entry
description: CONFIRMED endpoint.
responses:
'200':
description: Created mileage log.
put:
operationId: updateVehicleMileageLog
tags: [Vehicles]
summary: Modify a mileage record
description: CONFIRMED endpoint.
responses:
'200':
description: Updated mileage log.
delete:
operationId: deleteVehicleMileageLog
tags: [Vehicles]
summary: Delete a mileage record
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/vehicle/{id}/tire-pressure-logs:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listTirePressureLogs
tags: [Vehicles]
summary: Retrieve tire pressure records
description: CONFIRMED endpoint.
responses:
'200':
description: Tire pressure logs.
post:
operationId: addTirePressureLog
tags: [Vehicles]
summary: Record tire pressure data
description: CONFIRMED endpoint.
responses:
'200':
description: Created tire pressure log.
delete:
operationId: deleteTirePressureLog
tags: [Vehicles]
summary: Remove tire pressure records
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/part:
get:
operationId: listParts
tags: [Inventory & Parts]
summary: Find ALL Parts
description: CONFIRMED endpoint. Retrieves the shop's parts inventory.
responses:
'200':
description: Parts.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Part'
/part/summary:
get:
operationId: getPartsSummary
tags: [Inventory & Parts]
summary: Find ALL Parts Summary
description: CONFIRMED endpoint.
responses:
'200':
description: Parts summary.
/part/search:
post:
operationId: searchParts
tags: [Inventory & Parts]
summary: Search for specific parts by criteria
description: CONFIRMED endpoint.
responses:
'200':
description: Matching parts.
/part/compatible:
post:
operationId: findCompatibleParts
tags: [Inventory & Parts]
summary: Find Compatible Options
description: CONFIRMED endpoint. Locates parts compatible with a given vehicle.
responses:
'200':
description: Compatible parts.
/line_item_assignment:
get:
operationId: listLineItemAssignments
tags: [Inventory & Parts]
summary: Find line item assignments to parts and tires
description: CONFIRMED endpoint.
responses:
'200':
description: Line item assignments.
/line_item_assignment/bulk:
put:
operationId: bulkAssignLineItems
tags: [Inventory & Parts]
summary: Bulk-assign line items to parts, tires, or labor
description: CONFIRMED endpoint.
responses:
'200':
description: Updated assignments.
/appointment:
get:
operationId: listAppointments
tags: [Appointments]
summary: Find all Appointments
description: CONFIRMED endpoint.
responses:
'200':
description: Appointments.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Appointment'
post:
operationId: createAppointment
tags: [Appointments]
summary: Create a new appointment
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentInput'
responses:
'200':
description: The created appointment.
content:
application/json:
schema:
$ref: '#/components/schemas/Appointment'
/appointment/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getAppointment
tags: [Appointments]
summary: Find one Appointment by id
description: CONFIRMED endpoint.
responses:
'200':
description: The requested appointment.
content:
application/json:
schema:
$ref: '#/components/schemas/Appointment'
put:
operationId: updateAppointment
tags: [Appointments]
summary: Update one appointment
description: CONFIRMED endpoint. Supports recurring appointment modifications.
responses:
'200':
description: The updated appointment.
delete:
operationId: deleteAppointment
tags: [Appointments]
summary: Remove an appointment
description: CONFIRMED endpoint.
responses:
'200':
description: Deleted.
/appointment/search:
post:
operationId: searchAppointments
tags: [Appointments]
summary: Search for appointments
description: CONFIRMED endpoint. Supports date range, customer, order, and technician filters.
responses:
'200':
description: Matching appointments.
/appointment/{id}/confirm:
parameters:
- $ref: '#/components/parameters/Id'
patch:
operationId: confirmAppointment
tags: [Appointments]
summary: Confirm an Appointment
description: CONFIRMED endpoint.
responses:
'200':
description: The confirmed appointment.
/appointment/{id}/cancel:
parameters:
- $ref: '#/components/parameters/Id'
patch:
operationId: cancelAppointment
tags: [Appointments]
summary: Cancel an Appointment
description: CONFIRMED endpoint.
responses:
'200':
description: The cancelled appointment.
/user:
get:
operationId: listUsers
tags: [Employees]
summary: Find all users
description: CONFIRMED endpoint.
responses:
'200':
description: Users.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/User'
post:
operationId: createUser
tags: [Employees]
summary: Create one User
description: CONFIRMED endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserInput'
responses:
'200':
description: The created user.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
/user/logged-in:
get:
operationId: getLoggedInUser
tags: [Employees]
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shopmonkey/refs/heads/main/openapi/shopmonkey-openapi.yml