Shepherd Veterinary Software Product Tax Rate Product API

The ProductTaxRateProduct API from Shepherd Veterinary Software — 1 operation(s) for producttaxrateproduct.

Operations 1

POST /pav2/open-api-product-tax-rate-product Retrieves {OpenApiProductTaxRateProductController.ProductTaxRateProduct}… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/shepherd-vet:shepherd-vet-producttaxrateproduct-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

shepherd-vet-producttaxrateproduct-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Shepherd Open API (v2.248.0.39) Product Tax Rate Product API
  description: 'Production Base URL: https://open-api.shepherd.vet/pav2/


    Production App URL: https://app.shepherd.vet/


    Production Documentation URL: https://app.shepherd.vet/swagger/


    Sandbox Base URL: https://demo-open-api.shepherd.vet/pav2/


    Sandbox App URL: https://demo.shepherd.vet/


    Sandbox Documentation URL: https://demo.shepherd.vet/swagger


    Authorization: The integration is authorized by providing two headers in the API call


    X-Integration-Private-Key - this contains the private key from your credentials

    X-Integration-Public-Key - this contains the public key from your credentials


    Additionally, for all requests other than Clinic, the X-Clinic-Id header must be provided with the value of the clinic entity id for which you are running the API requests. You can get the entity id by calling the Clinic endpoint. If authorization fails, the request returns HTTP status 401 and the response body is one of the messages below. Missing X-Integration-Public-Key header - the public key header is absent from the request. Missing X-Integration-Private-Key header - the private key header is absent from the request. Missing X-Clinic-Id header - the clinic identifier header is absent, and the endpoint is clinic scoped. Incorrect API keys provided - both key headers were supplied, but the public key matches no integration, or the private key is not valid for that integration. Integration not enabled for the provided clinic - the key pair is valid, but the integration is not enabled and active for the clinic supplied in X-Clinic-Id. NEW: Each API call will count against your RPH and RPM limits. Once you exhaust those limits, requests will start returning HTTP status 429. The RPH is set to 12000 and RPM to 800 (subject to change). Where an endpoint supports searchQuery, a query longer than 500 characters may return HTTP status 400 with ERROR_MESSAGES.SEARCH_PHRASE.TOO_LONG, and a query with more than 10 words may return HTTP status 400 with ERROR_MESSAGES.SEARCH_PHRASE.TOO_MANY_PHRASES. NOTE: Since this API is WIP, we would be happy to hear any feedback and to implement additional filtering/sorting options etc. **Endpoints:

    All endpoints are POST requests that accept JSON bodies. The common request properties for all endpoints are:**


    rpp::int - The number of items to return per page. The max is 1000. Defaults to 10. page::int - The page number. Defaults to 1. sort::string - Which field to sort by. Needs to be in "field|order" format, where order is either "asc" or "desc". All top-level properties should be sortable, only some nested-fields work and you should probably not use them until this API reaches production and we settle on which nested-field sortings we will support. Default depends on endpoint, usually "id|asc". embed::string - Comma-separated values for nested-fields you want to fetch (eg. "clientPhones,clientPhones.phoneType" on Client endpoint). If a specific embed is not requested, the response will contain either null or an empty array for that value. No default. dateCreatedFrom::date

    dateCreatedTo::date

    dateUpdatedFrom::date

    dateUpdatedTo::date

    - Date range filters for either the creation date or last update date. - You can pass in either one end or both of them. *


    * Only the date filters listed on an endpoint''s request model are supported; sending another one, or a ''From'' later than its ''To'', returns HTTP status 400. The request responses will come back as a JSON object. The common response properties for all endpoints are:


    embed::string - Lists the embed used in the request. This may sometimes be different from what you sent in, if in the future we add that some embeds get set automatically on certain endpoints

    links::object[] - Always empty, a leftover from the internal framework we use on our web API. Will be removed in the future if possible so do not rely on this

    page::int - Which page was fetched.'
