Booqable Orders API

Rental orders and their lifecycle.

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/booqable-orders-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

booqable-orders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Booqable API (v4 "Boomerang") Availability Orders API
  description: The Booqable API is a RESTful, JSON:API-compliant interface for managing an equipment and inventory rental business - orders, products, product groups, customers, stock items, availability and plannings, documents and invoices, payments, bundles, collections, and webhooks. Requests are directed to a company-specific host in the form https://{company}.booqable.com/api/4 and authenticated with an access token (Bearer) or a signed single-use request. The default response media type is JSON:API (application/vnd.api+json); a nested JSON representation is available by appending .json to a path. The API is documented as still in Beta and may introduce non-backwards-compatible changes. A legacy v1 API also remains documented. This description was authored by API Evangelist from the public Booqable developer documentation; request and response schemas are modeled and simplified.
  version: '4'
  contact:
    name: Booqable
    url: https://developers.booqable.com/
  license:
    name: Proprietary
    url: https://booqable.com/terms/
servers:
- url: https://{company}.booqable.com/api/4
  description: Company-specific Booqable API v4 host
  variables:
    company:
      default: your-company
      description: Your Booqable company slug (subdomain).
security:
- bearerAuth: []
tags:
- name: Orders
  description: Rental orders and their lifecycle.
paths:
  /orders:
    get:
      operationId: listOrders
      tags:
      - Orders
      summary: List orders
      description: Lists and searches rental orders, with JSON:API filtering, sorting, includes, and pagination.
      parameters:
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Include'
      responses:
        '200':
          description: A page of orders.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ResourceCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      operationId: createOrder
      tags:
      - Orders
      summary: Create an order
      description: Creates a new rental order.
      requestBody:
        $ref: '#/components/requestBodies/ResourceBody'
      responses:
        '201':
          description: The created order.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ResourceDocument'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /orders/new:
    get:
      operationId: newOrder
      tags:
      - Orders
      summary: New order template
      description: Returns a blank order resource pre-populated with defaults, used to start a new order.
      responses:
        '200':
          description: A new order template.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ResourceDocument'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /orders/{id}:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getOrder
      tags:
      - Orders
      summary: Fetch an order
      description: Retrieves a single order by ID, optionally including related resources.
      parameters:
      - $ref: '#/components/parameters/Include'
      responses:
        '200':
          description: The requested order.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ResourceDocument'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateOrder
      tags:
      - Orders
      summary: Update an order
      description: Updates an existing order.
      requestBody:
        $ref: '#/components/requestBodies/ResourceBody'
      responses:
        '200':
          description: The updated order.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ResourceDocument'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  requestBodies:
    ResourceBody:
      required: true
      description: A JSON:API document wrapping the resource under a "data" member.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ResourceDocument'
  parameters:
    PageNumber:
      name: page[number]
      in: query
      required: false
      description: The page number to return (JSON:API pagination).
      schema:
        type: integer
        minimum: 1
        default: 1
    Include:
      name: include
      in: query
      required: false
      description: Comma-separated list of related resources to sideload (JSON:API include).
      schema:
        type: string
    PageSize:
      name: page[size]
      in: query
      required: false
      description: Number of records per page. Defaults to 25.
      schema:
        type: integer
        minimum: 1
        default: 25
    Id:
      name: id
      in: path
      required: true
      description: The UUID of the resource.
      schema:
        type: string
  responses:
    TooManyRequests:
      description: Rate limit exceeded. "You're doing too many requests! Slow down!"
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorDocument'
    Unauthorized:
      description: Authentication is missing or invalid.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorDocument'
    UnprocessableEntity:
      description: The request was well-formed but failed validation.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorDocument'
    NotFound:
      description: The requested resource does not exist.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/ErrorDocument'
  schemas:
    ResourceDocument:
      type: object
      description: A JSON:API document containing a single primary resource.
      properties:
        data:
          $ref: '#/components/schemas/Resource'
        included:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        meta:
          type: object
          additionalProperties: true
    ErrorDocument:
      type: object
      description: A JSON:API error document.
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              code:
                type: string
              title:
                type: string
              detail:
                type: string
    Resource:
      type: object
      description: A JSON:API resource object.
      properties:
        type:
          type: string
        id:
          type: string
        attributes:
          type: object
          additionalProperties: true
        relationships:
          type: object
          additionalProperties: true
    ResourceCollection:
      type: object
      description: A JSON:API document containing a collection of resources.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        included:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        meta:
          type: object
          description: Metadata such as total_count and pagination stats.
          additionalProperties: true
        links:
          type: object
          additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'An access token created in Booqable account settings, sent as "Authorization: Bearer <token>". Booqable also supports request signing (single-use signed tokens using ES256, RS256, or HS256) and, on the legacy v1 API, an api_key query parameter.'