Profit Rhino Parts API

The Parts API from Profit Rhino — 4 operation(s) for parts.

Operations 4

GET /v2/part/{Id} Returns specific part #
GET /v2/part/{id}/tasks Returns Task asignments of a part #
GET /v2/part/{id}/vendors Returns Vendors of a part #
GET /v2/productline/{Id}/parts Returns parts of specific productline #

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/profit-rhino:profit-rhino-parts-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

profit-rhino-parts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: Profitrhino Parts API
  description: Api Versions
servers:
- url: https://secure.profitrhino.com/api
tags:
- name: Parts
paths:
  /v2/part/{Id}:
    get:
      tags:
      - Parts
      summary: Returns specific part
      description: ''
      operationId: Parts_GET_Get
      parameters:
      - name: Id
        in: path
        description: Id for search part
        required: true
        schema:
          type: integer
          format: int64
      - name: X-HTTP-ProfitRhino-Service-Key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
        '204':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartPostModel_'
  /v2/part/{id}/tasks:
    get:
      tags:
      - Parts
      summary: Returns Task asignments of a part
      description: ''
      operationId: Parts_GET_GetPartTasks
      parameters:
      - name: id
        in: path
        description: PartId
        required: true
        schema:
          type: integer
          format: int64
      - name: PageSize
        in: query
        description: PageSize for no of records
        required: false
        schema:
          type: integer
          format: int32
      - name: PageNo
        in: query
        description: PageNo for specific page data
        required: false
        schema:
          type: integer
          format: int32
      - name: X-HTTP-ProfitRhino-Service-Key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
        '204':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartTasksResultModel_'
  /v2/part/{id}/vendors:
    get:
      tags:
      - Parts
      summary: Returns Vendors of a part
      description: ''
      operationId: Parts_GET_GetPartVendors
      parameters:
      - name: id
        in: path
        description: PartId
        required: true
        schema:
          type: integer
          format: int64
      - name: PageSize
        in: query
        description: PageSize for no of records
        required: false
        schema:
          type: integer
          format: int32
      - name: PageNo
        in: query
        description: PageNo for specific page data
        required: false
        schema:
          type: integer
          format: int32
      - name: X-HTTP-ProfitRhino-Service-Key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
        '204':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartVendorsResultModel_'
  /v2/productline/{Id}/parts:
    get:
      tags:
      - Parts
      summary: Returns parts of specific productline
      operationId: Parts_GET_Partbyproductline
      parameters:
      - name: Id
        in: path
        description: Id for productline
        required: true
        schema:
          type: integer
          format: int64
      - name: PageSize
        in: query
        description: PageSize for no of records
        required: false
        schema:
          type: integer
          format: int32
      - name: PageNo
        in: query
        description: PageNo for specific page data
        required: false
        schema:
          type: integer
          format: int32
      - name: SearchText
        in: query
        required: false
        schema:
          type: string
          default: ''
      - name: X-HTTP-ProfitRhino-Service-Key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
        '204':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
            application/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
            text/json:
              schema:
                $ref: '#/components/schemas/PRResponse_PartsPostModel_'
