SiteJabber Messages API

The Messages API from SiteJabber — 2 operation(s) for messages.

Operations 2

GET /businesses/{business}/messages Get messages #
POST /businesses/{business}/message/send Send message to user #

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/sitejabber-messages-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

sitejabber-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SmartCustomer (Sitejabber) Business Messages API
  version: v1
  summary: Business review, product review, review request, messaging and privacy API for SmartCustomer (formerly Sitejabber).
  description: 'Transcribed by API Evangelist from SmartCustomer''s own published API reference at https://api.sitejabber.com/ (Slate source: https://github.com/smartcustomer-reviews/business-api-docs). SmartCustomer does not publish an OpenAPI definition; every path, parameter, default, enum and schema field below is copied from the provider''s published reference tables. Where the reference names an object but publishes no field table (ProductCategory, ProductAttribute) the schema is left open rather than invented. Response wrappers are modelled from the published example payloads and the documented status/success envelope.


    Authentication is two-part: a client_token (API key) passed as a query parameter on every call, plus a user_token request header obtained from POST /login.'
  contact:
    name: SmartCustomer API Support
    email: support@smartcustomer.com
    url: https://api.sitejabber.com/
  termsOfService: https://www.smartcustomer.com/terms
  x-transcribed-by: API Evangelist enrichment pipeline
  x-transcription-source: https://api.sitejabber.com/
servers:
- url: https://api.smartcustomer.com/v1
  description: Production. The same reference is also served from https://api.sitejabber.com/ under the pre-rebrand Sitejabber name.
security:
- client_token: []
  user_token: []
tags:
- name: Messages
paths:
  /businesses/{business}/messages:
    get:
      operationId: getMessages
      summary: Get messages
      tags:
      - Messages
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ResponseEnvelope'
                - $ref: '#/components/schemas/MessageListWrapper'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      parameters:
      - $ref: '#/components/parameters/business'
      - name: start
        in: query
        description: starting offset
        required: false
        schema:
          type: integer
          default: 0
      - name: count
        in: query
        description: number of messages to be included (max 100)
        required: false
        schema:
          type: integer
          default: 10
      - name: username
        in: query
        description: get messages for specific user if given
        required: false
        schema:
          type: string
      - name: folder
        in: query
        description: inbox/sent for received or sent messages
        required: false
        schema:
          type: string
          default: inbox
      - name: order
        in: query
        description: ASC/DESC order of the messages, ascending or descending
        required: false
        schema:
          type: string
          default: DESC
  /businesses/{business}/message/send:
    post:
      operationId: sendMessage
      summary: Send message to user
      tags:
      - Messages
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      parameters:
      - $ref: '#/components/parameters/business'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                review_no:
                  type: integer
                  description: number of review whose author will receive a message
                username:
                  type: string
                  description: author that will receive a message
                subject:
                  type: string
                  description: subject of the message
                body:
                  type: string
                  description: content of the message
              required:
              - review_no
              - username
              - subject
              - body
