Erply Attributes API

Attributes are attached to entities. The possible entities are: product, recipe, warehouse location, assortment, brand, matrix dimension, matrix dimension value, category, country, family, group, package, parameter, parameter option, parameter set, parameter validation rule, parameter value, unit, supplier

Operations 3

GET /v1/attribute Read Attributes #
PUT /v1/attribute Attach / Update an Attribute #
DELETE /v1/attribute/{ids} Delete Attributes by ID #

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-attributes-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-attributes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Product information management API

    -------


    Summary


    It is built top of Erply''s current product database.'
  title: PIM Attributes API
  contact:
    email: david.zingerman@erply.com
  version: 1.143.20
tags:
- description: 'Attributes are attached to entities. The possible entities are: product, recipe, warehouse location, assortment, brand, matrix dimension, matrix dimension value, category, country, family, group, package, parameter, parameter option, parameter set, parameter validation rule, parameter value, unit, supplier'
  name: Attributes
paths:
  /v1/attribute:
    get:
      security:
      - sk: []
      - cc: []
      - jwt: []
      description: 'API client specifies record ID or multiple IDs and fetches attributes for all those records.

        Filtering & Sorting by Value is not supported.'
      tags:
      - Attributes
      summary: Read Attributes
      parameters:
      - description: records are the objects that have the attributes. The parameter can contain semicolon delimited IDs.
        name: recordIDs
        in: query
        schema:
          type: array
          items:
            type: integer
      - description: attributes entity
        name: entityName
        in: query
        required: true
        schema:
          type: string
          enum:
          - product
          - recipe
          - warehouse location
          - assortment
          - brand
          - matrix dimension
          - matrix dimension value
          - category
          - country
          - family
          - group
          - package
          - parameter
          - parameter option
          - parameter set
          - parameter validation rule
          - parameter value
          - unit
          - supplier
          - priority group
      - description: skip n records
        name: skip
        in: query
        schema:
          type: integer
      - description: amount to take
        name: take
        in: query
        schema:
          type: integer
      - description: the sort parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
        name: sort
        in: query
        schema:
          type: string
      - description: the filter parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
        name: filter
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/models.AttributeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
      operationId: getV1Attribute
      x-operation-id-source: derived
    put:
      security:
      - sk: []
      - cc: []
      - jwt: []
      description: 'To Create an attribute you must leave the id field empty. To Update you must specify the ID field. RecordID refers to the object that the attribute will be attached to. Product / invoice / customer, etc.

        Name cannot have spaces and is limited to 50 characters. One database record must not have multiple attributes with the same name.

        3 `types` are available - int, double, text. Based on the type the `value` should be number of text.'
      tags:
      - Attributes
      summary: Attach / Update an Attribute
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.Response'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/models.AttributeRequest'
        description: request
        required: true
      operationId: putV1Attribute
      x-operation-id-source: derived
  /v1/attribute/{ids}:
    delete:
      security:
      - sk: []
      - cc: []
      - jwt: []
      tags:
      - Attributes
      summary: Delete Attributes by ID
      parameters:
      - description: semicolon delimited IDs
        name: ids
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.BulkResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.MessageResponse'
      operationId: deleteV1AttributeByIds
      x-operation-id-source: derived
components:
  schemas:
    responses.BulkResponse:
      type: object
      properties:
        ids:
          type: array
          items:
            type: integer
    models.AttributeRequest:
      type: object
      properties:
        entity:
          description: Entity name of the record
          type: string
          example: product
        id:
          description: ID of the attribute
          type: integer
        name:
          description: name of the attribute
          type: string
          example: has_warranty
        record_id:
          description: ID of the record
          type: integer
          example: 7
        type:
          description: 3 types are available - int, double, text
          type: string
          example: int
        value:
          description: based on the type value should be number of text
    responses.MessageResponse:
      type: object
      properties:
        message:
          type: string
          example: some message
    models.AttributeResponse:
      type: object
      properties:
        entity:
          description: Entity name of the record
          type: string
          example: product
        id:
          description: ID of the attribute
          type: integer
          example: 33
        name:
          type: string
          example: has_warranty
        record_id:
          description: ID of the database record
          type: integer
          example: 7
        type:
          description: 3 types are available - int, double, text
          type: string
          example: text
        value:
          description: based on the type value can be number of text
    responses.Response:
      type: object
      properties:
        id:
          type: integer
          example: 73
  securitySchemes:
    cc:
      type: apiKey
      name: clientCode
      in: header
    jwt:
      type: apiKey
      name: jwt
      in: header
    sk:
      type: apiKey
      name: sessionKey
      in: header