Erply Device API

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

Operations 6

GET /api/v1/device Look up devices #
POST /api/v1/device Add a new device record #
GET /api/v1/device-global Search for devices across all accessible tenants #
DELETE /api/v1/device/{deviceId} Delete one device record #
PATCH /api/v1/device/{deviceId} Update device record #
GET /api/v1/device/{deviceId}/log Retrieve device record related logged values #

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-device-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

erply-device-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '## Overview


    This application offers an API for managing assignments and tasks.'
  title: assignments Device API
  contact: {}
  version: 2.36.5
tags:
- name: Device
paths:
  /api/v1/device:
    get:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: 'Allows searching for devices matching specific criteria.


        > Param | Default | Example | Description

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

        > `id` | - | 11 | Filter by device ID-s

        > `registration` | - | 12 | Filter by registration number. Exact match

        > `serial` | - | 13 | Filter by serial number. Exact match

        > `brand` | - | Tesla | Filter by brand. Exact match

        > `model` | - | Model S | Filter by model. Exact match

        > `version` | - | 100 AWD | Filter by version. Exact match

        > `year` | - | 2020 | Filter by year. Exact match

        > `color` | - | red | Filter by device color. Exact match

        > `customerId` | - | 14 | Filter by customer ID-s

        > `customerName` | - | Tom | Filter by customer name. Fuzzy search

        > `searchPhrase` | - | AWD | Fuzzy search over fields `registration`, `serial`, `brand`, `model`, `version`, `year` and owner name.

        > `limitedAccess` | - | true | If devices with access restrictions should be returned

        > `callerAccess` | - | true | If the query should return devices that are accessible to the user or those that are not accessible. Returns both by default

        > `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`, `relevance`, `custFirstname`, `custName`, `dateSoldAt`, `registration`, `serial`, `brand`, `model`, `version`, `year`, `createdAt`, `updatedAt`. It is possible to reverse the order by adding a `-` prefix to the sorting keyword.

        >'
      tags:
      - Device
      summary: Look up devices
      parameters:
      - description: Device ids
        name: id
        in: query
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
      - description: Registration number
        name: registration
        in: query
        schema:
          type: string
      - description: Serial number
        name: serial
        in: query
        schema:
          type: string
      - description: Device brand
        name: brand
        in: query
        schema:
          type: string
      - description: Device model
        name: model
        in: query
        schema:
          type: string
      - description: Device version
        name: version
        in: query
        schema:
          type: string
      - description: Device year
        name: year
        in: query
        schema:
          type: string
      - description: Device color
        name: color
        in: query
        schema:
          type: string
      - description: Customer ids
        name: customerId
        in: query
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
      - description: Customer name
        name: customerName
        in: query
        schema:
          type: string
      - description: Fulltext search phrase
        name: searchPhrase
        in: query
        schema:
          type: string
      - description: If hidden or unhidden devices should be returned. If undefined, all are returned
        name: hidden
        in: query
        schema:
          type: boolean
      - description: If device has access restrictions applied
        name: limitedAccess
        in: query
        schema:
          type: boolean
      - description: If caller has access to the device content
        name: callerAccess
        in: query
        schema:
          type: boolean
      - 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. Supported values are: `id`, `relevance`, `custFirstname`, `custName`, `dateSoldAt`, `registration`, `serial`, `brand`, `model`, `version`, `year`, `createdAt`, `updatedAt`'
        name: sort
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceResponse'
        '401':
          description: Forbidden
        '500':
          description: Internal Server Error
      operationId: getApiV1Device
      x-operation-id-source: derived
    post:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - Device
      summary: Add a new device record
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponse'
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '500':
          description: Internal Server Error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceRequest'
        description: Device record
        required: true
      operationId: postApiV1Device
      x-operation-id-source: derived
  /api/v1/device-global:
    get:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: 'Allows searching for devices matching specific criteria across all accessible tenants


        > Param | Default | Example | Description

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

        > `registration` | - | 11 | Filter by registration number. Exact match

        > `serial` | - | 22 | Filter by serial number. Exact match

        > `brand` | - | Tesla | Filter by brand. Exact match

        > `model` | - | Model S | Filter by model. Exact match

        > `version` | - | 100 AWD | Filter by version. Exact match

        > `year` | - | 2020 | Filter by year. Exact match

        > `searchPhrase` | - | AWD | Fuzzy search over fields `registration`, `serial`, `brand`, `model`, `version`, `year` and owner name.

        >'
      tags:
      - Device
      summary: Search for devices across all accessible tenants
      parameters:
      - description: Registration number
        name: registration
        in: query
        schema:
          type: string
      - description: Serial number
        name: serial
        in: query
        schema:
          type: string
      - description: Device brand
        name: brand
        in: query
        schema:
          type: string
      - description: Device model
        name: model
        in: query
        schema:
          type: string
      - description: Device version
        name: version
        in: query
        schema:
          type: string
      - description: Device year
        name: year
        in: query
        schema:
          type: string
      - description: Device color
        name: color
        in: query
        schema:
          type: string
      - description: Customer ids
        name: customerId
        in: query
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
      - description: Customer name
        name: customerName
        in: query
        schema:
          type: string
      - description: Fulltext search phrase
        name: searchPhrase
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceResponse'
        '401':
          description: Forbidden
        '500':
          description: Internal Server Error
      operationId: getApiV1DeviceGlobal
      x-operation-id-source: derived
  /api/v1/device/{deviceId}:
    delete:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - Device
      summary: Delete one device record
      parameters:
      - description: Record id
        name: deviceId
        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
      operationId: deleteApiV1DeviceByDeviceId
      x-operation-id-source: derived
    patch:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      tags:
      - Device
      summary: Update device record
      parameters:
      - description: Record id
        name: deviceId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponse'
        '400':
          description: Bad Request
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceRequest'
        description: Device record
        required: true
      operationId: patchApiV1DeviceByDeviceId
      x-operation-id-source: derived
  /api/v1/device/{deviceId}/log:
    get:
      security:
      - ErplyClientCode: []
      - ErplySession: []
      - ErplyJWT: []
      - AccessToken: []
      description: Retrieve logged values for device record
      tags:
      - Device
      summary: Retrieve device record related logged values
      parameters:
      - description: Device id
        name: deviceId
        in: path
        required: true
        schema:
          type: integer
      - description: Log type name
        name: name
        in: query
        schema:
          type: string
      - description: Log entry time range lower bound (yyyy-mm-ddThh:mm:ssZ)
        name: dateStart
        in: query
        schema:
          type: string
      - description: Log entry time range upper bound (yyyy-mm-ddThh:mm:ssZ)
        name: dateEnd
        in: query
        schema:
          type: string
      - 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. Supported values are: `id`, `deviceId`, `workorderId`, `date`, `name`, `createdAt`, `updatedAt`'
        name: sort
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceLogResponse'
        '401':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      operationId: getApiV1DeviceByDeviceIdLog
      x-operation-id-source: derived
