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 email required.

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: "\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 Attributes API
  contact: {}
  version: 2.36.5
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'
    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
  /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'
components:
  schemas:
    responses.Response:
      type: object
      properties:
        id:
          type: integer
          example: 73
    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
    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.BulkResponse:
      type: object
      properties:
        ids:
          type: array
          items:
            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