servers:
- url: https://open-api.shepherd.vet
tags:
- name: ProductTaxRateProduct
paths:
  /pav2/open-api-product-tax-rate-product:
    post:
      tags:
      - ProductTaxRateProduct
      summary: Retrieves {OpenApiProductTaxRateProductController.ProductTaxRateProduct}…
      description: 'Example Request

        {

        "isDeleted": false

        }


        Example Response

        {

        "embed": null,

        "item": [

        {

        "clinicId": "8f7a2b1c-4d5e-678f-90ab-1c2d3e4f5a6b",

        "clinicProduct": null,

        "clinicProductId": null,

        "groupId": "9c8b7a6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",

        "product": null,

        "productId": "1a2b3c4d-5e6f-7081-92ab-c3d4e5f67890",

        "productTaxRate": {

        "name": "Tax2",

        "taxRate": 6,

        "dateCreated": "2025-08-04T10:21:07.173663Z",

        "dateUpdated": "2025-08-04T10:21:14.334411Z",

        "id": "7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e"

        },

        "productTaxRateId": "7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e",

        "dateCreated": "2025-08-04T10:24:00.370102Z",

        "dateUpdated": "2025-08-04T10:24:00.457004Z",

        "id": "6f5e4d3c-2b1a-0987-6543-21f0e9d8c7b6"

        }

        ],

        "links": [],

        "page": 1,

        "recordsPerPage": 10,

        "searchQuery": null,

        "sort": null,

        "totalRecords": 1

        }'
      operationId: OpenApiProductTaxRateProuctGet
      parameters:
      - name: x-integration-public-key
        in: header
        description: Your public API key
        required: true
        schema:
          type: string
      - name: x-integration-private-key
        in: header
        description: Your private API key
        required: true
        schema:
          type: string
      - name: x-clinic-id
        in: header
        description: The clinic uuid identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A paged collection of product tax rate to product assignments matching the supplied search criteria.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RESTCollectionModelBase_OpenApiProductTaxRateProductController.ProductTaxRateProduct'
            text/json:
              schema:
                $ref: '#/components/schemas/RESTCollectionModelBase_OpenApiProductTaxRateProductController.ProductTaxRateProduct'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/RESTCollectionModelBase_OpenApiProductTaxRateProductController.ProductTaxRateProduct'
        '401':
          description: 'Authorization failed. One of: Missing X-Integration-Public-Key header, Missing X-Integration-Private-Key header, Missing X-Clinic-Id header, Incorrect API keys provided, or Integration not enabled for the provided clinic.'
        '429':
          description: Request rate limit exceeded. Please wait before making further requests. Returned once the integration passes its configured hourly or per-minute request allowance.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ProductTaxRateProductFilterModel'
          text/json:
            schema:
              $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ProductTaxRateProductFilterModel'
          application/hal+json:
            schema:
              $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ProductTaxRateProductFilterModel'
        description: The model.
        required: true
