ECI Solutions Routings API

The Routings API from ECI Solutions — 2 operation(s) for routings.

Operations 2

GET /api/v1/estimates/{partNumber}/routings/{stepNumber} Gets a Routing by estimate's part number and routing's step number #
GET /api/v1/routings Gets a list of Routings #

Documentation

Specifications

Other Resources

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/eci-solutions-routings-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

eci-solutions-routings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: JobBOSS² Public Routings API
  description: Provides a common API surface for accessing ECI ERP JobBOSS².
  version: v1
servers:
- url: https://api-jb2.integrations.ecimanufacturing.com:443
  description: API Host
security:
- Bearer: []
tags:
- name: Routings
paths:
  /api/v1/estimates/{partNumber}/routings/{stepNumber}:
    get:
      tags:
      - Routings
      summary: Gets a Routing by estimate's part number and routing's step number
      description: 'By default a Routing response will include only the fields: partNumber, stepNumber, workOrVendor, workCenter, vendorCode, operatorCode, description, setupTime, timeUnit, cycleTime, cycleUnit, machineRun, teamSize, scrapPercent, laborAccount, setupRate, cycleRate, burdenRate, laborRate, isUnattendedOperation, leadTime, markupPercent, isCertificationRequired, GLAccount, cost1, unit1, setup1, setupPrice, cyclePrice, total, estimQuantity, actualPiecesGood, actualPiecesScrapped, ignoreVendorMinimum, numberMachineForJob, uniqueID, lastModDate. You may specify the exact fields to return using the fields parameter.'
      parameters:
      - name: partNumber
        in: path
        required: true
        schema:
          type: string
      - name: stepNumber
        in: path
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: A comma separated list of fields to include in the result.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingSuccessResponse'
              example:
                Data:
                  actualPiecesGood: 0
                  actualPiecesScrapped: 0
                  burdenRate: 0
                  cost1: 0
                  cost2: 0
                  cost3: 0
                  cost4: 0
                  cost5: 0
                  cost6: 0
                  cost7: 0
                  cost8: 0
                  cyclePrice: 0
                  cycleRate: 0
                  cycleTime: 0
                  cycleUnit: string
                  description: string
                  enteredDate: '2026-09-06T17:13:12.0000000+00:00'
                  estimQuantity: 0
                  GLAccount: string
                  ignoreVendorMinimum: false
                  isCertificationRequired: false
                  isUnattendedOperation: false
                  laborAccount: string
                  laborRate: 0
                  lastModDate: '2026-09-06T17:13:12.0000000+00:00'
                  lastModUser: string
                  leadTime: 0
                  machineRun: 0
                  markupPercent: 0
                  numberMachineForJob: 0
                  operatorCode: string
                  partNumber: string
                  percentEfficient: 0
                  revisedDate: '2026-09-06T17:13:12.0000000+00:00'
                  scrapPercent: 0
                  setup1: 0
                  setup2: 0
                  setup3: 0
                  setup4: 0
                  setup5: 0
                  setup6: 0
                  setup7: 0
                  setup8: 0
                  setupPrice: 0
                  setupRate: 0
                  setupTime: 0
                  stepNumber: 0
                  teamSize: 0
                  timeUnit: string
                  total: 0
                  uniqueID: 0
                  unit1: string
                  unit2: string
                  unit3: string
                  unit4: string
                  unit5: string
                  unit6: string
                  unit7: string
                  unit8: string
                  vendorCode: string
                  workCenter: string
                  workOrVendor: string
      operationId: getApiV1EstimatesByPartNumberRoutingsByStepNumber
      x-operation-id-source: derived
  /api/v1/routings:
    get:
      tags:
      - Routings
      summary: Gets a list of Routings
      description: 'By default a routing response will include only the fields: partNumber, stepNumber, workOrVendor, workCenter, vendorCode, operatorCode, description, setupTime, timeUnit, cycleTime, cycleUnit, machineRun, teamSize, scrapPercent, laborAccount, setupRate, cycleRate, burdenRate, laborRate, isUnattendedOperation, leadTime, markupPercent, isCertificationRequired, GLAccount, cost1, unit1, setup1, setupPrice, cyclePrice, total, estimQuantity, actualPiecesGood, actualPiecesScrapped, ignoreVendorMinimum, numberMachineForJob, uniqueID, lastModDate. You may specify the exact fields to return using the fields parameter.'
      parameters:
      - name: fields
        in: query
        description: A comma separated list of fields to include in the result.
        schema:
          type: string
      - name: sort
        in: query
        description: A comma separated list of field to sort by. See the <a href='#sort-expressions'>Sort Expressions</a> section for more information.
        schema:
          type: string
      - name: filters
        in: query
        description: Filters must be provided as query string parameters as defined in the <a href='#filter-expressions'>Filter Expressions</a> section.
        schema:
          type: object
          additionalProperties:
            type: string
        examples:
          No filters: {}
          Filter by Part Number:
            value:
              partNumber: R-9002-007
      - name: skip
        in: query
        description: The number of records at the start of the result set to skip over.
        schema:
          type: string
      - name: take
        in: query
        description: The number of records to retrieve.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingListSuccessResponse'
              example:
                Data:
                - actualPiecesGood: 0
                  actualPiecesScrapped: 0
                  burdenRate: 0
                  cost1: 0
                  cost2: 0
                  cost3: 0
                  cost4: 0
                  cost5: 0
                  cost6: 0
                  cost7: 0
                  cost8: 0
                  cyclePrice: 0
                  cycleRate: 0
                  cycleTime: 0
                  cycleUnit: string
                  description: string
                  enteredDate: '2026-09-06T17:13:12.0000000+00:00'
                  estimQuantity: 0
                  GLAccount: string
                  ignoreVendorMinimum: false
                  isCertificationRequired: false
                  isUnattendedOperation: false
                  laborAccount: string
                  laborRate: 0
                  lastModDate: '2026-09-06T17:13:12.0000000+00:00'
                  lastModUser: string
                  leadTime: 0
                  machineRun: 0
                  markupPercent: 0
                  numberMachineForJob: 0
                  operatorCode: string
                  partNumber: string
                  percentEfficient: 0
                  revisedDate: '2026-09-06T17:13:12.0000000+00:00'
                  scrapPercent: 0
                  setup1: 0
                  setup2: 0
                  setup3: 0
                  setup4: 0
                  setup5: 0
                  setup6: 0
                  setup7: 0
                  setup8: 0
                  setupPrice: 0
                  setupRate: 0
                  setupTime: 0
                  stepNumber: 0
                  teamSize: 0
                  timeUnit: string
                  total: 0
                  uniqueID: 0
                  unit1: string
                  unit2: string
                  unit3: string
                  unit4: string
                  unit5: string
                  unit6: string
                  unit7: string
                  unit8: string
                  vendorCode: string
                  workCenter: string
                  workOrVendor: string
      operationId: getApiV1Routings
      x-operation-id-source: derived
