{
  "openapi": "3.0.1",
  "info": {
    "title": "Billing and Payments",
    "description": "This portion of the API provides endpoints for managing payment, invoice and billing records.",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.ezyvet.com",
      "description": "ezyVet production environment"
    },
    {
      "url": "https://api.trial.ezyvet.com",
      "description": "ezyVet trial environment"
    }
  ],
  "security": [],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api.ezyvet.com/v1/oauth/access_token",
            "scopes": {
              "read-billingcredit": "Read billing credit resources",
              "read-estimate": "Read estimate resources",
              "read-invoice": "Read invoice resources",
              "read-invoiceline": "Read invoice line resources",
              "read-ledgeraccount": "Read ledger account resources",
              "read-payment": "Read payment resources",
              "read-paymentmethod": "Read payment method resources",
              "read-priceadjustment": "Read price adjustment resources",
              "read-taxrate": "Read tax rate resources",
              "read-transaction": "Read transaction resources",
              "write-invoice": "Create and update invoice resources",
              "write-invoiceline": "Create and update invoice line resources"
            }
          }
        }
      }
    },
    "parameters": {
      "active": {
        "name": "active",
        "in": "query",
        "description": "If true, the record is active and usable in ezyVet.",
        "required": false,
        "style": "form",
        "schema": {
          "type": "string"
        },
        "example": "1"
      },
      "created_at": {
        "name": "created_at",
        "in": "query",
        "description": "The epoch time when the record was created.",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        },
        "example": 1695766710
      },
      "id": {
        "name": "id",
        "in": "query",
        "description": "The ezyVet ID of the record.",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        },
        "example": "1"
      },
      "modified_at": {
        "name": "modified_at",
        "in": "query",
        "description": "The epoch time when the record was last modified",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        },
        "example": 1695766710
      }
    },
    "responses": {
      "InternalError": {
        "description": "Internal error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "error_5JBMuXC69QQoPpKDFoBow"
                },
                "status": {
                  "type": "string",
                  "example": "500"
                },
                "code": {
                  "type": "string",
                  "example": ""
                },
                "title": {
                  "type": "string",
                  "example": "An internal server error occurred"
                },
                "detail": {
                  "type": "string",
                  "example": "An error occured, please contact API support with the id, status and code provided with the response."
                }
              }
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "error_5JBMuXC69QQoPpKDFoBow"
                },
                "status": {
                  "type": "string",
                  "example": "429"
                },
                "code": {
                  "type": "string",
                  "example": ""
                },
                "title": {
                  "type": "string",
                  "example": "Too Many Requests"
                },
                "detail": {
                  "type": "string",
                  "example": "Too Many Requests"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "messages": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "level": {
                        "type": "string",
                        "example": "error"
                      },
                      "type": {
                        "type": "string",
                        "example": "InvalidRequestException"
                      },
                      "text": {
                        "type": "string",
                        "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                      },
                      "fields": {
                        "type": "array",
                        "example": [],
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "UnprocessableEntity": {
        "description": "Unprocessable Entity",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "error_5JBMuXC69QQoPpKDFoBow"
                },
                "status": {
                  "type": "string",
                  "example": "422"
                },
                "code": {
                  "type": "string",
                  "example": ""
                },
                "title": {
                  "type": "string",
                  "example": "Unprocessable Entity"
                },
                "detail": {
                  "type": "string",
                  "example": "Unprocessable Entity"
                }
              }
            }
          }
        }
      }
    },
    "schemas": {
      "EstimateItemv1": {
        "type": "object",
        "properties": {
          "estimate": {
            "$ref": "#/components/schemas/Estimatev1"
          }
        }
      },
      "EstimateListResponsev1": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Metav1"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EstimateItemv1"
            }
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Estimatev1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "created_at": {
            "type": "number"
          },
          "modified_at": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "number": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "total": {
            "type": "number"
          },
          "date": {
            "type": "number"
          },
          "subtotal": {
            "type": "number"
          },
          "tax": {
            "type": "number"
          },
          "contact_id": {
            "type": "number"
          },
          "animal_id": {
            "type": "string"
          },
          "consult_id": {
            "type": "string"
          },
          "line_item": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LineItemv1"
            }
          }
        }
      },
      "InvoiceItemv1": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/Invoicev1"
          }
        }
      },
      "InvoiceLinev1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "InvoiceListResponsev1": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/Metav1"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceItemv1"
            }
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "InvoiceResponseItemv1": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/Invoicev1"
          }
        }
      },
      "Invoicev1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "active": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "modified_at": {
            "type": "string"
          },
          "ownership_id": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "contact_id": {
            "type": "string"
          },
          "animal_id": {
            "type": "string"
          },
          "consult_id": {
            "type": "string"
          },
          "subtotal": {
            "type": "string"
          },
          "tax": {
            "type": "string"
          },
          "includes_tax": {
            "type": "string"
          },
          "payment_terms_id": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "date_due": {
            "type": "string"
          },
          "date_approved": {
            "type": "number",
            "default": 0
          },
          "approved_by": {
            "type": "string"
          },
          "customer_reference_number": {
            "type": "string"
          },
          "invoice_line_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceLinev1"
            }
          },
          "linked_payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPaymentv1"
            }
          }
        }
      },
      "LineItemv1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "created_at": {
            "type": "number"
          },
          "modified_at": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "pricetax": {
            "type": "number"
          },
          "qty": {
            "type": "number"
          },
          "total": {
            "type": "number"
          },
          "totaltax": {
            "type": "number"
          },
          "taxcode": {
            "type": "string"
          },
          "taxrate": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          }
        }
      },
      "LinkedPaymentv1": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "Messages": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "example": []
      },
      "MetaObject": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "integer",
            "description": "The time (in epoch) that the response was returned",
            "example": 1695766710
          },
          "items_page": {
            "type": "integer",
            "description": "The current page number",
            "example": 1
          },
          "items_page_total": {
            "type": "integer",
            "description": "The total number of pages",
            "example": 191
          },
          "items_page_size": {
            "type": "integer",
            "description": "The total number of records contained per page",
            "nullable": true,
            "example": 1
          },
          "items_total": {
            "type": "integer",
            "description": "The total number of records",
            "nullable": true,
            "example": 29
          },
          "transaction_id": {
            "type": "string",
            "description": "A unique identifier for the API request/response transaction",
            "example": "c780c14f01293932e1d1f16db7bfe017a6f02eb6e33bb6dc13944fe07cb6a85c"
          }
        },
        "description": "Data transfer object to represent pagination metadata of a particular collection of records\n\nThe pagination data can be set by mapping a laravel pagination collection to a DTO collection,\nor can be added to a collection manually\n\nGives information on which page of data the API user is looking at\nand other important information that will help them navigate the data"
      },
      "Metav1": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string"
          },
          "items_page": {
            "type": "string"
          },
          "items_page_total": {
            "type": "string"
          },
          "items_page_size": {
            "type": "string"
          },
          "items_total": {
            "type": "string"
          }
        }
      },
      "Payment": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Payment amount",
            "example": 57.5
          },
          "method": {
            "type": "integer",
            "description": "Payment method",
            "example": 5
          },
          "date": {
            "type": "integer",
            "description": "Payment date timestamp",
            "example": 1729542303
          },
          "details": {
            "type": "string",
            "description": "Payment details",
            "example": "Payment allocation test"
          },
          "outstanding": {
            "type": "number",
            "format": "float",
            "description": "Outstanding amount",
            "example": 0
          },
          "allocated": {
            "type": "number",
            "format": "float",
            "description": "Allocated amount",
            "example": 57.5
          },
          "comments": {
            "type": "string",
            "description": "Additional comments",
            "example": ""
          },
          "client_contact": {
            "type": "integer",
            "description": "Client contact ID",
            "example": 7
          },
          "ledger_account": {
            "type": "integer",
            "description": "Ledger account ID",
            "example": 8
          },
          "cash_amount": {
            "type": "number",
            "format": "float",
            "description": "Cash amount",
            "example": 57.5
          },
          "cash_change": {
            "type": "number",
            "format": "float",
            "description": "Cash change amount",
            "example": 0
          },
          "rounding_factor": {
            "type": "number",
            "format": "float",
            "description": "Rounding factor",
            "example": 0.1
          },
          "status": {
            "type": "string",
            "description": "Payment status",
            "example": "accepted"
          },
          "ownership_id": {
            "type": "integer",
            "description": "Ownership ID",
            "example": 4
          },
          "allocations": {
            "type": "array",
            "description": "List of allocations",
            "items": {
              "type": "object",
              "properties": {
                "invoice_id": {
                  "type": "integer",
                  "description": "Invoice ID",
                  "example": 75
                },
                "amount": {
                  "type": "number",
                  "format": "float",
                  "description": "Allocated amount",
                  "example": 57.5
                }
              }
            }
          }
        }
      },
      "ResourceObject": {
        "type": "object",
        "description": "Defines the resource objects for different resource types",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID number used by the system to uniquely identify a record",
            "example": "1"
          },
          "active": {
            "type": "string",
            "description": "If true, the record is active and usable in ezyVet",
            "example": "true"
          },
          "created_at": {
            "type": "string",
            "description": "The epoch time when the record was created",
            "example": "1307487862"
          },
          "modified_at": {
            "type": "string",
            "description": "The epoch time when the record was last modified",
            "example": "1363044343"
          }
        }
      }
    }
  },
  "paths": {
    "/v1/billingcredit": {
      "get": {
        "summary": "Fetch a BillingCredit",
        "operationId": "get-billingcredit",
        "tags": [
          "Billing Credit"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify a BillingCredit.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the BillingCredit is active and visible in ezyVet.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the BillingCredit was created.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the BillingCredit was last modified.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wellness_plan_id",
            "in": "query",
            "description": "The ID of the Wellness Plan the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wellness_plan_benefit_id",
            "in": "query",
            "description": "The ID of the Wellness Plan Benefit the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wellness_plan_membership_id",
            "in": "query",
            "description": "The ID of the Wellness Plan Membership the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wellness_plan_membership_status_period_id",
            "in": "query",
            "description": "The ID of the Wellness Plan Membership Status Period the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "associated_type",
            "in": "query",
            "description": "The name of the record type the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "associated_id",
            "in": "query",
            "description": "The ID of the record the BillingCredit is associated with.",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A BillingCredit object",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "billingcredit": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "available_associated_type": {
                                "type": "string",
                                "enum": [
                                  "animal",
                                  "contact"
                                ]
                              },
                              "available_associated_id": {
                                "type": "number"
                              },
                              "wellness_plan_id": {
                                "type": "number"
                              },
                              "wellness_plan_benefit_id": {
                                "type": "number"
                              },
                              "wellness_plan_membership_id": {
                                "type": "number"
                              },
                              "wellness_plan_membership_status_period_id": {
                                "type": "number"
                              },
                              "associated_type": {
                                "type": "string"
                              },
                              "associated_id": {
                                "type": "number"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "quantity",
                                  "value"
                                ]
                              },
                              "amount": {
                                "type": "number"
                              },
                              "wasted": {
                                "type": "number"
                              },
                              "used": {
                                "type": "number"
                              },
                              "start_date": {
                                "type": "number"
                              },
                              "expires_in_unit": {
                                "type": "string",
                                "enum": [
                                  "year",
                                  "month",
                                  "week",
                                  "day"
                                ]
                              },
                              "expires_in_qty": {
                                "type": "number"
                              },
                              "end_date": {
                                "type": "number"
                              },
                              "wellness_plan_membership_cycle_id": {
                                "type": "number"
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {}
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-billingcredit"
            ]
          }
        ]
      }
    },
    "/v1/invoice": {
      "get": {
        "summary": "Fetches a list containing Invoice(s).",
        "operationId": "get-invoice",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "animal_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the Animal associated with the Invoice."
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The ID number used by the system to uniquely identify an Invoice."
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "If true, the Invoice is active and usable in ezyVet."
          },
          {
            "name": "created_at",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time when the Invoice was created."
          },
          {
            "name": "modified_at",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time when the Invoice was last modified."
          },
          {
            "name": "ownership_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The ID of the Ownership Separation to which this Invoice belongs."
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The auto-generated code of the Invoice. Cannot be modified."
          },
          {
            "name": "subtotal",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The sum of all InvoiceLines totals exclusive of tax (up to 2 decimal places)."
          },
          {
            "name": "tax",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The sum of all InvoiceLines tax amounts (up to 2 decimal places)."
          },
          {
            "name": "contact_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Required. The ID of the Contact associated with the Invoice."
          },
          {
            "name": "consult_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The ID of the Consult associated with the Invoice."
          },
          {
            "name": "payment_terms_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The ID for the PaymentTerm of the Invoice."
          },
          {
            "name": "includes_tax",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "If true, the InvoiceLine totals were calculated from prices that include tax. If false, the InvoiceLine totals were calculated from prices that exclude tax."
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time of the Invoice transaction date."
          },
          {
            "name": "date_due",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time of when the Invoice transaaction is due for payment."
          },
          {
            "name": "customer_reference_number",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Customer reference number for the Invoice."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string",
              "default": 10
            },
            "description": "Sets the limit on the number of items returned (range: 1 - 50)"
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string",
              "default": 1
            },
            "description": "Specifies the page number of the result."
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Invoices.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceListResponsev1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-invoice"
            ]
          }
        ]
      }
    },
    "/v1/invoiceline": {
      "get": {
        "summary": "Fetches the InvoiceLines for the given Invoice (id=9).",
        "operationId": "get-invoiceline",
        "tags": [
          "Invoice Line"
        ],
        "parameters": [
          {
            "name": "invoice_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownership_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "staff_user_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tax_code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of InvoiceLines.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoiceline": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "name": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "string"
                              },
                              "staff_user_id": {
                                "type": "string"
                              },
                              "invoice_id": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "string"
                              },
                              "discount": {
                                "type": "string"
                              },
                              "price": {
                                "type": "string"
                              },
                              "price_tax": {
                                "type": "string"
                              },
                              "standard_price": {
                                "type": "string"
                              },
                              "standard_price_tax": {
                                "type": "string"
                              },
                              "total": {
                                "type": "string"
                              },
                              "total_tax": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "tax_code": {
                                "type": "string"
                              },
                              "tax_percent": {
                                "type": "string"
                              },
                              "ownership_id": {
                                "type": "string"
                              },
                              "location_id": {
                                "type": "string"
                              },
                              "consult_id": {
                                "type": "string"
                              },
                              "animal_id": {
                                "type": "string"
                              },
                              "date": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-invoiceline"
            ]
          }
        ]
      }
    },
    "/v1/payment": {
      "get": {
        "summary": "Fetch a Payment list",
        "operationId": "get-payment",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify a Payment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the Payment was created.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the Payment was last modified.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the Payment is active and usable in ezyVet.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownership_id",
            "in": "query",
            "description": "The ID of the ownership Separation to which this Payment belongs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "description": "The amount of the Payment. This is the total amount that was paid in the Payment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "method",
            "in": "query",
            "description": "The PaymentMethod used to make the Payment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "details",
            "in": "query",
            "description": "Any details regarding the Payment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "The date on which the Payment was made.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "comments",
            "in": "query",
            "description": "Any comments associated to the Payment.",
            "schema": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "available",
            "in": "query",
            "description": "Any surplus Payment amount. Happens when the amount paid was greater than the amount due.",
            "schema": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "allocated",
            "in": "query",
            "description": "The portion of the Payment that was allocated against an Invoice or the like.",
            "schema": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "description": "The ID of the Client that made the Payment.",
            "schema": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "cash_amount",
            "in": "query",
            "description": "The amount paid in cash.",
            "schema": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "cash_change",
            "in": "query",
            "description": "The amount of change produced from a cash Payment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rounding_factor",
            "in": "query",
            "description": "The denomination to which the Payment is rounded.",
            "schema": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "The status of the Payment. E.g. Accepted, Declined etc.",
            "schema": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The number of results to return (up to 10).",
            "schema": {
              "type": "number",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list containing Payments.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "timestamp": {
                          "type": "string"
                        },
                        "items_page": {
                          "type": "string"
                        },
                        "items_page_total": {
                          "type": "string"
                        },
                        "items_page_size": {
                          "type": "string"
                        },
                        "items_total": {
                          "type": "string"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "payment": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "created_at": {
                                "type": "string"
                              },
                              "modified_at": {
                                "type": "string"
                              },
                              "active": {
                                "type": "string"
                              },
                              "ownership_id": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "method": {
                                "type": "string"
                              },
                              "details": {
                                "type": "string"
                              },
                              "date": {
                                "type": "string"
                              },
                              "comments": {
                                "type": "string"
                              },
                              "available": {
                                "type": "string"
                              },
                              "allocated": {
                                "type": "string"
                              },
                              "client_id": {
                                "type": "string"
                              },
                              "cash_amount": {
                                "type": "string"
                              },
                              "cash_change": {
                                "type": "string"
                              },
                              "rounding_factor": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "linked_invoices": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "allocated_amount": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-payment"
            ]
          }
        ]
      }
    },
    "/v1/paymentmethod": {
      "get": {
        "summary": "Fetch a PaymentMethod list",
        "operationId": "get-paymentmethod",
        "tags": [
          "Payment Method"
        ],
        "description": "Fetches a list containing PaymentMethod(s) (up to 10).",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The ID number used by the system to uniquely identify a PaymentMethod."
          },
          {
            "name": "created_at",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time when the PaymentMethod was created."
          },
          {
            "name": "modified_at",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The epoch time when the PaymentMethod was last modified."
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "If true, the PaymentMethod is active and usable in ezyVet."
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The name of the PaymentMethod."
          },
          {
            "name": "uses_eftpos_machine",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "If true, the PaymentMethod uses an eftpos machine."
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The type of the PaymentMethod. E.g. 'Direct'."
          },
          {
            "name": "commission_rate",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The commission rate of the PaymentMethod."
          },
          {
            "name": "surcharge_amount",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The surcharge amount of the PaymentMethod."
          },
          {
            "name": "surcharge_type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The type of the surcharge."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "timestamp": {
                          "type": "string"
                        },
                        "items_page": {
                          "type": "string"
                        },
                        "items_page_total": {
                          "type": "string"
                        },
                        "items_page_size": {
                          "type": "string"
                        },
                        "items_total": {
                          "type": "string"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "paymentmethod": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "created_at": {
                                "type": "string"
                              },
                              "modified_at": {
                                "type": "string"
                              },
                              "active": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "uses_eftpos_machine": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string"
                              },
                              "commission_rate": {
                                "type": "string"
                              },
                              "surcharge_amount": {
                                "type": "string"
                              },
                              "surcharge_type": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-paymentmethod"
            ]
          }
        ]
      }
    },
    "/v1/priceadjustment": {
      "get": {
        "summary": "Fetches a list of Price Adjustments",
        "operationId": "get-priceadjustment",
        "tags": [
          "Price Adjustment"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify a Price Adjustment.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the Price Adjustment is applied to the associated record.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "The type of adjustment. Can be one of: User, Credit, Rounding, Discount, Surcharge.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "associated_type",
            "in": "query",
            "description": "The type of record that was adjusted. Can be one of: InvoiceExpense, WellnessPlanMembership.",
            "schema": {
              "type": "string",
              "enum": [
                "InvoiceExpense",
                "WellnessPlanMembership"
              ]
            }
          },
          {
            "name": "associated_id",
            "in": "query",
            "description": "The associated_type records ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "triggering_type",
            "in": "query",
            "description": "The type of record that triggered the Price Adjustment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "triggering_id",
            "in": "query",
            "description": "The triggering_type records ID.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "wellness_plan_id",
            "in": "query",
            "description": "The ID of the related Wellness Plan.",
            "schema": {
              "type": "number",
              "nullable": true,
              "default": null
            }
          },
          {
            "name": "wellness_plan_benefit_id",
            "in": "query",
            "description": "The ID of the related Wellness Plan Benefit.",
            "schema": {
              "type": "number",
              "nullable": true,
              "default": null
            }
          },
          {
            "name": "wellness_plan_membership_id",
            "in": "query",
            "description": "The ID of the related Wellness Plan Membership.",
            "schema": {
              "type": "number",
              "nullable": true,
              "default": null
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Price Adjustments with metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "priceadjustment": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "User",
                                  "Credit",
                                  "Rounding",
                                  "Discount",
                                  "Surcharge"
                                ]
                              },
                              "adjustment_method": {
                                "type": "string"
                              },
                              "adjustment_amount": {
                                "type": "number"
                              },
                              "associated_type": {
                                "type": "string",
                                "enum": [
                                  "InvoiceExpense",
                                  "WellnessPlanMembership"
                                ]
                              },
                              "associated_id": {
                                "type": "string"
                              },
                              "triggering_type": {
                                "type": "string"
                              },
                              "triggering_id": {
                                "type": "number"
                              },
                              "description": {
                                "type": "string"
                              },
                              "total_change": {
                                "type": "number"
                              },
                              "total_change_tax": {
                                "type": "number"
                              },
                              "total_earned": {
                                "type": "number"
                              },
                              "total_earned_tax": {
                                "type": "number"
                              },
                              "consuming": {
                                "type": "boolean"
                              },
                              "wellnessplan_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "wellnessplan_benefit_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "wellnessplan_membership_id": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-priceadjustment"
            ]
          }
        ]
      }
    },
    "/v2/estimate": {
      "get": {
        "summary": "Fetches a list containing estimates.",
        "operationId": "get-estimate",
        "tags": [
          "Estimate"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an Estimate.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the Estimate is active and usable in ezyVet.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the Estimate was created.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the Estimate was last modified.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "The epoch time of when the Estimate was last updated by the insurer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "animal_id",
            "in": "query",
            "description": "The ID of the Animal associated with Estimate.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "contact_id",
            "in": "query",
            "description": "The ID of the Contact associated with Estimate.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list containing estimates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateListResponsev1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-estimate"
            ]
          }
        ]
      }
    },
    "/v2/invoice": {
      "post": {
        "summary": "Create an Invoice (V2)",
        "description": "Creates a single [`Invoice`](#invoice-v2).",
        "operationId": "create-invoicev2",
        "tags": [
          "Invoice V2"
        ],
        "security": [
          {
            "bearerAuth": [
              "write-invoice"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contact_id": {
                    "type": "number"
                  },
                  "animal_id": {
                    "type": "number"
                  },
                  "ownership_id": {
                    "type": "number"
                  },
                  "line_item": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/InvoiceLinev1"
                    }
                  },
                  "consult_id": {
                    "type": "number"
                  },
                  "includes_tax": {
                    "type": "boolean"
                  },
                  "date": {
                    "type": "number"
                  },
                  "date_due": {
                    "type": "number"
                  },
                  "date_approved": {
                    "type": "number",
                    "default": 0
                  },
                  "customer_reference_number": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "default": null
                  }
                },
                "required": [
                  "contact_id",
                  "ownership_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "$ref": "#/components/schemas/Metav1"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InvoiceResponseItemv1"
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Fetch an Invoice list",
        "operationId": "get-invoicev2",
        "security": [
          {
            "bearerAuth": [
              "read-invoice"
            ]
          }
        ],
        "tags": [
          "Invoice V2"
        ],
        "description": "Fetches a list containing `Invoice`(s). (up to 10)",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an `Invoice`.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the `Invoice` was created.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the `Invoice` was last modified.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the `Invoice` is active and usable in ezyVet.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "The auto-generated code of the `Invoice`. Cannot be modified.",
            "schema": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          {
            "name": "animal_id",
            "in": "query",
            "description": "The ID of the `Animal` associated with the `Invoice`.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "consult_id",
            "in": "query",
            "description": "The ID of the `Consult` associated with the `Invoice`.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "contact_id",
            "in": "query",
            "description": "The ID of the `Contact` associated with the `Invoice`.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "The epoch time of the `Invoice` transaction date.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "date_due",
            "in": "query",
            "description": "The epoch time of when the `Invoice` transaction is due for payment.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "date_approved",
            "in": "query",
            "description": "The epoch time of when the `Invoice` transaction is approved.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "approved_by",
            "in": "query",
            "description": "The ID of the `User` that approved the `Invoice`.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoice": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "ownership_id": {
                                "type": "number"
                              },
                              "created_by": {
                                "type": "number"
                              },
                              "modified_by": {
                                "type": "number"
                              },
                              "code": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "number"
                                  }
                                ]
                              },
                              "animal_id": {
                                "type": "number"
                              },
                              "consult_id": {
                                "type": "string",
                                "nullable": true
                              },
                              "contact_id": {
                                "type": "number"
                              },
                              "subtotal": {
                                "type": "number"
                              },
                              "tax": {
                                "type": "number"
                              },
                              "includes_tax": {
                                "type": "boolean"
                              },
                              "payment_terms_id": {
                                "type": "number"
                              },
                              "date": {
                                "type": "number"
                              },
                              "date_due": {
                                "type": "number"
                              },
                              "date_approved": {
                                "type": "number"
                              },
                              "approved_by": {
                                "type": "number"
                              },
                              "customer_reference_number": {
                                "type": "string",
                                "nullable": true
                              },
                              "line_item": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "created_at": {
                                      "type": "number"
                                    },
                                    "modified_at": {
                                      "type": "number"
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "product_id": {
                                      "type": "number"
                                    },
                                    "sales_person": {
                                      "type": "number"
                                    },
                                    "quantity": {
                                      "type": "number"
                                    },
                                    "discount": {
                                      "type": "number"
                                    },
                                    "price": {
                                      "type": "number"
                                    },
                                    "price_tax": {
                                      "type": "number"
                                    },
                                    "standard_price": {
                                      "type": "number"
                                    },
                                    "standard_price_tax": {
                                      "type": "number"
                                    },
                                    "total": {
                                      "type": "number"
                                    },
                                    "total_tax": {
                                      "type": "number"
                                    },
                                    "status": {
                                      "type": "string"
                                    },
                                    "tax_code": {
                                      "type": "string"
                                    },
                                    "tax_percent": {
                                      "type": "number"
                                    },
                                    "ownership_id": {
                                      "type": "number"
                                    },
                                    "location_id": {
                                      "type": "number"
                                    },
                                    "ledger_account": {
                                      "type": "number"
                                    },
                                    "group_id": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "financials": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "linked_payments": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "string"
                                          },
                                          "amount": {
                                            "type": "number"
                                          },
                                          "type": {
                                            "type": "string"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/invoice/{id}": {
      "delete": {
        "summary": "Deletes a Invoice",
        "operationId": "delete-invoicev2",
        "tags": [
          "Invoice V2"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID number used by the system to uniquely identify an Invoice.",
            "required": true,
            "schema": {
              "type": "number"
            }
          }
        ],
        "security": [
          {
            "bearerAuth": [
              "write-invoice"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful deletion of the Invoice",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_processed": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoice": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "created_by": {
                                "type": "number"
                              },
                              "modified_by": {
                                "type": "number"
                              },
                              "code": {
                                "oneOf": [
                                  {
                                    "type": "number"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "ownership_id": {
                                "type": "number"
                              },
                              "animal_id": {
                                "type": "number"
                              },
                              "consult_id": {
                                "type": "number"
                              },
                              "contact_id": {
                                "type": "number"
                              },
                              "subtotal": {
                                "type": "number"
                              },
                              "tax": {
                                "type": "number"
                              },
                              "includes_tax": {
                                "type": "boolean"
                              },
                              "payment_terms_id": {
                                "type": "number"
                              },
                              "date": {
                                "type": "number"
                              },
                              "date_due": {
                                "type": "number"
                              },
                              "date_approved": {
                                "type": "number"
                              },
                              "approved_by": {
                                "type": "number"
                              },
                              "customer_reference_number": {
                                "oneOf": [
                                  {
                                    "type": "number"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "line_item": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "created_at": {
                                      "type": "number"
                                    },
                                    "modified_at": {
                                      "type": "number"
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "product_id": {
                                      "type": "number"
                                    },
                                    "sales_person": {
                                      "type": "number"
                                    },
                                    "quantity": {
                                      "type": "number"
                                    },
                                    "discount": {
                                      "type": "number"
                                    },
                                    "price": {
                                      "type": "number"
                                    },
                                    "price_tax": {
                                      "type": "number"
                                    },
                                    "standard_price": {
                                      "type": "number"
                                    },
                                    "standard_price_tax": {
                                      "type": "number"
                                    },
                                    "total": {
                                      "type": "number"
                                    },
                                    "total_tax": {
                                      "type": "number"
                                    },
                                    "status": {
                                      "type": "string"
                                    },
                                    "tax_code": {
                                      "type": "string"
                                    },
                                    "tax_percent": {
                                      "type": "number"
                                    },
                                    "ownership_id": {
                                      "type": "number"
                                    },
                                    "location_id": {
                                      "type": "number"
                                    },
                                    "ledger_account": {
                                      "type": "number"
                                    },
                                    "group_id": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Invoice not found"
          }
        }
      },
      "patch": {
        "summary": "Update an Invoice",
        "operationId": "update-invoicev2",
        "tags": [
          "Invoice V2"
        ],
        "description": "Update a single Invoice.",
        "security": [
          {
            "bearerAuth": [
              "write-invoice"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an Invoice.",
            "required": true,
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "animal_id": {
                    "type": "number"
                  },
                  "consult_id": {
                    "type": "number"
                  },
                  "contact_id": {
                    "type": "number"
                  },
                  "includes_tax": {
                    "type": "boolean"
                  },
                  "date": {
                    "type": "number"
                  },
                  "date_due": {
                    "type": "number"
                  },
                  "date_approved": {
                    "type": "number"
                  },
                  "customer_reference_number": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoice": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "ownership_id": {
                                "type": "number"
                              },
                              "created_by": {
                                "type": "number"
                              },
                              "modified_by": {
                                "type": "number"
                              },
                              "code": {
                                "oneOf": [
                                  {
                                    "type": "number"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "animal_id": {
                                "type": "number"
                              },
                              "consult_id": {
                                "type": "number"
                              },
                              "contact_id": {
                                "type": "number"
                              },
                              "subtotal": {
                                "type": "number"
                              },
                              "tax": {
                                "type": "number"
                              },
                              "includes_tax": {
                                "type": "boolean"
                              },
                              "payment_terms_id": {
                                "type": "number"
                              },
                              "date": {
                                "type": "number"
                              },
                              "date_due": {
                                "type": "number"
                              },
                              "date_approved": {
                                "type": "number"
                              },
                              "approved_by": {
                                "type": "number"
                              },
                              "customer_reference_number": {
                                "type": "string"
                              },
                              "line_item": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "created_at": {
                                      "type": "number"
                                    },
                                    "modified_at": {
                                      "type": "number"
                                    },
                                    "active": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "product_id": {
                                      "type": "number"
                                    },
                                    "sales_person": {
                                      "type": "number"
                                    },
                                    "quantity": {
                                      "type": "number"
                                    },
                                    "discount": {
                                      "type": "number"
                                    },
                                    "price": {
                                      "type": "number"
                                    },
                                    "price_tax": {
                                      "type": "number"
                                    },
                                    "standard_price": {
                                      "type": "number"
                                    },
                                    "standard_price_tax": {
                                      "type": "number"
                                    },
                                    "total": {
                                      "type": "number"
                                    },
                                    "total_tax": {
                                      "type": "number"
                                    },
                                    "status": {
                                      "type": "string"
                                    },
                                    "tax_code": {
                                      "type": "string"
                                    },
                                    "tax_percent": {
                                      "type": "number"
                                    },
                                    "ownership_id": {
                                      "type": "number"
                                    },
                                    "location_id": {
                                      "type": "number"
                                    },
                                    "ledger_account": {
                                      "type": "number"
                                    },
                                    "group_id": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/invoiceline": {
      "delete": {
        "summary": "Delete a single InvoiceLine",
        "operationId": "delete-invoicelinev2",
        "tags": [
          "Invoice Line V2"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an InvoiceLine.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_processed": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "items_processed",
                        "transaction_id",
                        "timestamp"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoiceline": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "created_at": {
                                "type": "string"
                              },
                              "modified_at": {
                                "type": "string"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "name": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "string"
                              },
                              "batch": {
                                "type": "string"
                              },
                              "sales_person": {
                                "type": "string"
                              },
                              "invoice_id": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "string"
                              },
                              "discount": {
                                "type": "string"
                              },
                              "price": {
                                "type": "string"
                              },
                              "price_tax": {
                                "type": "string"
                              },
                              "standard_price": {
                                "type": "string"
                              },
                              "standard_price_tax": {
                                "type": "string"
                              },
                              "total": {
                                "type": "string"
                              },
                              "total_tax": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "tax_code": {
                                "type": "string"
                              },
                              "tax_percent": {
                                "type": "string"
                              },
                              "ownership_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "location_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "ledger_account": {
                                "type": "number"
                              },
                              "group_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "type": {
                                "type": "string"
                              },
                              "date": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      },
                      "required": [
                        "invoiceline"
                      ]
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "write-invoiceline"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Update an InvoiceLine",
        "operationId": "update-invoicelinev2",
        "tags": [
          "Invoice Line V2"
        ],
        "description": "Update a single [`InvoiceLine`](#invoiceline-v2)",
        "security": [
          {
            "bearerAuth": [
              "write-invoiceline"
            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an [`InvoiceLine`](#invoiceline-v2).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If **true**, the [`InvoiceLine`](#invoiceline-v2) is active and usable in ezyVet.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "The name or description of the [`InvoiceLine`](#invoiceline-v2). This is usually the name of the [`Product`](#product).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "The ID of the [`Product`](#product) used in the [`InvoiceLine`](#invoiceline-v2).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch",
            "in": "query",
            "description": "The number/lot of the Batch used on the [`InvoiceLine`](#invoiceline-v2).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sales_person",
            "in": "query",
            "description": "The ID of the sales person [`User`](#user) used in the [`InvoiceLine`](#invoiceline-v2). The [`User`](#user) must be marked as a salesperson (`is_salesperson`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "description": "The ID of the [`Invoice`](#invoice-v2) to which this [`InvoiceLine`](#invoiceline-v2) belongs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "The amount of the [`Product`](#product) in this [`InvoiceLine`](#invoiceline-v2) (up to 4 decimal places).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "price",
            "in": "query",
            "description": "The price of the [`InvoiceLine`](#invoiceline-v2) after the discount is applied (up to 4 decimal places).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "price_tax",
            "in": "query",
            "description": "The tax applied to the [`InvoiceLine`](#invoiceline-v2) after the discount is applied (up to 4 decimal places).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "standard_price",
            "in": "query",
            "description": "The standard price of the [`InvoiceLine`](#invoiceline-v2), without taxes and discounts (up to 4 decimal places).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "standard_price_tax",
            "in": "query",
            "description": "The tax to be applied to [`InvoiceLine`](#invoiceline-v2), before taking discounts into account (up to 4 decimal places).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "The status of the [`InvoiceLine`](#invoiceline-v2): `Pending` (initial status), `Allocated` ([`Product`](#product) reserved), `Finalised` ([`Invoice`](#invoice-v2) approved).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tax_code",
            "in": "query",
            "description": "The tax code for the [`InvoiceLine`](#invoiceline-v2).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownership_id",
            "in": "query",
            "description": "The ID of the [`Ownership Separation`](#separation) to which this [`InvoiceLine`](#invoiceline-v2) belongs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "description": "The ID of the [`Location Separation`](#separation) to which this [`InvoiceLine`](#invoiceline-v2) belongs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ledger_account",
            "in": "query",
            "description": "The ID of the [`Ledger Account`](#ledgeraccount) to which this [`InvoiceLine`](#invoiceline-v2) is recorded under.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "active": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "product_id": {
                    "type": "string"
                  },
                  "sales_person": {
                    "type": "string"
                  },
                  "invoice_id": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "string"
                  },
                  "price": {
                    "type": "string"
                  },
                  "price_tax": {
                    "type": "string"
                  },
                  "standard_price": {
                    "type": "string"
                  },
                  "standard_price_tax": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "tax_code": {
                    "type": "string"
                  },
                  "ownership_id": {
                    "type": "string"
                  },
                  "location_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A JSON object containing the updated [`InvoiceLine`](#invoiceline-v2) details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_processed": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoiceline": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "string"
                              },
                              "batch": {
                                "type": "string"
                              },
                              "sales_person": {
                                "type": "string"
                              },
                              "invoice_id": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "string"
                              },
                              "discount": {
                                "type": "string"
                              },
                              "price": {
                                "type": "string"
                              },
                              "price_tax": {
                                "type": "string"
                              },
                              "standard_price": {
                                "type": "string"
                              },
                              "standard_price_tax": {
                                "type": "string"
                              },
                              "total": {
                                "type": "string"
                              },
                              "total_tax": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "tax_code": {
                                "type": "string"
                              },
                              "tax_percent": {
                                "type": "string"
                              },
                              "ownership_id": {
                                "type": "string"
                              },
                              "location_id": {
                                "type": "string"
                              },
                              "ledger_account": {
                                "type": "number"
                              },
                              "group_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "type": {
                                "type": "string"
                              },
                              "date": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {}
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Creates a single InvoiceLine",
        "operationId": "create-invoicelinev2",
        "tags": [
          "Invoice Line V2"
        ],
        "description": "Creates a single [`InvoiceLine`](#invoiceline-v2) and attaches it to the bottom of the referenced invoice.",
        "security": [
          {
            "bearerAuth": [
              "write-invoiceline"
            ]
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "active": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "product_id": {
                    "type": "number"
                  },
                  "sales_person": {
                    "type": "number"
                  },
                  "invoice_id": {
                    "type": "number"
                  },
                  "quantity": {
                    "type": "number"
                  },
                  "price": {
                    "type": "number"
                  },
                  "price_tax": {
                    "type": "number"
                  },
                  "standard_price": {
                    "type": "number"
                  },
                  "standard_price_tax": {
                    "type": "number"
                  },
                  "tax_code": {
                    "type": "string"
                  },
                  "ownership_id": {
                    "type": "number"
                  },
                  "location_id": {
                    "type": "number"
                  },
                  "status": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "product_id",
                  "sales_person",
                  "invoice_id",
                  "quantity",
                  "ownership_id",
                  "location_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoiceline": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "name": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "number"
                              },
                              "batch": {
                                "type": "string",
                                "nullable": true
                              },
                              "sales_person": {
                                "type": "number"
                              },
                              "invoice_id": {
                                "type": "number"
                              },
                              "quantity": {
                                "type": "number"
                              },
                              "discount": {
                                "type": "number"
                              },
                              "price": {
                                "type": "number"
                              },
                              "price_tax": {
                                "type": "number"
                              },
                              "standard_price": {
                                "type": "number"
                              },
                              "standard_price_tax": {
                                "type": "number"
                              },
                              "total": {
                                "type": "number"
                              },
                              "total_tax": {
                                "type": "number"
                              },
                              "status": {
                                "type": "string"
                              },
                              "tax_code": {
                                "type": "string"
                              },
                              "tax_percent": {
                                "type": "number"
                              },
                              "ownership_id": {
                                "type": "number"
                              },
                              "location_id": {
                                "type": "number"
                              },
                              "ledger_account": {
                                "type": "number"
                              },
                              "group_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "type": {
                                "type": "string"
                              },
                              "date": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Fetches the InvoiceLine(s) for a given Invoice.",
        "operationId": "get-invoicelinev2",
        "security": [
          {
            "bearerAuth": [
              "read-invoiceline"
            ]
          }
        ],
        "tags": [
          "Invoice Line V2"
        ],
        "parameters": [
          {
            "name": "invoice_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sales_person",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tax_code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownership_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of InvoiceLines.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "invoiceline": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "name": {
                                "type": "string"
                              },
                              "product_id": {
                                "type": "number"
                              },
                              "batch": {
                                "type": "number"
                              },
                              "sales_person": {
                                "type": "number"
                              },
                              "invoice_id": {
                                "type": "number"
                              },
                              "quantity": {
                                "type": "number"
                              },
                              "discount": {
                                "type": "number"
                              },
                              "price": {
                                "type": "number"
                              },
                              "price_tax": {
                                "type": "number"
                              },
                              "standard_price": {
                                "type": "number"
                              },
                              "standard_price_tax": {
                                "type": "number"
                              },
                              "total": {
                                "type": "number"
                              },
                              "total_tax": {
                                "type": "number"
                              },
                              "status": {
                                "type": "string"
                              },
                              "tax_code": {
                                "type": "string"
                              },
                              "tax_percent": {
                                "type": "number"
                              },
                              "ownership_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "location_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "ledger_account": {
                                "type": "number"
                              },
                              "group_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "type": {
                                "type": "string"
                              },
                              "date": {
                                "type": "number",
                                "nullable": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/ledgeraccount/{id}": {
      "get": {
        "summary": "Fetch a Ledger Account by ID",
        "operationId": "get-ledgeraccount",
        "tags": [
          "Ledger Account"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID number used by the system to uniquely identify a Ledger Account.",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "items_page",
            "in": "query",
            "description": "The page number for pagination.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "items_page_size",
            "in": "query",
            "description": "The number of items per page.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "ledgeraccount": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "code": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-ledgeraccount"
            ]
          }
        ]
      }
    },
    "/v2/payment": {
      "get": {
        "operationId": "get-paymentv2",
        "security": [
          {
            "bearerAuth": [
              "read-payment"
            ]
          }
        ],
        "tags": [
          "Payment V2"
        ],
        "summary": "Get payments",
        "parameters": [
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/active"
          },
          {
            "$ref": "#/components/parameters/created_at"
          },
          {
            "$ref": "#/components/parameters/modified_at"
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The amount of the payment in dollars.",
            "example": 100
          },
          {
            "name": "method",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The ID of the payment method for which the payment was captured.",
            "example": 5
          },
          {
            "name": "client_contact",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The ID of the contact record for which the payment should be assigned.",
            "example": 323
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The status of the payment.",
            "example": "accepted"
          },
          {
            "name": "ownership_id",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The ID of the separation where the payment was taken.",
            "example": 5
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The date when the payment was taken (in epoch time)",
            "example": 1671477420
          },
          {
            "name": "details",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Details associated with the payment.",
            "example": ""
          },
          {
            "name": "comments",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comments associated with the payment.",
            "example": ""
          },
          {
            "name": "cash_amount",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The amount paid in cash.",
            "example": "45.00"
          },
          {
            "name": "cash_change",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The amount of change given in cash.",
            "example": 0
          },
          {
            "name": "rounding_factor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "The denomination to which the Payment is rounded.",
            "example": "0.10",
            "required": false
          },
          {
            "name": "allocated",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "The amount allocated to an invoice.",
            "example": 45
          }
        ],
        "responses": {
          "200": {
            "description": "Gets a payment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "$ref": "#/components/schemas/MetaObject"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "payment": {
                            "allOf": [
                              {
                                "$ref": "#/components/schemas/ResourceObject"
                              },
                              {
                                "$ref": "#/components/schemas/Payment"
                              }
                            ]
                          }
                        }
                      }
                    },
                    "messages": {
                      "$ref": "#/components/schemas/Messages"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntity"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/v2/taxrate": {
      "get": {
        "summary": "Fetches a list containing Tax Rates.",
        "operationId": "get-taxrate",
        "tags": [
          "Tax Rate"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify a Tax Rate.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the Tax Rate was created.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the Tax Rate was last modified.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the Tax Rate is active and usable in ezyVet.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Tax Rates.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "taxrate": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "code": {
                                "type": "string"
                              },
                              "rate": {
                                "type": "number"
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {}
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-taxrate"
            ]
          }
        ]
      }
    },
    "/v2/transaction": {
      "get": {
        "summary": "Fetch a list of Transactions",
        "operationId": "get-transaction",
        "tags": [
          "Transaction"
        ],
        "description": "Fetches a list containing Transactions",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID number used by the system to uniquely identify an Transaction.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "The epoch time when the Transaction was created.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "modified_at",
            "in": "query",
            "description": "The epoch time when the Transaction was last modified.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "If true, the Transaction is active and usable in ezyVet.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "payment_id",
            "in": "query",
            "description": "The ID of the associated Payment linked to this Transaction.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ownership_id",
            "in": "query",
            "description": "The ID of the Ownership Separation to which this Transaction belongs.",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Transactions with additional meta information.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "meta": {
                      "type": "object",
                      "properties": {
                        "items_page": {
                          "type": "number"
                        },
                        "items_page_total": {
                          "type": "number"
                        },
                        "items_page_size": {
                          "type": "number"
                        },
                        "items_total": {
                          "type": "number"
                        },
                        "transaction_id": {
                          "type": "string"
                        },
                        "timestamp": {
                          "type": "number"
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "transaction": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "created_at": {
                                "type": "number"
                              },
                              "modified_at": {
                                "type": "number"
                              },
                              "active": {
                                "type": "boolean"
                              },
                              "ownership_id": {
                                "type": "number"
                              },
                              "payment_id": {
                                "type": "number"
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "Declined",
                                  "Accepted",
                                  "Canceled",
                                  "Capture",
                                  "Initiated",
                                  "Error"
                                ]
                              },
                              "integration_name": {
                                "type": "string"
                              },
                              "external_reference": {
                                "type": "string"
                              },
                              "external_id": {
                                "type": "number"
                              }
                            }
                          }
                        }
                      }
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "error_3YLvb0V7eXcHqgGauTjDy"
                          },
                          "status": {
                            "type": "string",
                            "example": "400"
                          },
                          "code": {
                            "type": "string",
                            "example": "100001"
                          },
                          "title": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          },
                          "detail": {
                            "type": "string",
                            "example": "The authorization grant type is not supported by the authorization server."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "messages": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "level": {
                            "type": "string",
                            "example": "error"
                          },
                          "type": {
                            "type": "string",
                            "example": "InvalidRequestException"
                          },
                          "text": {
                            "type": "string",
                            "example": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \\\"access token\\\" parameter."
                          },
                          "fields": {
                            "type": "array",
                            "example": [],
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "No input file specified."
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "422"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Unprocessable Entity"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "429"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "Too Many Requests"
                    },
                    "detail": {
                      "type": "string",
                      "example": "Too Many Requests"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "error_5JBMuXC69QQoPpKDFoBow"
                    },
                    "status": {
                      "type": "string",
                      "example": "500"
                    },
                    "code": {
                      "type": "string",
                      "example": ""
                    },
                    "title": {
                      "type": "string",
                      "example": "An internal server error occurred"
                    },
                    "detail": {
                      "type": "string",
                      "example": "An error occured, please contact API support with the id, status and code provided with the response."
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read-transaction"
            ]
          }
        ]
      }
    }
  }
}
