Erply item API

The item API from Erply — 4 operation(s) for item.

Operations 6

GET /api/v1/workorder/{workorderId}/item Look up items
POST /api/v1/workorder/{workorderId}/item Add a new item record
DELETE /api/v1/workorder/{workorderId}/item/{itemId} Delete one item record
PATCH /api/v1/workorder/{workorderId}/item/{itemId} Update item record
POST /api/v1/workorder/{workorderId}/item/{itemId}/link Link rows together
DELETE /api/v1/workorder/{workorderId}/item/{itemId}/link/{rowId} Unlink row from other rows

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/erply-item-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 email required.

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

OpenAPI Specification

erply-item-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "\n\n## Overview\n\n\n\nThis application offers an API for managing assignments and tasks.\n\n\n\nGraphQL endpoint for the same API is [also available](/graph)\n\n\n\n<details><summary>Authentication</summary>\n\n\n\n> \n\n> Authenticate using your Erply credentials and get a sessionKey. This sessionKey and your Erply clientCode must be provided in the HTTP headers of every request. You do not have to authenticate against this API - valid Erply sessionKey-s from other sources are also acceptable. To authenticate using this API, use the `POST /api/v1/auth` endpoint.\n\n>\n\n</details>\n\n"
  title: assignments Assortment Item API
  contact: {}
  version: 2.36.5
tags:
- name: item
paths:
  /api/v1/workorder/{workorderId}/item:
    get:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: 'Allows searching for workorder items matching specific criteria.


        > Param           | Default&nbsp; | Example&nbsp; | Description

        > ----------------|---------|---------|----

        > `withTotalCount` | false  | true    | If total count of matched records should be returned in response header `x-total-count

        > `pageSize`      | 20      | 100     | Allows specifying how many records per page should be returned

        > `pageNr`        | 1       | 2       | Allows specifying which page should be returned for creating paginated views over the data.

        > `sort`          | id      | -id     | Allows specifying in which order the rows should be returned. Supported values are: `id`. It is possible to reverse the order by adding a `-` prefix to the sorting keyword.

        >

        >'
      tags:
      - item
      summary: Look up items
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      - description: If total matching record count should be return in response header
        name: withTotalCount
        in: query
        schema:
          type: boolean
      - description: Result page size
        name: pageSize
        in: query
        schema:
          type: integer
      - description: Result page number
        name: pageNr
        in: query
        schema:
          type: integer
      - description: Sorting order
        name: sort
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemResponse'
        '401':
          description: Forbidden
        '500':
          description: Internal Server Error
    post:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - item
      summary: Add a new item record
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '500':
          description: Internal Server Error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemRequest'
        description: Item record
        required: true
  /api/v1/workorder/{workorderId}/item/{itemId}:
    delete:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: Delete one item record
      tags:
      - item
      summary: Delete one item record
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      - description: Record id
        name: itemId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
    patch:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - item
      summary: Update item record
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      - description: Record id
        name: itemId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemRequest'
        description: Item record
        required: true
  /api/v1/workorder/{workorderId}/item/{itemId}/link:
    post:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: One or more rows in the same workorder and item can now be linked together. This is supported only for services, not regular products. Linked rows will be associated with the same task as a group and will share their state - performing task related or state change actions on one row will affect all of them.
      tags:
      - item
      summary: Link rows together
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      - description: Item id
        name: itemId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowLinkRequest'
        description: Link payload
        required: true
  /api/v1/workorder/{workorderId}/item/{itemId}/link/{rowId}:
    delete:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - item
      summary: Unlink row from other rows
      parameters:
      - description: Workorder id
        name: workorderId
        in: path
        required: true
        schema:
          type: integer
      - description: Item id
        name: itemId
        in: path
        required: true
        schema:
          type: integer
      - description: Row id
        name: rowId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    ItemRequest:
      type: object
      properties:
        data:
          type: object
        id:
          type: integer
        text:
          type: string
        workorderId:
          type: integer
    RowLinkRequest:
      type: object
      properties:
        rowIds:
          type: array
          items:
            type: integer
    ItemResponse:
      type: object
      properties:
        createdAt:
          type: string
        createdById:
          type: integer
        data:
          type: object
        id:
          type: integer
        templateId:
          type: integer
        templateSourceId:
          type: integer
        text:
          type: string
        updatedAt:
          type: string
        updatedById:
          type: integer
        workorderId:
          type: integer
  securitySchemes:
    AccessToken:
      type: apiKey
      name: accessToken
      in: header
    ErplyClientCode:
      type: apiKey
      name: clientCode
      in: header
    ErplyJWT:
      type: apiKey
      name: jwt
      in: header
    ErplySession:
      type: apiKey
      name: sessionKey
      in: header
    RequestKey:
      type: apiKey
      name: requestKey
      in: header