{
  "openapi": "3.1.0",
  "info": {
    "title": "Harlo API",
    "version": "2026-11-14",
    "summary": "Your Harlo workspace's loads, billing, fleet and activity, for the other tools you use.",
    "description": "Read-only REST over HTTPS. Authenticate with an API key from Harlo (Settings, API keys) as a Bearer token. Every response is your workspace's data only.",
    "contact": {
      "name": "Harlo developer support",
      "email": "support@goharlo.com",
      "url": "https://developer.goharlo.com"
    },
    "termsOfService": "https://goharlo.com/terms"
  },
  "servers": [
    {
      "url": "https://api.goharlo.com/v1",
      "description": "Production"
    }
  ],
  "security": [
    {
      "apiKey": []
    }
  ],
  "tags": [
    {
      "name": "Account"
    },
    {
      "name": "Loads"
    },
    {
      "name": "Billing"
    },
    {
      "name": "Customers"
    },
    {
      "name": "Fleet"
    },
    {
      "name": "Carriers"
    },
    {
      "name": "Facilities"
    },
    {
      "name": "Documents"
    },
    {
      "name": "Events"
    }
  ],
  "paths": {
    "/me": {
      "get": {
        "operationId": "getMe",
        "tags": [
          "Account"
        ],
        "summary": "The key you're using",
        "description": "Which workspace the key belongs to and its limits. A good first call to check a key works.",
        "responses": {
          "200": {
            "description": "The key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/loads": {
      "get": {
        "operationId": "listLoads",
        "tags": [
          "Loads"
        ],
        "summary": "List loads",
        "description": "Loads with their stops, routes, rate and invoice.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Only loads in this status (draft, booked, dispatched, in_transit, delivered, cancelled).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Only this customer's loads.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of loads.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Load"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/loads/{id}": {
      "get": {
        "operationId": "getLoad",
        "tags": [
          "Loads"
        ],
        "summary": "Retrieve a load",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The load.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Load"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No load with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/invoices": {
      "get": {
        "operationId": "listInvoices",
        "tags": [
          "Billing"
        ],
        "summary": "List invoices",
        "description": "Customer invoices, with lines, amount paid and balance.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "open, partial, paid, or void.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "load_id",
            "in": "query",
            "required": false,
            "description": "The invoice for one load.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Only this customer's invoices.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of invoices.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/invoices/{id}": {
      "get": {
        "operationId": "getInvoice",
        "tags": [
          "Billing"
        ],
        "summary": "Retrieve a invoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No invoice with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/payments": {
      "get": {
        "operationId": "listPayments",
        "tags": [
          "Billing"
        ],
        "summary": "List payments",
        "description": "Payments received against invoices.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "required": false,
            "description": "Payments on one invoice.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "load_id",
            "in": "query",
            "required": false,
            "description": "Payments for one load.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of payments.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/payments/{id}": {
      "get": {
        "operationId": "getPayment",
        "tags": [
          "Billing"
        ],
        "summary": "Retrieve a payment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No payment with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/customers": {
      "get": {
        "operationId": "listCustomers",
        "tags": [
          "Customers"
        ],
        "summary": "List customers",
        "description": "The shippers and brokers you haul for or bill.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Only customers in this status.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of customers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Customer"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/customers/{id}": {
      "get": {
        "operationId": "getCustomer",
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a customer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No customer with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/drivers": {
      "get": {
        "operationId": "listDrivers",
        "tags": [
          "Fleet"
        ],
        "summary": "List drivers",
        "description": "Your drivers, with license and medical card dates and pay settings.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "employment_status",
            "in": "query",
            "required": false,
            "description": "e.g. active, onboarding, terminated.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of drivers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Driver"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/drivers/{id}": {
      "get": {
        "operationId": "getDriver",
        "tags": [
          "Fleet"
        ],
        "summary": "Retrieve a driver",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The driver.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Driver"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No driver with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/equipment": {
      "get": {
        "operationId": "listEquipment",
        "tags": [
          "Fleet"
        ],
        "summary": "List equipment",
        "description": "Tractors and trailers.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "e.g. tractor, dry_van, reefer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of equipment.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Equipment"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/equipment/{id}": {
      "get": {
        "operationId": "getEquipment",
        "tags": [
          "Fleet"
        ],
        "summary": "Retrieve a equipment unit",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The equipment unit.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Equipment"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No equipment unit with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/carriers": {
      "get": {
        "operationId": "listCarriers",
        "tags": [
          "Carriers"
        ],
        "summary": "List carriers",
        "description": "Carriers in a brokerage's network, with authority and insurance.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of carriers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Carrier"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/carriers/{id}": {
      "get": {
        "operationId": "getCarrier",
        "tags": [
          "Carriers"
        ],
        "summary": "Retrieve a carrier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The carrier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Carrier"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No carrier with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/facilities": {
      "get": {
        "operationId": "listFacilities",
        "tags": [
          "Facilities"
        ],
        "summary": "List facilities",
        "description": "Pickup and delivery locations.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of facilities.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Facility"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/facilities/{id}": {
      "get": {
        "operationId": "getFacility",
        "tags": [
          "Facilities"
        ],
        "summary": "Retrieve a facility",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The facility.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Facility"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No facility with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/documents": {
      "get": {
        "operationId": "listDocuments",
        "tags": [
          "Documents"
        ],
        "summary": "List documents",
        "description": "Files attached to loads and records. Retrieve one for a download link. Identity, medical and bank documents are never returned.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "load_id",
            "in": "query",
            "required": false,
            "description": "Documents on one load.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "One document type, e.g. load_pod.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of documents.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Document"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/documents/{id}": {
      "get": {
        "operationId": "getDocument",
        "tags": [
          "Documents"
        ],
        "summary": "Retrieve a document",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The document.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No document with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/events": {
      "get": {
        "operationId": "listEvents",
        "tags": [
          "Events"
        ],
        "summary": "List events",
        "description": "The activity log: what changed, when, and who did it.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "How many to return, 1 to 100.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: newest first by default.",
            "schema": {
              "type": "string",
              "enum": [
                "-created_at",
                "created_at",
                "-updated_at",
                "updated_at"
              ],
              "default": "-created_at"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Only records changed at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "created_since",
            "in": "query",
            "required": false,
            "description": "Only records created at or after this ISO 8601 time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "required": false,
            "description": "load, driver, equipment, customer, carrier, ...",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity_id",
            "in": "query",
            "required": false,
            "description": "Events for one record.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "csv"
              ],
              "default": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of events.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "has_more": {
                      "type": "boolean"
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Pass as `cursor` for the next page; null on the last."
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/events/{id}": {
      "get": {
        "operationId": "getEvent",
        "tags": [
          "Events"
        ],
        "summary": "Retrieve a event",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The event.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          },
          "400": {
            "description": "A parameter is wrong. `error.param` names it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "The key is missing, invalid, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The workspace's plan doesn't include the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No event with that id in this workspace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Over 120 requests a minute for this key. Wait for `Retry-After` seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "hk_…",
        "description": "`Authorization: Bearer hk_…`. `X-Api-Key: hk_…` also works."
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "Stable, machine-readable code.",
                "enum": [
                  "invalid_api_key",
                  "api_key_revoked",
                  "api_key_expired",
                  "plan_required",
                  "rate_limited",
                  "invalid_parameter",
                  "not_found",
                  "method_not_allowed",
                  "server_error"
                ]
              },
              "message": {
                "type": "string",
                "description": "What went wrong and what to do, in plain words."
              },
              "param": {
                "type": "string",
                "description": "The query parameter at fault, when there is one."
              },
              "request_id": {
                "type": "string",
                "description": "Quote this when you contact support."
              }
            }
          }
        }
      },
      "Address": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "postal_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "formatted": {
            "type": [
              "string",
              "null"
            ],
            "description": "The whole address on one line."
          },
          "latitude": {
            "type": [
              "number",
              "null"
            ]
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "ApiKey": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "api_key"
          },
          "id": {
            "type": "string",
            "description": "Unique id of the key.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "What you named the key."
          },
          "prefix": {
            "type": "string",
            "description": "The key's first characters, as shown in Settings."
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workspace": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "kind": {
                "type": "string",
                "description": "carrier, broker, or both."
              }
            }
          },
          "rate_limit_per_minute": {
            "type": "integer"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Null when it never expires.",
            "format": "date-time"
          }
        }
      },
      "Load": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the load.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "load"
          },
          "number": {
            "type": [
              "string",
              "null"
            ],
            "description": "Your load number, e.g. L-00042."
          },
          "status": {
            "type": "string",
            "description": "draft, booked, dispatched, in_transit, delivered, or cancelled."
          },
          "activation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Activated, Hold, or Cancelled."
          },
          "life_cycle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Where the freight is: Open, Assigned, Dispatched, Arrived Stop, Departed Stop, Delivered."
          },
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "customer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "The customer's own load or order number."
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "What the number is, as entered, e.g. \"PO Number\"."
                },
                "number": {
                  "type": "string"
                }
              }
            }
          },
          "equipment": {
            "type": "object",
            "properties": {
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "length": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "temperature": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "service_level": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_terms": {
            "type": [
              "string",
              "null"
            ],
            "description": "e.g. Net 30."
          },
          "stops": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Stop"
            }
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Route"
            }
          },
          "rate": {
            "type": "object",
            "properties": {
              "currency": {
                "type": "string"
              },
              "total": {
                "type": "number",
                "description": "What the customer pays, all lines."
              },
              "lines": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "e.g. Linehaul, Fuel Surcharge, Detention."
                    },
                    "quantity": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "unit_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "amount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "description": "pending, approved, invoiced, or paid."
                    }
                  }
                }
              }
            }
          },
          "invoice": {
            "type": [
              "object",
              "null"
            ],
            "description": "The load's current invoice, if billed.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            }
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Stop": {
        "type": "object",
        "properties": {
          "sequence": {
            "type": "integer",
            "description": "1 for the first stop."
          },
          "type": {
            "type": "string",
            "description": "pickup or delivery."
          },
          "facility": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "address": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "city": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "postal_code": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "appointment": {
            "type": "object",
            "description": "Scheduled window, in the stop's local time.",
            "properties": {
              "start_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "start_time": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "HH:MM, local to the stop."
              },
              "end_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "end_time": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "timezone": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "IANA zone of the stop, e.g. America/Chicago."
              }
            }
          },
          "arrived_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Actual arrival (UTC).",
            "format": "date-time"
          },
          "departed_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Actual departure (UTC).",
            "format": "date-time"
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "What the number is, as entered, e.g. \"PO Number\"."
                },
                "number": {
                  "type": "string"
                }
              }
            }
          },
          "commodities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "quantity": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "weight": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "weight_unit": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "Route": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the route.",
            "format": "uuid"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "life_cycle": {
            "type": [
              "string",
              "null"
            ]
          },
          "dispatch_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "dispatched_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "driver": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": "string"
              }
            }
          },
          "truck": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "unit": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "trailer": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "unit": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "Customer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the customer.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "customer"
          },
          "number": {
            "type": [
              "string",
              "null"
            ],
            "description": "Your customer number, e.g. C-0001."
          },
          "name": {
            "type": "string"
          },
          "dba": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "shipper, brokerage, ..."
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "billing_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone_ext": {
            "type": [
              "string",
              "null"
            ]
          },
          "mc_number": {
            "type": [
              "integer",
              "null"
            ]
          },
          "dot_number": {
            "type": [
              "integer",
              "null"
            ]
          },
          "scac": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_terms": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoice_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "credit_limit": {
            "type": [
              "number",
              "null"
            ]
          },
          "credit_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "accounting_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The customer's id or name in your accounting system, set in Harlo on the customer's Profile tab (Billing, Accounting System ID). Use it to match records."
          },
          "tax_id_on_file": {
            "type": "boolean",
            "description": "Whether a tax id is on file. The id itself is never returned."
          },
          "parent_customer_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Invoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the invoice.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "invoice"
          },
          "number": {
            "type": "string",
            "description": "e.g. INV-L-00042."
          },
          "status": {
            "type": "string",
            "description": "open (issued, not fully paid), partial, paid, or void.",
            "enum": [
              "open",
              "partial",
              "paid",
              "void"
            ]
          },
          "load": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "customer_reference": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "accounting_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "billing_email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "bill_to": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoice_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "payment_terms": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "amount_paid": {
            "type": "number"
          },
          "balance": {
            "type": "number",
            "description": "Still owed. 0 when void."
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "notes": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "quantity": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "unit_price": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "amount": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "void_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "voided_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Payment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the payment.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "payment"
          },
          "invoice": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "load": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "amount": {
            "type": "number"
          },
          "received_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "method": {
            "type": "string",
            "description": "ACH, Check, Wire, Factoring, or Other."
          },
          "reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "Check number or transfer reference."
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Driver": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the driver.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "driver"
          },
          "number": {
            "type": [
              "string",
              "null"
            ],
            "description": "e.g. D-0001."
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "company, owner_operator, ..."
          },
          "employment_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "dispatch_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "compliance_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "start_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "end_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "pay": {
            "type": "object",
            "properties": {
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "rate": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "frequency": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "license": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "class": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "expires_on": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              }
            }
          },
          "medical_card_expires_on": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Equipment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the unit.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "equipment"
          },
          "unit": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unit number."
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "tractor, dry_van, reefer, flatbed, ..."
          },
          "year": {
            "type": [
              "integer",
              "null"
            ]
          },
          "make": {
            "type": [
              "string",
              "null"
            ]
          },
          "model": {
            "type": [
              "string",
              "null"
            ]
          },
          "vin": {
            "type": [
              "string",
              "null"
            ]
          },
          "plate": {
            "type": "object",
            "properties": {
              "number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "ownership": {
            "type": [
              "string",
              "null"
            ]
          },
          "fleet_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "operational_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "compliance_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "odometer_miles": {
            "type": [
              "integer",
              "null"
            ]
          },
          "registration_expires_on": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "inspection_expires_on": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "insurance_expires_on": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "purchase": {
            "type": "object",
            "properties": {
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "price": {
                "type": [
                  "number",
                  "null"
                ]
              }
            }
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Carrier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the carrier.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "carrier"
          },
          "name": {
            "type": "string"
          },
          "dba": {
            "type": [
              "string",
              "null"
            ]
          },
          "usdot": {
            "type": [
              "string",
              "null"
            ]
          },
          "mc_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "authority_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "usdot_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "insurance": {
            "type": "object",
            "properties": {
              "auto_liability_expires_on": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "auto_liability_limit": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "cargo_expires_on": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "cargo_limit": {
                "type": [
                  "number",
                  "null"
                ]
              }
            }
          },
          "do_not_use": {
            "type": "boolean"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Facility": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the facility.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "facility"
          },
          "number": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "appointment_required": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "contact": {
            "type": "object",
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "phone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the document.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "document"
          },
          "file_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "e.g. load_pod, load_bol, load_rate_confirmation, load_invoice."
          },
          "content_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "size_bytes": {
            "type": [
              "integer",
              "null"
            ]
          },
          "attached_to": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "load, driver, equipment, customer, carrier, facility, ..."
              },
              "id": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          "download_url": {
            "type": "string",
            "description": "Retrieve only: a link to the file, valid for 5 minutes."
          },
          "download_expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it last changed. Use with `updated_since` to sync.",
            "format": "date-time"
          }
        }
      },
      "Event": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the event.",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "event"
          },
          "action": {
            "type": "string",
            "description": "insert, update, or delete."
          },
          "entity": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "load, driver, equipment, customer, carrier, ..."
              },
              "id": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "What happened, in a sentence."
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "actor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Who did it."
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      }
    }
  }
}