Shopmonkey Invoices & Payments API

Shared (customer-facing) invoices/PDFs on an order, and manual payment and refund entries.

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/shopmonkey-invoices-payments-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 email required.

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

OpenAPI Specification

shopmonkey-invoices-payments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Shopmonkey Appointments Invoices & Payments 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
servers:
- url: https://api.shopmonkey.cloud/v3
  description: Shopmonkey production API (v3)
security:
- bearerAuth: []
tags:
- name: Invoices & Payments
  description: Shared (customer-facing) invoices/PDFs on an order, and manual payment and refund entries.
paths:
  /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
components:
  parameters:
    Id:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: Resource identifier.
    PublicId:
      name: publicId
      in: path
      required: true
      schema:
        type: string
      description: Public (customer-shareable) order identifier used on order_shared endpoints.
  schemas:
    SignedInvoice:
      type: object
      properties:
        id:
          type: string
        orderId:
          type: string
        signedDate:
          type: string
          format: date-time
        signatureUrl:
          type: string
      additionalProperties: true
      description: MODELED from the documented order_shared signed_invoice surface.
    PaymentInput:
      type: object
      required:
      - orderId
      - amount
      properties:
        orderId:
          type: string
        amount:
          type: number
        method:
          type: string
      additionalProperties: true
    Payment:
      type: object
      properties:
        id:
          type: string
        orderId:
          type: string
        amount:
          type: number
        method:
          type: string
        createdDate:
          type: string
          format: date-time
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API key generated in the Shopmonkey web app under Settings > Integration > API Keys, sent as `Authorization: Bearer <token>`.'
externalDocs:
  description: Shopmonkey Developer documentation
  url: https://shopmonkey.dev/overview