1. Messaging
Repairy Partner API
  • Welcome 👋
  • Get Started
  • HTTP Headers
  • Authorization
  • Workshops
  • Bookings
  • Quotes
  • Service Reminder
  • Data Reporting
  • Booking URL
  • Error Codes
  • Technical Support
  • Changelog
  • Webhook
  • Additional Services
  • Service Catalog
  • APIs
    • Authorization
      • Access Token
      • Refresh Token
    • Workshops
      • Availabilities
      • Service Catalog
    • Bookings
      • Booking Request with Service Catalog (beta)
      • Booking Request
      • Booking Information
      • Update Booking Information
      • Update Booking Status
    • Quotes
      • Quote Request
    • Service Reminder
      • Service Reminder Notification
      • Service Reminder Information
    • Data Reporting
      • Partner Report
    • Leads
      • Call Lead
    • Messaging
      • Send Message
        POST
      • List of Templates
        GET
    • Campaigns
      • Trigger Automation
      • Blast List
      • Trigger Blast
      • Find Blast
  • Data Structures
    • AuthResponse
    • Availability
    • CustomAvailability
    • Car
    • Customer
    • Booking
    • BookingUpdateRequest
    • BookingStatusUpdateConfig
    • Quote
    • ServiceHistory
    • ServiceReminder
    • WebhookRequest
    • ServiceCatalog
    • CallLead
  • Schemas
    • Schemas
      • WebhookRequest
      • ServiceSelection
      • ServiceCatalogItem
      • CallLead
      • Booking
      • BookingUpdateRequest
      • Customer
      • Car
      • Availability
      • CustomAvailability
      • AuthResponse
      • Quote
      • ServiceHistory
      • ServiceReminder
      • BookingStatusUpdateConfig
  1. Messaging

Send Message

Developing
Cloud Mock
https://mock.apidog.com/m1/839892-0-default
Cloud Mock
https://mock.apidog.com/m1/839892-0-default
POST
/workshops/{id}/messages
Send a one-to-one SMS to a workshop customer through Repairy Inbox.
Use either:
free-text content in channels.sms.message, or
a published inbox SMS template via channels.sms.templateId
Identify the customer with customerId, or with phone when customerId is omitted (find or create). Optionally pass bookingId when the template needs booking context. Use referenceId as an idempotency key (recommended in production).
Notes
SMS only — this endpoint does not support other channels
Template placeholders are filled by Repairy — do not send placeholder values
Get templateId values from GET /v1/workshops/{id}/templates
Always check sms.sent — top-level success matches SMS delivery (true only when sent)
Workshop must have partner integration and inbox messaging enabled
Idempotency (referenceId)
Same referenceId for the same customer:
Prior resultBehaviour
SuccessReturns previous result — no new send
FailedAttempts delivery again — returns new outcome
OmittedEvery call is a new send
Rate limit: max 5 requests/second per workshop + customer (429 when exceeded).
HTTP 200 with success: false means the request was valid but SMS was not delivered. HTTP 4xx means the request itself was rejected.

Errors#

HTTPerrorCodeWhen
400000001Invalid body, missing SMS content, missing phone/customerId, or invalid template
400060001Booking exists but belongs to a different customer
401010000Missing or invalid OAuth token
403000003Feature unavailable
403000004Partner integration or inbox messaging disabled for the workshop
404030001Workshop not found
404040001Customer not found under this workshop
404060001Booking not found under this workshop
429—More than 5 requests/second for the same workshop and customer

Request

Path Params

Header Params

Body Params application/jsonRequired

Examples
{
  "phone": "+61412345678",
  "channels": {
    "sms": {
      "message": "Hi Jane, your car is ready for pickup after 5pm."
    }
  },
  "referenceId": "partner-msg-20260722-001"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://mock.apidog.com/m1/839892-0-default/workshops/:workshopId/messages' \
--header 'Authorization;' \
--header 'X-Partner-Id;' \
--header 'Content-Type: application/json' \
--data '{
  "phone": "+61412345678",
  "channels": {
    "sms": {
      "message": "Hi Jane, your car is ready for pickup after 5pm."
    }
  },
  "referenceId": "partner-msg-20260722-001"
}'

Responses

🟢200Success
application/json
Bodyapplication/json

Examples
{
  "success": true,
  "referenceId": "marlin-msg-20260722-001",
  "sms": {
    "sent": true,
    "message": "SMS sent",
    "messageId": "64f1a2b3c4d5e6f7a8b9c0d1",
    "conversationId": "64f1a2b3c4d5e6f7a8b9c0d1"
  }
}
🟠400Bad request
🟠404Not found
🟠429Rate Limited
🟠403Feature Unavailable/Disabled
Modified at 2026-07-22 16:28:30
Previous
Messaging
Next
List of Templates
Built with