components:
  schemas:
    RoutingSuccessResponse:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/Routing'
      additionalProperties: false
    RoutingListSuccessResponse:
      type: object
      properties:
        Data:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Routing'
      additionalProperties: false
    Routing:
      type: object
      properties:
        actualPiecesGood:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        actualPiecesScrapped:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        burdenRate:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost1:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost2:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost3:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost4:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost5:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost6:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost7:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cost8:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cyclePrice:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cycleRate:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cycleTime:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        cycleUnit:
          type:
          - string
          - 'null'
          readOnly: true
        description:
          type:
          - string
          - 'null'
          readOnly: true
        enteredDate:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        estimQuantity:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        GLAccount:
          type:
          - string
          - 'null'
          readOnly: true
        ignoreVendorMinimum:
          type: boolean
          readOnly: true
        isCertificationRequired:
          type: boolean
          readOnly: true
        isUnattendedOperation:
          type: boolean
          readOnly: true
        laborAccount:
          type:
          - string
          - 'null'
          readOnly: true
        laborRate:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        lastModDate:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        lastModUser:
          type:
          - string
          - 'null'
          readOnly: true
        leadTime:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        machineRun:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        markupPercent:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        numberMachineForJob:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        operatorCode:
          type:
          - string
          - 'null'
          readOnly: true
        partNumber:
          type:
          - string
          - 'null'
          readOnly: true
        percentEfficient:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        revisedDate:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        scrapPercent:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup1:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup2:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup3:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup4:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup5:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup6:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup7:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setup8:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setupPrice:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setupRate:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        setupTime:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        stepNumber:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        teamSize:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
        timeUnit:
          type:
          - string
          - 'null'
          readOnly: true
        total:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        uniqueID:
          type: integer
          format: int32
          readOnly: true
        unit1:
          type:
          - string
          - 'null'
          readOnly: true
        unit2:
          type:
          - string
          - 'null'
          readOnly: true
        unit3:
          type:
          - string
          - 'null'
          readOnly: true
        unit4:
          type:
          - string
          - 'null'
          readOnly: true
        unit5:
          type:
          - string
          - 'null'
          readOnly: true
        unit6:
          type:
          - string
          - 'null'
          readOnly: true
        unit7:
          type:
          - string
          - 'null'
          readOnly: true
        unit8:
          type:
          - string
          - 'null'
          readOnly: true
        vendorCode:
          type:
          - string
          - 'null'
          readOnly: true
        workCenter:
          type:
          - string
          - 'null'
          readOnly: true
        workOrVendor:
          type:
          - string
          - 'null'
          readOnly: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: oauth2
      description: OAuth 2.0 Client Credentials Flow with API Users issued from Integration Engine Management Console
      flows:
        clientCredentials:
          tokenUrl: https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token
          scopes:
            openid: openid