components:
  schemas:
    User:
      type: object
      title: User Object
      required:
      - username
      - firstName
      - lastName
      - thumbnail
      - profilePage
      - numReviews
      - numHelpfulVotes
      properties:
        username:
          type: string
          description: Username of the user
        firstName:
          type: string
          description: First name of the user
        lastName:
          type: string
          description: First letter of last name of the user
        thumbnail:
          type: string
          description: Relative path of the user's thumbnail image
        profilePage:
          type: string
          description: Url of the user's profile page
        numReviews:
          type: integer
          description: Number of reviews written by the user
        numHelpfulVotes:
          type: integer
          description: Number of helpful votes received
        email:
          type: string
          description: Only available for solicited reviews and when the email of the user was provided by the business
    Rating:
      type: object
      title: Rating Object
      required:
      - type
      - rating
      properties:
        type:
          type: string
          description: 'Possible values: overall, service, value, shipping, returns, quality'
          enum:
          - overall
          - service
          - value
          - shipping
          - returns
          - quality
        rating:
          type: number
          description: Float value between 1 and 5
          minimum: 1
          maximum: 5
    MessageListWrapper:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
    Message:
      type: object
      title: Message Object
      properties:
        subject:
          type: string
          description: Subject of the message
        body:
          type: string
          description: Body of the message
        review:
          allOf:
          - $ref: '#/components/schemas/Review'
          description: Review this message belongs to, if any
        created:
          type: string
          description: Creation date of the message
        createdRFC:
          type: string
          description: Same as created but in format RFC 3339
        recipient:
          allOf:
          - $ref: '#/components/schemas/User'
          description: User who received the message
        sender:
          allOf:
          - $ref: '#/components/schemas/User'
          description: User who sent the message
    ResponseEnvelope:
      type: object
      description: Every response carries a success flag and a status key. When success is false and status is ERROR, errorCode and errorReason are present.
      properties:
        status:
          type: string
          description: OK if everything went good, ERROR if there was an error processing the request
        success:
          type: boolean
          description: true or false
        errorCode:
          type: integer
          description: Error code, only present when status is ERROR
        errorReason:
          type: string
          description: Error message, only present when status is ERROR
    ReviewImage:
      type: object
      title: ReviewImage Object
      properties:
        caption:
          type: string
          description: Caption of the image
        original:
          type: string
          description: Url of the image original size
        normal:
          type: string
          description: Url of the image normal size, max width 600px
        large:
          type: string
          description: Url of the image thumbnail large size 160x160
        small:
          type: string
          description: Url of the image thumbnail small size 96x96
        created:
          type: string
          description: Creation date of the image
        createdRFC:
          type: string
          description: Same as created but in format RFC 3339
          format: date-time
    Review:
      type: object
      title: Review Object
      properties:
        reviewNo:
          type: integer
          description: Review number, identifier
        rating:
          type: array
          description: Array of Rating object
          items:
            $ref: '#/components/schemas/Rating'
        title:
          type: string
          description: Title for the review
        content:
          type: string
          description: Content for the review
        tip:
          type: string
          description: Tip for the review
        order_id:
          type: string
          description: Order ID for the review
        images:
          type: array
          description: Array of customer review images
          items:
            $ref: '#/components/schemas/ReviewImage'
        positive_votes:
          type: integer
          description: Number of positive votes for the review
        negative_votes:
          type: integer
          description: Number of negative votes for the review
        created:
          type: string
          description: Review creation date
        createdRFC:
          type: string
          description: Same as created but in format RFC 3339
        published:
          type: string
          description: If the review is not yet published, it'll contain the string pending
        publishedRFC:
          type: string
          description: Same as published but in format RFC 3339
        edited:
          type: string
          description: DateTime the review was edited
        editedRFC:
          type: string
          description: Same as edited but in format RFC 3339
        removedRFC:
          type: string
          description: DateTime the review was removed in format RFC 3339 (only available if the review is removed)
        updated_for:
          $ref: '#/components/schemas/Review'
          description: If this is an updated review, this will contain the original review
        source:
          type: string
          description: Only available for solicited reviews, indicates the source
          enum:
          - BCC
          - CSV
          - WEBHOOK
          - CHECKOUT_WIDGET
          - API
          - WEB
          - QUICK_REQUEST
          - OTHER
        datasource:
          type: string
          description: Indicates the 3rd party data source (check the data sources section)
        labels:
          type: array
          description: Array of labels
          items:
            type: string
        author:
          allOf:
          - $ref: '#/components/schemas/User'
          description: Author of the review
  parameters:
    business:
      name: business
      in: path
      required: true
      description: The business's display address (domain without scheme), e.g. yourdomain.com
      schema:
        type: string
      example: yourdomain.com
  responses:
    TooManyRequests:
      description: Too many requests. 1000 calls per hour per unique user token; no more than 10 calls in a 10 second window.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseEnvelope'
  securitySchemes:
    client_token:
      type: apiKey
      in: query
      name: client_token
      description: API key issued to the business, passed as a query parameter on every request.
    user_token:
      type: apiKey
      in: header
      name: user_token
      description: User session token returned by POST /login. Typically expires after 6 months; calling login invalidates any previous token.
externalDocs:
  description: SmartCustomer API reference
  url: https://api.sitejabber.com/