📊 State of Magento 2025

The Home for Magento 2 Excellence

Quality-tested Magento 2 modules. Explore. Evaluate. Elevate. #magento2

613 Modules
401 Ready
211 Need Help
🏆 Leaderboard
Popular Module Potentially Abandoned vv3.2.0

Magento2 Attribute Option Code

snowio/magento2-attribute-option-code

Adds a unique code to attribute options, allowing remote clients to create and reference options by code. Enables saving products with attribute option codes instead of IDs.

204,327
Downloads
Below average
11
GitHub Stars
Below average
2y ago
Last Release
1
Open Issues
Build Issues
2/3 checks passed

Build Tests

Composer Install
DI Compile
Templates

Code Quality

CS Coding Standard
2 errors , 96 warnings
PHPStan Failed

Tested on Magento 2.4.8-p3

Recent Test History

Each release is tested against the latest Magento version at that time.

vv3.2.0 on Magento 2.4.8-p3
Dec 27, 2025

Looking for Contributors

Dependency injection compilation fails. Your contribution could help the entire Magento community!

Contribute

Share This Module's Status

Magento2 Attribute Option Code Magento compatibility status badge

README

Loaded from GitHub

Magento 2 Attribute Option Code

Description

Magento 2 module that that adds a unique code to an attribute option. Attribute options can now be created by remote clients with an identifier (attribute option code) that the client can specify and later reference during product saves. Attribute options that were created with the client can also be deleted by specifing the attribute option code that belongs to the attribute option. Please refer to the endpoint table for uri endpoint paths.

Magento Versions

  • 2.3.x use 2.x tags
  • 2.4.x use master

Prerequisites

  • PHP 5.6 or newer
  • Composer (https://getcomposer.org/download/).
  • magento/framework 100 or newer
  • magento/module-eav 100 or newer
  • magento/module-catalog 101 or newer

Installation

composer require snowio/magento2-attribute-option-code
php bin/magento module:enable SnowIO_AttributeOptionCode
php bin/magento setup:upgrade

Usage

Endpoint table

| HTTP Method | URI Path | Description | |-------------|------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------| | POST | /V1/coded-attribute-options | Creates an Attribute option with a corresponding option code. See Creating a coded attribute option | | DELETE | /V1/coded-attribute-options/entity-type/:entityType/attribute-code/:attributeCode/option-code/:optionCode| Deletes an attribute option code. See Deleting attribute options for more information. |
| PUT | /V1/products-with-option-codes/:sku | Saves a product with attribute option codes specified instead of attribute option IDs'. See Specifying attribute options in products for more information |

Creating a coded attribute option

Request message body (JSON)

{
    "entity_type" : 4,
    "attribute_code" : "testAttribute",
    "option" : {
        "label": "foo",
        "value": "bar",
        "sort_order": 0,
        "is_default": true,
        "store_labels": [
            {
                "store_code" : "testStore",
                "label": "Foo Label Test"
            }
        ]
    }
}
Message body description
  • entity_type integer : The entity type that the attribute option corresponds to.
  • attribute_code string : The attribute code of the that corresponds to the option
  • option :
    • label string : The option label
    • value string : The option code
    • sort_order integer : The option's sort order
    • is_default boolean : default option flag
    • store_labels 1..n :
      • store_code string : The store code for the option
      • label string : The option label

Deleting attribute options

  • :entityType integer : The entity type that the attribute option corresponds to.
  • :attributeCode string : The attribute code that the attribute option corresponds to.
  • :optionCode string : The attribute option code.

Specifying attribute options in products

URI parameters

  • :sku string : The products sku.

Request message body (JSON)

{
    "product": {
        "type_id": "simple",
        "sku": "test-from-snowio-simple",
        "attribute_set_id": 4,
        "name": "test from snow.io simple",
        "price": 10,
        "visibility": 4,
        "status": 1,
        "custom_attributes": {
            "testAttribute": "bar"
        }
    }
}

NOTE that the value of the custom attribute testAttribute is the attribute option code bar.

License

This software is licensed under the MIT License. View the license

This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.