Get list of used items on a work order

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://developers.praxedo.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "public-rest-apis MCP server": {
    "url": "https://developers.praxedo.com/mcp"
  }
}

Close
GET /eTech/rest/ws/fieldService/v1/workOrders/code:{workOrderCode}/items/used

Returns a paginated list of used items (consumed parts, labour, on-the-fly items) declared on the specified work order, sorted by lastUpdate descending.

Pair with the Praxedo webhook for near-real-time invoicing or stock synchronisation.

Rate limit range : High

Path parameters

  • workOrderCode string Required

    Business code of the work order. Case insensitive.

Query parameters

  • continuationToken string

    The continuation token which was received in the previous request. It contains information on the page to fetch. If not present, then the first page of results will be returned.

  • pageSize integer

    Maximum number of items returned per page. Hard limit 200.

    Minimum value is 1, maximum value is 200. Default value is 200.

  • invoiceMode string

    Filter items by billing ownership.

    • external - items charged to an external party (customer-facing invoice).
    • internal - items consumed internally (sub-contractor or internal cost).
    • all - no filter, returns all items regardless of invoice mode (default).

    Values are external, internal, or all. Default value is all.

Responses

  • 200 application/json

    OK - Paginated list of used items on the work order.

    Hide response attributes Show response attributes object
    • continuationToken string | null

      Opaque token. Pass on next request. null means last page. Do not parse or construct.

    • data array[object] Required
      Hide data attributes Show data attributes object
      • lineItemId string(uuid) Required

        Unique cart-line identifier. Stable across work order re-openings. Use for precise invoicing and reconciliation with expected items.

      • itemCode string Required

        Code of the consumed item (catalogue or on-the-fly).

      • agentCode string | null

        Code of the agent who declared this line (technician or web user).

      • billing object Required
        Hide billing attributes Show billing attributes object
        • associatedSectionCode string | null

          Quotation section code. null if declared directly on the work order cart.

        • invoiceMode string Required

          EXTERNAL = customer invoice. INTERNAL = sub-contractor or internal cost.

          Values are EXTERNAL or INTERNAL.

        • name string | null

          Item display name.

        • reference string | null

          Item reference code.

        • expectedQuantity number(double) | null

          Pre-ordered quantity. null if no expectation was set.

        • usedQuantity number(double) Required

          Actual quantity consumed.

          Minimum value is 0.

        • usedVatRate number(double) | null

          VAT rate (e.g. 0.20 for 20%). null if not declared.

        • unitPrice object
          Hide unitPrice attributes Show unitPrice attributes object
          • catalogValue number(double) | null

            Catalogue unit price. null for on-the-fly items.

          • associatedContract string | null

            Contract code that overrode the catalogue price. null if none applies.

          • value number(double) | null

            Effective unit price applied to this item line.

          • currency string

            ISO 4217 currency code of the eTech account.

      • tracking object Required
        Hide tracking attributes Show tracking attributes object
        • serialNumber string | null

          Serial number. null if not tracked by serial number.

        • stockCode string | null

          Stock location code. null if not tracked by stock.

      • lastUpdate string(date-time) Required

        ISO 8601 UTC. Results sorted by this field, descending.

  • 400 application/json

    Bad Request - validation error or invalid continuation token.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

  • 401 application/json

    Unauthorized - authentication issue.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

  • 403 application/json

    Forbidden - not enough rights.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

  • 404 application/json

    Not Found - Work order not found or outside caller's org unit.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

  • 429 application/json

    Too Many Requests.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

  • 500 application/json

    Internal server error.

    Hide response attributes Show response attributes object
    • errors array[object]

      Array of errors. Contains at least one element.

      Hide errors attributes Show errors attributes object

      Contains code and message for error.

      • code string Required
      • message string Required
    • errorReference string Required

      Error unique reference. Communicated to support, this will help to locate the issue.

      Format should match the following pattern: [0-1a-z].