components:
  schemas:
    PartPostModel:
      required:
      - name
      - description
      - cost
      - markUpExempt
      type: object
      properties:
        id:
          format: int64
          type: integer
        name:
          maxLength: 30
          minLength: 1
          type: string
        description:
          type: string
        category:
          type: string
        cost:
          format: double
          maximum: 7922816
          minimum: -7922816
          type: number
        isActive:
          type: boolean
        isSensitive:
          type: boolean
        markUpExempt:
          type: boolean
        retailPrice:
          format: double
          type: number
        mfgName:
          type: string
        mfgId:
          format: int64
          type: integer
        mfgPart:
          maxLength: 30
          type: string
        upc:
          maxLength: 15
          type: string
        tradeServicePart:
          maxLength: 10
          type: string
        paysCommission:
          type: boolean
        externalId:
          type: string
        account:
          maxLength: 255
          type: string
        createdDate:
          type: string
        lastUpdatedDate:
          type: string
        productLine:
          $ref: '#/components/schemas/PartProducLineModelV2'
    PartProducLineModelV2:
      type: object
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        refUrl:
          type: string
        partCategory:
          $ref: '#/components/schemas/PartProducLineDescModelV2'
    PartVendorsResultModel:
      type: object
      properties:
        vendors:
          uniqueItems: false
          type: array
          items:
            $ref: '#/components/schemas/VendorPartsViewModel'
        page:
          format: int64
          type: integer
        pageSize:
          format: int64
          type: integer
        totalCount:
          format: int64
          type: integer
        totalNumberOfPages:
          format: int64
          type: integer
        hasMore:
          type: boolean
    PartTasksResultModel:
      type: object
      properties:
        tasks:
          uniqueItems: false
          type: array
          items:
            $ref: '#/components/schemas/PartTasksModel'
        page:
          format: int64
          type: integer
        pageSize:
          format: int64
          type: integer
        totalCount:
          format: int64
          type: integer
        totalNumberOfPages:
          format: int64
          type: integer
        hasMore:
          type: boolean
    PRResponse_PartPostModel_:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        responseData:
          $ref: '#/components/schemas/PartPostModel'
    VendorPartsViewModel:
      required:
      - partId
      - vendorId
      - vendorName
      type: object
      properties:
        id:
          format: int64
          type: integer
        partId:
          format: int64
          maximum: 2147483647
          minimum: 1
          type: integer
        vendorId:
          format: int64
          maximum: 2147483647
          minimum: 1
          type: integer
        isPrimary:
          type: boolean
        memo:
          maxLength: 75
          type: string
        vendorPart:
          maxLength: 30
          type: string
        yourCost:
          format: double
          type: number
        vendorName:
          maxLength: 200
          minLength: 1
          type: string
        markupDiscount:
          format: double
          maximum: 100
          minimum: -100
          type: number
        marketCost:
          format: double
          maximum: 7922816
          minimum: -7922816
          type: number
        costOverridden:
          type: boolean
    PartTasksModel:
      type: object
      properties:
        id:
          format: int64
          type: integer
        partId:
          format: int64
          type: integer
        taskId:
          format: int64
          type: integer
        taskNumber:
          type: string
        name:
          type: string
        description:
          type: string
        valueRate:
          format: double
          type: number
        standardRate:
          format: double
          type: number
        premiumRate:
          format: double
          type: number
        taskDuration:
          format: double
          type: number
        type:
          type: string
        tradeId:
          format: int32
          type: integer
    PRResponse_PartVendorsResultModel_:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        responseData:
          $ref: '#/components/schemas/PartVendorsResultModel'
    CategoryBreadCrumb:
      type: object
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        sortOrder:
          format: int64
          type: integer
    PartsPostModel:
      type: object
      properties:
        parts:
          uniqueItems: false
          type: array
          items:
            $ref: '#/components/schemas/PartPostModel'
        partCategoryBreadCrum:
          uniqueItems: false
          type: array
          items:
            $ref: '#/components/schemas/CategoryBreadCrumb'
        page:
          format: int64
          type: integer
        pageSize:
          format: int64
          type: integer
        totalCount:
          format: int64
          type: integer
        totalNumberOfPages:
          format: int64
          type: integer
        hasMore:
          type: boolean
    PRResponse_PartTasksResultModel_:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        responseData:
          $ref: '#/components/schemas/PartTasksResultModel'
    PRResponse_PartsPostModel_:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
        responseData:
          $ref: '#/components/schemas/PartsPostModel'
    PartProducLineDescModelV2:
      type: object
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
        refUrl:
          type: string
x-provenance:
  method: searched
  source: https://docs.profitrhino.com/reference
  harvested: '2026-10-28'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.profitrhino.com/reference/auth_post_login.md
  - https://docs.profitrhino.com/reference/businessinformation_get_get.md
  - https://docs.profitrhino.com/reference/manufacturer_get_getbrand.md
  - https://docs.profitrhino.com/reference/manufacturer_get_getmanufacturer.md
  - https://docs.profitrhino.com/reference/optionboard_get_get.md
  - https://docs.profitrhino.com/reference/optionboard_get_getall.md
  - https://docs.profitrhino.com/reference/partcategory_get_get.md
  - https://docs.profitrhino.com/reference/partcategory_get_getall.md
  - https://docs.profitrhino.com/reference/partcategory_get_getallproducline.md
  - https://docs.profitrhino.com/reference/partcategory_get_getallproduclines.md
  - https://docs.profitrhino.com/reference/partcategory_get_getproducline.md
  - https://docs.profitrhino.com/reference/parts_get_get.md
  - https://docs.profitrhino.com/reference/parts_get_getparttasks.md
  - https://docs.profitrhino.com/reference/parts_get_getpartvendors.md
  - https://docs.profitrhino.com/reference/parts_get_partbyproductline.md
  - https://docs.profitrhino.com/reference/partsmarkup_get_getallmarkups.md
  - https://docs.profitrhino.com/reference/taskcategory_get_categories.md
  - https://docs.profitrhino.com/reference/taskcategory_get_getallsubcategories.md
  - https://docs.profitrhino.com/reference/taskcategory_get_getcategory.md
  - https://docs.profitrhino.com/reference/tasks_get_getall.md
  - https://docs.profitrhino.com/reference/tasks_get_getalltasks.md
  - https://docs.profitrhino.com/reference/vendors_get_get.md
  - https://docs.profitrhino.com/reference/vendors_get_getall.md
  merge:
    pages: 23
    deduped: 32
    conflicts_kept_first: 0