components:
  schemas:
    DeviceResponse:
      type: object
      properties:
        brand:
          type: string
          example: Volvo
        callerAccess:
          type: boolean
          example: false
        color:
          type: string
          example: yellow
        createdAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        createdById:
          type: integer
          example: 1
        customerId:
          type: integer
          example: 1
        data:
          type: object
        dateSoldAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        hidden:
          type: boolean
          example: false
        id:
          type: integer
          example: 1
        invoiceId:
          type: integer
          example: 1
        limitedAccess:
          type: boolean
          example: false
        model:
          type: string
          example: S90
        notes:
          type: string
          example: Some notes
        productId:
          type: integer
          example: 1
        productName:
          type: string
          example: Some product
        registration:
          type: string
          example: 123 abc
        relevance:
          type: number
          example: 0.5
        serial:
          type: string
          example: '123'
        updatedAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        updatedById:
          type: integer
          example: 1
        version:
          type: string
          example: '1'
        warrantyEndAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        warrantyStartAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        year:
          type: string
          example: '2020'
    DeviceRequest:
      type: object
      properties:
        brand:
          type: string
          example: Volvo
        color:
          type: string
          example: yellow
        customerId:
          type: integer
          example: 1
        data:
          type: object
        dateSoldAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        hidden:
          type: boolean
          example: false
        id:
          type: integer
          example: 1
        invoiceId:
          type: integer
          example: 1
        model:
          type: string
          example: S90
        notes:
          type: string
          example: Some notes
        productId:
          type: integer
          example: 1
        productName:
          type: string
          example: Some product
        registration:
          type: string
          example: 123 abc
        serial:
          type: string
          example: '123'
        setAccessToken:
          type: string
          example: secret
        version:
          type: string
          example: '1'
        warrantyEndAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        warrantyStartAt:
          type: string
          example: '2022-01-01T00:00:00Z'
        year:
          type: string
          example: '2020'
    DeviceLogResponse:
      type: object
      properties:
        createdAt:
          type: string
        createdById:
          type: integer
        date:
          type: string
        deviceId:
          type: integer
        id:
          type: integer
        name:
          type: string
        updatedAt:
          type: string
        updatedById:
          type: integer
        valueInt:
          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