GET /eTech/rest/ws/fieldService/v1/workOrders/code:{workOrderCode}/items/used
curl \
 --request GET 'https://ws-eu1.praxedo.com/eTech/rest/ws/fieldService/v1/workOrders/code:WO-2026-00123/items/used' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "continuationToken": "eyJsYXN0VXBkYXRlIjoiMjAyNC0xMC0xNVQxNjowNTowMFoifQ==",
  "data": [
    {
      "lineItemId": "80ae5498-6d98-45d0-be83-11748b49692a",
      "itemCode": "PUMP-V3",
      "agentCode": "T_SMITH_04",
      "billing": {
        "associatedSectionCode": "REPLACEMENT_SECTION",
        "invoiceMode": "INTERNAL",
        "name": "Pompe elec motron v3",
        "reference": "182DGH32",
        "expectedQuantity": 1,
        "usedQuantity": 1,
        "usedVatRate": 0.2,
        "unitPrice": {
          "catalogValue": 69,
          "associatedContract": 2683,
          "value": 59,
          "currency": "USD"
        }
      },
      "tracking": {
        "serialNumber": "SN-9982-XP",
        "stockCode": null
      },
      "lastUpdate": "2024-10-15 16:05:00 UTC"
    }
  ]
}
{
  "continuationToken": null,
  "data": [
    {
      "lineItemId": "ffffffff-0000-0000-0000-000000000001",
      "itemCode": "JOINT-50MM",
      "agentCode": "T_MARTIN_07",
      "billing": {
        "associatedSectionCode": null,
        "invoiceMode": "EXTERNAL",
        "name": "Joint caoutchouc 50mm",
        "reference": null,
        "expectedQuantity": null,
        "usedQuantity": 3,
        "usedVatRate": null,
        "unitPrice": {
          "catalogValue": null,
          "associatedContract": null,
          "value": 4.5,
          "currency": "EUR"
        }
      },
      "tracking": {
        "serialNumber": null,
        "stockCode": "STOCK-PARIS-03"
      },
      "lastUpdate": "2024-10-14 09:10:00 UTC"
    }
  ]
}
{
  "continuationToken": null,
  "data": []
}
Response examples (400)
{
  "errors": [
    {
      "code": "fieldService.continuationToken.invalid",
      "message": "The provided continuation token does not respect the expected format."
    }
  ],
  "errorReference": "59ddc09a23159395367307ab95b1c41a"
}
{
  "errors": [
    {
      "code": "fieldService.pageSize.exceeded",
      "message": "pageSize must not exceed 200."
    }
  ],
  "errorReference": "223e4567-e89b-12d3-a456-426614174001"
}
Response examples (401)
{
  "errors": [
    {
      "code": "unauthorized.nocredentials",
      "message": "No credentials."
    }
  ],
  "errorReference": "f939c6b8c15045c9a70f500fdb570555"
}
{
  "errors": [
    {
      "code": "unauthorized.badcredentials",
      "message": "Bad Credentials."
    }
  ],
  "errorReference": "f1028f99811b422eb21f5ff176664069"
}
Response examples (403)
{
  "errors": [
    {
      "code": "access.forbiden",
      "message": "You don't have the rights to access this resource."
    }
  ],
  "errorReference": "a745dc4c5a2b473aaf8ce94c9260aa8f"
}
Response examples (404)
{
  "errors": [
    {
      "code": "fieldService.workOrder.notfound",
      "message": "Work order not found."
    }
  ],
  "errorReference": "a745dc4c5a2b473aaf8ce94c9260aa8f"
}
Response examples (429)
{
  "errors": [
    {
      "code": "ratelimiter.toomanyrequest",
      "message": "Rejected because of the rate limit definition."
    }
  ],
  "errorReference": "973326230a3f44daba6cc34a5939b4fb"
}
Response examples (500)
{
  "errors": [
    {
      "code": "internal.server.error",
      "message": "Something went wrong."
    }
  ],
  "errorReference": "6377010431314bf6b0b95ec4d32ddae0"
}