components:
  schemas:
    OpenApiProductTaxRateProductController.ProductTaxRate:
      description: ProductTaxRate REST model.
      type: object
      properties:
        name:
          description: Name of product tax rate.
          type: string
        taxRate:
          format: double
          description: Value of product tax rate.
          type: number
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
        id:
          type: string
    RESTCollectionModelBase_OpenApiProductTaxRateProductController.ProductTaxRateProduct:
      type: object
      properties:
        embed:
          type: string
        item:
          type: array
          items:
            $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ProductTaxRateProduct'
        page:
          format: int32
          type: integer
        recordsPerPage:
          format: int32
          type: integer
        searchQuery:
          type: string
        sort:
          type: string
        totalRecords:
          format: int32
          type: integer
    OpenApiProductTaxRateProductController.ClinicProduct:
      description: ClinicProduct REST model
      type: object
      properties:
        administrationPeriodId:
          format: uuid
          description: Unique identifier representing the related AdministrationPeriod entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        automaticTask:
          description: 'Flag indicating whether an automatic task exists for this clinic product.

            An automatic task is an action that will be triggered after the clinic product is used.'
          type: boolean
        automaticTaskDueDate:
          format: int32
          description: Number of days until this automatic task is due.
          type: integer
        automaticTaskEntryPriorityStatusId:
          format: uuid
          description: Unique identifier representing the related Automatic task entry priority status.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        automaticTaskTitle:
          description: Title of the automatic task linked to the clinic product.
          type: string
        clinicId:
          format: uuid
          description: Unique identifier representing the related Clinic entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        defaultMedicalRecord:
          description: 'Flag indicating whether product will use a default medical record note, applies only to those clinic products

            that are included in medical record.'
          type: boolean
        defaultMedicalRecordNote:
          description: 'The default medical record note associated with the clinic product, used to document and

            describe the product.'
          type: string
        dischargeInstructions:
          description: Flag indicating whether this clinic product includes discharge instructions.
          type: boolean
        dischargeInstructionsText:
          description: 'Discharge instructions text for patient owners

            on how to act and what to do after administration of clinic product.'
          type: string
        discountRate:
          format: double
          description: 'Discount rate for the clinic product.

            This value depends on the "IsDiscountPercent" flag: if false, the discount is shown in dollars; if true, it is expressed as a percentage from 0 to 100.'
          type: number
        dispensingFee:
          format: double
          description: 'The product dispensing fee amount.

            This charge, expressed in dollars, is added by the clinic to the cost of filling a prescription or providing a service,

            covering the clinic''s expenses related to delivering the medication or service.'
          type: number
        dispensingFeeId:
          format: uuid
          description: Unique identifier representing the related DispensingFee entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        groupId:
          format: uuid
          description: Unique identifier representing the related Group entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        includedInMedicalRecord:
          description: Flag indicating whether product is included in medical record.
          type: boolean
        includedOnInvoice:
          description: 'Flag indicating whether this product will appear on the printed invoice and estimate. It does not affect invoice and estimate calculations or persistence.

            If the product has a price, it must be set to true.'
          type: boolean
        inventoryProductSettingId:
          format: uuid
          description: Unique identifier representing the related InventoryProductSetting entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        isActive:
          description: Flag indicating whether this clinic product is active.
          type: boolean
        isComboVaccination:
          description: Flag indicating whether this instance is combo vaccination, a mix of two or more vaccinations.
          type: boolean
        isControlled:
          description: Flag indicating whether this clinic product is a controlled substance.
          type: boolean
        isDiscountable:
          description: Flag indicating whether this clinic product is discountable.
          type: boolean
        isMicrochip:
          description: Flag that indicates whether the clinic product is a microchip.
          type: boolean
        isPetAssureDiscountable:
          description: Flag indicating whether this product is eligible for a Pet Assure integration discount.
          type: boolean
        isRabiesVaccine:
          description: Flag indicating whether this vaccine is for rabies.
          type: boolean
        isTaxable:
          description: Flag indicating whether this clinic product is taxable.
          type: boolean
        manufacturer:
          description: Identifies the company that produces or supplies the clinic product.
          type: string
        markup:
          format: double
          description: 'The markup of the clinic product.

            Markup refers to the percentage added to the cost price to determine the selling price, covering expenses and generating profit.

            It is expressed as a percentage from 0 to 100.'
          type: number
        minPrice:
          format: double
          description: The lowest price at which this clinic product can be sold or offered.
          type: number
        prescriptionLabelTemplateId:
          format: uuid
          description: Unique identifier representing the related PrescriptionLabelTemplate entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        price:
          format: double
          description: The current selling price assigned to this clinic product.
          type: number
        printerId:
          format: uuid
          description: Unique identifier representing the related Printer entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productAssignedUserTypeId:
          format: uuid
          description: Unique identifier representing the related ProductAssignedUserType entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productId:
          format: uuid
          description: Unique identifier representing the related Product entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        vaccineLotExpirationDate:
          format: date-time
          description: The vaccine lot expiration date.
          type: string
        vaccineName:
          description: Name of the vaccine.
          type: string
        vaccineProductAdministrationPeriodId:
          format: uuid
          description: Unique identifier representing the related VaccineProductAdministrationPeriod entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
        id:
          type: string
    OpenApiProductTaxRateProductController.Product:
      description: Product REST model.
      type: object
      properties:
        administrationPeriodId:
          description: Unique identifier representing the related Administration period entity.
          type: string
        automaticTask:
          description: 'Flag indicating whether an automatic task exists for this product.

            An automatic task is an action that will be triggered after the product is used.'
          type: boolean
        automaticTaskDueDate:
          format: int32
          description: Number of days until this automatic task is due.
          type: integer
        automaticTaskEntryPriorityStatusId:
          description: Unique identifier representing the Automatic task priority status.
          type: string
        automaticTaskTitle:
          description: Title of the automatic task linked to the product.
          type: string
        defaultMedicalRecord:
          description: 'Flag indicating whether product will use a default medical record note, applies only to those products

            that are included in medical record.'
          type: boolean
        defaultMedicalRecordNote:
          description: 'The default medical record note associated with the product, used to document and

            describe the product.'
          type: string
        dischargeInstructions:
          description: 'Flag indicating whether this product includes discharge instructions for patient owners

            on how to act and what to do after administration of product.'
          type: boolean
        dischargeInstructionsText:
          description: Free-text for Discharge instructions.
          type: string
        dispensingFeeId:
          format: uuid
          description: Unique identifier representing the related DispensingFee entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        includedInMedicalRecord:
          description: Flag indicating whether product is included in medical record.
          type: boolean
        includedOnInvoice:
          description: Flag indicating whether this product will appear on the printed invoice and estimate. It does not affect invoice and estimate calculations or persistence.
          type: boolean
        isActive:
          description: Flag indicating whether this product is active.
          type: boolean
        isControlled:
          description: Flag indicating whether this product is a controlled substance.
          type: boolean
        isDiscountable:
          description: Flag indicating whether this clinic product is discountable.
          type: boolean
        isPetAssureDiscountable:
          description: Flag indicating whether this clinic product is eligible for a Pet Assure integration discount.
          type: boolean
        isTaxable:
          description: Flag indicating whether this product is taxable.
          type: boolean
        name:
          description: Name of the product.
          type: string
        price:
          format: double
          description: The current selling price assigned to this product.
          type: number
        productCategoryId:
          description: Unique identifier representing the related ProductCategory entity.
          type: string
        productTypeId:
          description: Unique identifier representing the related ProductType entity.
          type: string
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
        id:
          type: string
    OpenApiProductTaxRateProductController.ProductTaxRateProductFilterModel:
      description: ProductTaxRateProduct Filter REST model.
      type: object
      properties:
        clinicProductIds:
          description: Comma-separated list of related ClinicProduct entity unique identifiers.
          type: string
        isDeleted:
          description: Used to filter ProductTaxRateProducts by their deletion status. Defaults to null (fetches both deleted and non-deleted entities).
          type: boolean
        productIds:
          description: Comma-separated list of related Product entity unique identifiers.
          type: string
        productTaxRateIds:
          description: Comma-separated list of related ProductTaxRate entity unique identifiers.
          type: string
        dateCreatedFrom:
          format: date-time
          description: 'Sets the start of the date range filter on the entity creation date. Must not be later than DateCreatedTo, or

            the request returns 400. Defaults to null.'
          type: string
        dateCreatedTo:
          format: date-time
          description: The end of the date range filter on the entity creation date. Defaults to null.
          type: string
        dateUpdatedFrom:
          format: date-time
          description: 'The start of the date range filter on the entity last update date. Must not be later than DateUpdatedTo, or the

            request returns 400. Defaults to null.'
          type: string
        dateUpdatedTo:
          format: date-time
          description: The end of the date range filter on the entity last update date. Defaults to null.
          type: string
        embed:
          description: Comma-separated list of embedded properties to fetch. Nested fetches can be specified using dot notation (e.g., "client.clientPhones"). Defaults to null.
          type: string
        excludeIds:
          description: Comma-separated list of IDs representing entities that you wish to exclude from your search. Defaults to null.
          type: string
        ids:
          description: Comma-separated list of IDs representing entities that you wish to include in your search. Defaults to null.
          type: string
        page:
          format: int32
          description: The page number. Defaults to 1.
          type: integer
        rpp:
          format: int32
          description: The number of items to return per page. The max is 1000. Defaults to 10.
          type: integer
        sort:
          description: Which field to sort by. Needs to be in "field|order" format, where order is either "asc" or "desc". The default sort field depends on the endpoint, typically "id|asc"
          type: string
    OpenApiProductTaxRateProductController.ProductTaxRateProduct:
      description: ProductTaxRateProduct REST model
      type: object
      properties:
        clinicId:
          format: uuid
          description: Unique identifier representing the related Clinic entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        clinicProduct:
          $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ClinicProduct'
          description: 'Object representing the related clinic product entity. It can be embeded to return details about ClinicProduct. If not embeded it will

            return null.'
        clinicProductId:
          format: uuid
          description: Unique identifier representing the related ClinicProduct entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        groupId:
          format: uuid
          description: Unique identifier representing the related Group entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        product:
          $ref: '#/components/schemas/OpenApiProductTaxRateProductController.Product'
          description: 'Object representing the related product entity. It can be embeded to return details about Product. If not embeded it will

            return null.'
        productId:
          format: uuid
          description: Unique identifier representing the related Product entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productTaxRate:
          $ref: '#/components/schemas/OpenApiProductTaxRateProductController.ProductTaxRate'
          description: 'Object representing the related product tax rate entity. It can be embeded to return details about Product Tax Rate. If not embeded it will

            return null.'
        productTaxRateId:
          format: uuid
          description: Unique identifier representing the related ProductTaxRate entity.
          type: string
          example: 00000000-0000-0000-0000-000000000000
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
        id:
          type: string