<?xml version="1.0"?>
<!--
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    Mage
 * @package     Mage_Catalog
 * @copyright   Copyright (c) 2006-2017 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
-->
<config>
    <api>
        <resources>
            <catalog_category translate="title" module="catalog">
                <model>catalog/category_api</model>
                <title>Category API</title>
                <acl>catalog/category</acl>
                <methods>
                    <currentStore>
                        <title>Set/Get current store view</title>
                    </currentStore>
                    <tree translate="title" module="catalog">
                        <title>Retrieve hierarchical tree</title>
                        <acl>catalog/category/tree</acl>
                    </tree>
                    <level translate="title" module="catalog">
                        <title>Retrieve one level of categories by website/store view/parent category</title>
                    </level>
                    <info translate="title" module="catalog">
                        <title>Retrieve category data</title>
                        <acl>catalog/category/info</acl>
                    </info>
                    <create translate="title" module="catalog">
                        <title>Create new category</title>
                        <acl>catalog/category/create</acl>
                    </create>
                    <update translate="title" module="catalog">
                        <title>Update category</title>
                        <acl>catalog/category/update</acl>
                    </update>
                    <move translate="title" module="catalog">
                        <title>Move category in tree</title>
                        <acl>catalog/category/move</acl>
                    </move>
                    <delete translate="title" module="catalog">
                        <title>Delete category</title>
                        <acl>catalog/category/delete</acl>
                    </delete>
                    <assignedProducts translate="title" module="catalog">
                        <title>Retrieve list of assigned products</title>
                        <acl>catalog/category/product</acl>
                    </assignedProducts>
                    <assignProduct translate="title" module="catalog">
                        <title>Assign product to category</title>
                        <acl>catalog/category/product/assign</acl>
                    </assignProduct>
                    <updateProduct translate="title" module="catalog">
                        <title>Update assigned product</title>
                        <acl>catalog/category/product/update</acl>
                    </updateProduct>
                    <removeProduct translate="title" module="catalog">
                        <title>Remove product assignment</title>
                        <acl>catalog/category/product/remove</acl>
                    </removeProduct>
                </methods>
                <faults module="catalog">
                    <store_not_exists>
                        <code>100</code>
                        <message>Requested store view not found.</message>
                    </store_not_exists>
                    <website_not_exists>
                        <code>101</code>
                        <message>Requested website not found.</message>
                    </website_not_exists>
                    <not_exists>
                        <code>102</code>
                        <message>Category not exists.</message>
                    </not_exists>
                    <data_invalid>
                        <code>103</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <not_moved>
                        <code>104</code>
                        <message>Category not moved. Details in error message.</message>
                    </not_moved>
                    <not_deleted>
                        <code>105</code>
                        <message>Category not deleted. Details in error message.</message>
                    </not_deleted>
                    <product_not_assigned>
                        <code>106</code>
                        <message>Requested product is not assigned to category.</message>
                    </product_not_assigned>
                </faults>
            </catalog_category>
            <catalog_category_attribute translate="title" module="catalog">
                <title>Category attributes API</title>
                <model>catalog/category_attribute_api</model>
                <acl>catalog/category</acl>
                <methods>
                    <currentStore translate="title" module="catalog">
                        <title>Set/Get current store view</title>
                    </currentStore>
                    <list translate="title" module="catalog">
                        <title>Retrieve category attributes</title>
                        <method>items</method>
                    </list>
                    <options translate="title" module="catalog">
                        <title>Retrieve attribute options</title>
                    </options>
                </methods>
                <faults module="catalog">
                    <store_not_exists>
                        <code>100</code>
                        <message>Requested store view not found.</message>
                    </store_not_exists>
                    <not_exists>
                        <code>101</code>
                        <message>Requested attribute not found.</message>
                    </not_exists>
                </faults>
            </catalog_category_attribute>
            <catalog_product translate="title" module="catalog">
                <title>Product API</title>
                <model>catalog/product_api</model>
                <acl>catalog/product</acl>
                <methods>
                    <currentStore translate="title" module="catalog">
                        <title>Set/Get current store view</title>
                    </currentStore>
                    <list translate="title" module="catalog">
                        <title>Retrieve products list by filters</title>
                        <method>items</method>
                        <acl>catalog/product/info</acl>
                    </list>
                    <info translate="title" module="catalog">
                        <title>Retrieve product</title>
                        <acl>catalog/product/info</acl>
                    </info>
                    <create translate="title" module="catalog">
                        <title>Create new product</title>
                        <acl>catalog/product/create</acl>
                    </create>
                    <update translate="title" module="catalog">
                        <title>Update product</title>
                        <acl>catalog/product/update</acl>
                    </update>
                    <multiUpdate translate="title" module="catalog">
                        <title>Multi update product</title>
                        <acl>catalog/product/update</acl>
                    </multiUpdate>
                    <delete translate="title" module="catalog">
                        <title>Delete product</title>
                        <acl>catalog/product/delete</acl>
                    </delete>
                    <getSpecialPrice translate="title" module="catalog">
                        <title>Get special price</title>
                    </getSpecialPrice>
                    <setSpecialPrice translate="title" module="catalog">
                        <title>Set special price</title>
                        <acl>catalog/product/update</acl>
                    </setSpecialPrice>
                    <listOfAdditionalAttributes translate="title" module="catalog">
                        <title>Get list of non-default attributes by product type and attributes set</title>
                        <method>getAdditionalAttributes</method>
                        <acl>catalog/product/listOfAdditionalAttributes</acl>
                    </listOfAdditionalAttributes>
                </methods>
                <faults module="catalog">
                    <store_not_exists>
                        <code>100</code>
                        <message>Requested store view not found.</message>
                    </store_not_exists>
                    <product_not_exists>
                        <code>101</code>
                        <message>Product not exists.</message>
                    </product_not_exists>
                    <data_invalid>
                        <code>102</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <not_deleted>
                        <code>103</code>
                        <message>Product not deleted. Details in error message.</message>
                    </not_deleted>
                    <product_type_not_exists>
                        <code>104</code>
                        <message>Product type is not in allowed types.</message>
                    </product_type_not_exists>
                    <product_attribute_set_not_exists>
                        <code>105</code>
                        <message>Product attribute set is not existed</message>
                    </product_attribute_set_not_exists>
                    <product_attribute_set_not_valid>
                        <code>106</code>
                        <message>Product attribute set is not belong catalog product entity type</message>
                    </product_attribute_set_not_valid>
                    <multi_update_not_match>
                        <code>107</code>
                        <message>Quantity of product IDs and product data should match. No changes made.</message>
                    </multi_update_not_match>
                    <partially_updated>
                        <code>108</code>
                        <message>There was an error during one or more products update. See error log for details.</message>
                    </partially_updated>
                </faults>
            </catalog_product>
            <catalog_product_attribute translate="title" module="catalog">
                <title>Product attributes API</title>
                <model>catalog/product_attribute_api</model>
                <acl>catalog/product</acl>
                <methods>
                    <currentStore translate="title" module="catalog">
                        <title>Set/Get current store view</title>
                        <acl>catalog/product/attribute/write</acl>
                    </currentStore>
                    <list translate="title" module="catalog">
                        <title>Retrieve attribute list</title>
                        <method>items</method>
                        <acl>catalog/product/attribute/read</acl>
                    </list>
                    <options translate="title" module="catalog">
                        <title>Retrieve attribute options</title>
                        <acl>catalog/product/attribute/read</acl>
                    </options>
                    <types translate="title" module="catalog">
                        <title>Get list of possible attribute types</title>
                        <acl>catalog/product/attribute/types</acl>
                    </types>
                    <create translate="title" module="catalog">
                        <title>Create new attribute</title>
                        <acl>catalog/product/attribute/create</acl>
                    </create>
                    <update translate="title" module="catalog">
                        <title>Update attribute</title>
                        <acl>catalog/product/attribute/update</acl>
                    </update>
                    <remove translate="title" module="catalog">
                        <title>Delete attribute</title>
                        <acl>catalog/product/attribute/remove</acl>
                    </remove>
                    <info translate="title" module="catalog">
                        <title>Get full information about attribute with list of options</title>
                        <acl>catalog/product/attribute/info</acl>
                    </info>
                    <addOption translate="title" module="catalog">
                        <title>Add option</title>
                        <acl>catalog/product/attribute/option/add</acl>
                    </addOption>
                    <removeOption translate="title" module="catalog">
                        <title>Remove option</title>
                        <acl>catalog/product/attribute/option/remove</acl>
                    </removeOption>
                </methods>
                <faults module="catalog">
                    <store_not_exists>
                        <code>100</code>
                        <message>Requested store view not found.</message>
                    </store_not_exists>
                    <not_exists>
                        <code>101</code>
                        <message>Requested attribute not found.</message>
                    </not_exists>
                    <invalid_parameters>
                        <code>102</code>
                        <message>Invalid request parameters.</message>
                    </invalid_parameters>
                    <invalid_code>
                        <code>103</code>
                        <message>Attribute code is invalid. Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter.</message>
                    </invalid_code>
                    <invalid_frontend_input>
                        <code>104</code>
                        <message>Incorrect attribute type.</message>
                    </invalid_frontend_input>
                    <unable_to_save>
                        <code>105</code>
                        <message>Unable to save attribute.</message>
                    </unable_to_save>
                    <can_not_delete>
                        <code>106</code>
                        <message>This attribute cannot be deleted.</message>
                    </can_not_delete>
                    <can_not_edit>
                        <code>107</code>
                        <message>This attribute cannot be edited.</message>
                    </can_not_edit>
                    <unable_to_add_option>
                        <code>108</code>
                        <message>Unable to add option.</message>
                    </unable_to_add_option>
                    <unable_to_remove_option>
                        <code>109</code>
                        <message>Unable to remove option.</message>
                    </unable_to_remove_option>
                </faults>
            </catalog_product_attribute>
            <catalog_product_attribute_set translate="title" module="catalog">
                <title>Product attribute sets API</title>
                <model>catalog/product_attribute_set_api</model>
                <acl>catalog/product/attribute/set</acl>
                <methods>
                    <create translate="title" module="catalog">
                        <title>Create attribute set based on another set</title>
                        <acl>catalog/product/attribute/set/create</acl>
                    </create>
                    <remove translate="title" module="catalog">
                        <title>Remove attribute set</title>
                        <acl>catalog/product/attribute/set/remove</acl>
                    </remove>
                    <list translate="title" module="catalog">
                        <title>Retrieve product attribute sets</title>
                        <method>items</method>
                        <acl>catalog/product/attribute/set/list</acl>
                    </list>
                    <attributeAdd translate="title" module="catalog">
                        <title>Add attribute into attribute set</title>
                        <acl>catalog/product/attribute/set/attribute_add</acl>
                    </attributeAdd>
                    <attributeRemove translate="title" module="catalog">
                        <title>Remove attribute from attribute set</title>
                        <acl>catalog/product/attribute/set/attribute_remove</acl>
                    </attributeRemove>
                    <groupAdd translate="title" module="catalog">
                        <title>Add group into attribute set</title>
                        <acl>catalog/product/attribute/set/group_add</acl>
                    </groupAdd>
                    <groupRename translate="title" module="catalog">
                        <title>Rename existing group</title>
                        <acl>catalog/product/attribute/set/group_rename</acl>
                    </groupRename>
                    <groupRemove translate="title" module="catalog">
                        <title>Remove group from attribute set</title>
                        <acl>catalog/product/attribute/set/group_remove</acl>
                    </groupRemove>
                </methods>
                <faults module="catalog">
                    <invalid_skeleton_set_id>
                        <code>100</code>
                        <message>Attribute set with requested id does not exist.</message>
                    </invalid_skeleton_set_id>
                    <invalid_data>
                        <code>101</code>
                        <message>Invalid data given.</message>
                    </invalid_data>
                    <create_attribute_set_error>
                        <code>102</code>
                        <message>Error while creating attribute set. Details in error message.</message>
                    </create_attribute_set_error>
                    <remove_attribute_set_error>
                        <code>103</code>
                        <message>Error while removing attribute set. Details in error message.</message>
                    </remove_attribute_set_error>
                    <invalid_attribute_set_id>
                        <code>104</code>
                        <message>Attribute set with requested id does not exist.</message>
                    </invalid_attribute_set_id>
                    <attribute_set_has_related_products>
                        <code>105</code>
                        <message>Unable to remove attribute set as it has related goods. Use forceProductsRemove parameter to remove attribute set with all goods.</message>
                    </attribute_set_has_related_products>
                    <invalid_attribute_id>
                        <code>106</code>
                        <message>Attribute with requested id does not exist.</message>
                    </invalid_attribute_id>
                    <add_attribute_error>
                        <code>107</code>
                        <message>Error while adding attribute to attribute set. Details in error message.</message>
                    </add_attribute_error>
                    <invalid_attribute_group_id>
                        <code>108</code>
                        <message>Attribute group with requested id does not exist.</message>
                    </invalid_attribute_group_id>
                    <attribute_is_already_in_set>
                        <code>109</code>
                        <message>Requested attribute is already in requested attribute set.</message>
                    </attribute_is_already_in_set>
                    <remove_attribute_error>
                        <code>110</code>
                        <message>Error while removing attribute from attribute set. Details in error message.</message>
                    </remove_attribute_error>
                    <attribute_is_not_in_set>
                        <code>111</code>
                        <message>Requested attribute is not in requested attribute set.</message>
                    </attribute_is_not_in_set>
                    <group_already_exists>
                        <code>112</code>
                        <message>Requested group exist already in requested attribute set.</message>
                    </group_already_exists>
                    <group_add_error>
                        <code>113</code>
                        <message>Error while adding group to attribute set. Details in error message.</message>
                    </group_add_error>
                    <group_rename_error>
                        <code>114</code>
                        <message>Error while renaming group. Details in error message.</message>
                    </group_rename_error>
                    <group_remove_error>
                        <code>115</code>
                        <message>Error while removing group from attribute set. Details in error message.</message>
                    </group_remove_error>
                    <group_has_system_attributes>
                        <code>116</code>
                        <message>Group can not be removed as it contains system attributes.</message>
                    </group_has_system_attributes>
                    <group_has_configurable_attributes>
                        <code>117</code>
                        <message>Group can not be removed as it contains attributes, used in configurable products.</message>
                    </group_has_configurable_attributes>
                </faults>
            </catalog_product_attribute_set>
            <catalog_product_type translate="title" module="catalog">
                <title>Product types API</title>
                <model>catalog/product_type_api</model>
                <acl>catalog/product</acl>
                <methods>
                    <list translate="title" module="catalog">
                        <title>Retrieve product types</title>
                        <method>items</method>
                    </list>
                </methods>
                <faults module="catalog">
                </faults>
            </catalog_product_type>
            <catalog_product_attribute_media translate="title" module="catalog">
                <title>Product Images API</title>
                <model>catalog/product_attribute_media_api</model>
                <acl>catalog/product/media</acl>
                <methods>
                    <currentStore translate="title" module="catalog">
                        <title>Set/Get current store view</title>
                    </currentStore>
                    <list translate="title" module="catalog">
                        <title>Retrieve product image list</title>
                        <method>items</method>
                    </list>
                    <info translate="title" module="catalog">
                        <title>Retrieve product image</title>
                    </info>
                    <types translate="title" module="catalog">
                        <title>Retrieve product image types</title>
                    </types>
                    <create translate="title" module="catalog">
                        <title>Upload new product image </title>
                        <acl>catalog/product/media/create</acl>
                    </create>
                    <update translate="title" module="catalog">
                        <title>Update product image</title>
                        <acl>catalog/product/media/update</acl>
                    </update>
                    <remove translate="title" module="catalog">
                        <title>Remove product image</title>
                        <acl>catalog/product/media/remove</acl>
                    </remove>
                </methods>
                <faults module="catalog">
                    <store_not_exists>
                        <code>100</code>
                        <message>Requested store view not found.</message>
                    </store_not_exists>
                    <product_not_exists>
                        <code>101</code>
                        <message>Product not exists.</message>
                    </product_not_exists>
                    <data_invalid>
                        <code>102</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <not_exists>
                        <code>103</code>
                        <message>Requested image not exists in product images' gallery.</message>
                    </not_exists>
                    <not_created>
                        <code>104</code>
                        <message>Image creation failed. Details in error message.</message>
                    </not_created>
                    <not_updated>
                        <code>105</code>
                        <message>Image not updated. Details in error message.</message>
                    </not_updated>
                    <not_removed>
                        <code>106</code>
                        <message>Image not removed. Details in error message.</message>
                    </not_removed>
                    <not_media>
                        <code>107</code>
                        <message>Requested product doesn't support images</message>
                    </not_media>
                </faults>
            </catalog_product_attribute_media>
            <catalog_product_attribute_tier_price translate="title" module="catalog">
                <title>Product Tier Price API</title>
                <model>catalog/product_attribute_tierprice_api</model>
                <acl>catalog/product</acl>
                <methods>
                    <info translate="title" module="catalog">
                        <title>Retrieve product tier prices</title>
                    </info>
                    <update translate="title" module="catalog">
                        <title>Update product tier prices</title>
                        <acl>catalog/product/update_tier_price</acl>
                    </update>
                </methods>
                <faults module="catalog">
                    <product_not_exists>
                        <code>100</code>
                        <message>Product not exists.</message>
                    </product_not_exists>
                    <data_invalid>
                        <code>101</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <not_updated>
                        <code>102</code>
                        <message>Tier prices not updated. Details in error message.</message>
                    </not_updated>
                </faults>
            </catalog_product_attribute_tier_price>
            <catalog_product_link translate="title" module="catalog">
                <title>Product links API (related, cross sells, up sells)</title>
                <model>catalog/product_link_api</model>
                <acl>catalog/product/link</acl>
                <methods>
                    <list translate="title" module="catalog">
                        <title>Retrieve linked products</title>
                        <method>items</method>
                    </list>
                    <assign translate="title" module="catalog">
                        <title>Assign product link</title>
                        <acl>catalog/product/link/assign</acl>
                    </assign>
                    <update translate="title" module="catalog">
                        <title>Update product link</title>
                        <acl>catalog/product/link/update</acl>
                    </update>
                    <remove translate="title" module="catalog">
                        <title>Remove product link</title>
                        <acl>catalog/product/link/remove</acl>
                    </remove>
                    <types translate="title" module="catalog">
                        <title>Retrieve product link types</title>
                    </types>
                    <attributes translate="title" module="catalog">
                        <title>Retrieve product link type attributes</title>
                    </attributes>
                </methods>
                <faults module="catalog">
                    <type_not_exists>
                        <code>100</code>
                        <message>Given invalid link type.</message>
                    </type_not_exists>
                    <product_not_exists>
                        <code>101</code>
                        <message>Product not exists.</message>
                    </product_not_exists>
                    <data_invalid>
                        <code>102</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <not_removed>
                        <code>104</code>
                        <message>Product link not removed.</message>
                    </not_removed>
                </faults>
            </catalog_product_link>
            <catalog_product_custom_option translate="title" module="catalog">
                <title>Catalog product custom options API</title>
                <model>catalog/product_option_api</model>
                <acl>catalog/product/option</acl>
                <methods>
                    <add translate="title" module="catalog">
                        <title>Add new custom option into product</title>
                        <acl>catalog/product/option/add</acl>
                    </add>
                    <update translate="title" module="catalog">
                        <title>Update custom option of product</title>
                        <acl>catalog/product/option/update</acl>
                    </update>
                    <types translate="title" module="catalog">
                        <title>Get list of available custom option types</title>
                        <acl>catalog/product/option/types</acl>
                    </types>
                    <info translate="title" module="catalog">
                        <title>Get full information about custom option in product</title>
                        <acl>catalog/product/option/info</acl>
                    </info>
                    <list translate="title" module="catalog">
                        <title>Retrieve list of product custom options</title>
                        <acl>catalog/product/option/list</acl>
                        <method>items</method>
                    </list>
                    <remove translate="title" module="catalog">
                        <title>Remove custom option</title>
                        <acl>catalog/product/option/remove</acl>
                    </remove>
                </methods>
                <faults module="catalog">
                    <product_not_exists>
                        <code>101</code>
                        <message>Product with requested id does not exist.</message>
                    </product_not_exists>
                    <invalid_data>
                        <code>102</code>
                        <message>Provided data is invalid.</message>
                    </invalid_data>
                    <save_option_error>
                        <code>103</code>
                        <message>Error while saving an option. Details are in the error message.</message>
                    </save_option_error>
                    <store_not_exists>
                        <code>104</code>
                        <message>Store with requested code/id does not exist.</message>
                    </store_not_exists>
                    <option_not_exists>
                        <code>105</code>
                        <message>Option with requested id does not exist.</message>
                    </option_not_exists>
                    <invalid_type>
                        <code>106</code>
                        <message>Invalid option type provided. Call 'types' to get list of allowed option types.</message>
                    </invalid_type>
                    <delete_option_error>
                        <code>107</code>
                        <message>Error while deleting an option. Details are in the error message.</message>
                    </delete_option_error>
                </faults>
            </catalog_product_custom_option>
            <catalog_product_custom_option_value translate="title" module="catalog">
                <title>Catalog product custom option values API</title>
                <model>catalog/product_option_value_api</model>
                <acl>catalog/product/option/value</acl>
                <methods>
                    <list translate="title" module="catalog">
                        <title>Retrieve list of option values</title>
                        <method>items</method>
                        <acl>catalog/product/option/value/list</acl>
                    </list>
                    <info translate="title" module="catalog">
                        <title>Retrieve option value info</title>
                        <acl>catalog/product/option/value/info</acl>
                    </info>
                    <add translate="title" module="catalog">
                        <title>Add new values into custom option</title>
                        <acl>catalog/product/option/value/add</acl>
                    </add>
                    <update translate="title" module="catalog">
                        <title>Update value of custom option</title>
                        <acl>catalog/product/option/value/update</acl>
                    </update>
                    <remove translate="title" module="catalog">
                        <title>Remove value from custom option</title>
                        <acl>catalog/product/option/value/remove</acl>
                    </remove>
                </methods>
                <faults module="catalog">
                    <value_not_exists>
                        <code>101</code>
                        <message>Option value with requested id does not exist.</message>
                    </value_not_exists>
                    <add_option_value_error>
                        <code>102</code>
                        <message>Error while adding an option value. Details are in the error message.</message>
                    </add_option_value_error>
                    <option_not_exists>
                        <code>103</code>
                        <message>Option with requested id does not exist.</message>
                    </option_not_exists>
                    <invalid_option_type>
                        <code>104</code>
                        <message>Invalid option type.</message>
                    </invalid_option_type>
                    <store_not_exists>
                        <code>105</code>
                        <message>Store with requested code/id does not exist.</message>
                    </store_not_exists>
                    <can_not_delete>
                        <code>106</code>
                        <message>Can not delete option.</message>
                    </can_not_delete>
                    <update_option_value_error>
                        <code>107</code>
                        <message>Error while updating an option value. Details are in the error message.</message>
                    </update_option_value_error>
                    <option_value_title_required>
                        <code>108</code>
                        <message>Title field is required.</message>
                    </option_value_title_required>
                    <cant_delete_last_value>
                        <code>109</code>
                        <message>Option should have at least one value. Can not delete last value.</message>
                    </cant_delete_last_value>
                </faults>
            </catalog_product_custom_option_value>
        </resources>
        <resources_alias>
            <category>catalog_category</category>
            <category_attribute>catalog_category_attribute</category_attribute>
            <product>catalog_product</product>
            <product_attribute>catalog_product_attribute</product_attribute>
            <product_attribute_set>catalog_product_attribute_set</product_attribute_set>
            <product_type>catalog_product_type</product_type>
            <product_link>catalog_product_link</product_link>
            <product_attribute_media>catalog_product_attribute_media</product_attribute_media>
            <product_media>catalog_product_attribute_media</product_media>
            <product_attribute_tier_price>catalog_product_attribute_tier_price</product_attribute_tier_price>
            <product_tier_price>catalog_product_attribute_tier_price</product_tier_price>
            <product_custom_option>catalog_product_custom_option</product_custom_option>
            <product_custom_option_value>catalog_product_custom_option_value</product_custom_option_value>
        </resources_alias>
        <v2>
            <resources_function_prefix>
                <category>catalogCategory</category>
                <category_attribute>catalogCategoryAttribute</category_attribute>
                <product>catalogProduct</product>
                <product_attribute>catalogProductAttribute</product_attribute>
                <product_attribute_set>catalogProductAttributeSet</product_attribute_set>
                <product_type>catalogProductType</product_type>
                <product_tier_price>catalogProductAttributeTierPrice</product_tier_price>
                <product_attribute_media>catalogProductAttributeMedia</product_attribute_media>
                <product_link>catalogProductLink</product_link>
                <product_custom_option>catalogProductCustomOption</product_custom_option>
                <product_custom_option_value>catalogProductCustomOptionValue</product_custom_option_value>
            </resources_function_prefix>
        </v2>
        <rest>
            <mapping>
                <catalog_category>
                    <get_list>
                        <method>tree</method>
                    </get_list>
                </catalog_category>
                <catalog_product_attribute_media>
                    <delete>
                        <method>remove</method>
                    </delete>
                </catalog_product_attribute_media>
                <catalog_product_link>
                    <post>
                        <method>assign</method>
                    </post>
                    <delete>
                        <method>remove</method>
                    </delete>
                </catalog_product_link>
            </mapping>
        </rest>
        <acl>
            <resources>
                <catalog translate="title" module="catalog">
                    <title>Catalog</title>
                    <sort_order>1</sort_order>
                    <category translate="title" module="catalog">
                        <title>Category</title>
                        <create translate="title" module="catalog">
                            <title>Create</title>
                        </create>
                        <update translate="title" module="catalog">
                            <title>Update</title>
                        </update>
                        <move translate="title" module="catalog">
                            <title>Move</title>
                        </move>
                        <delete translate="title" module="catalog">
                            <title>Delete</title>
                        </delete>
                        <tree translate="title" module="catalog">
                            <title>Retrieve categories tree</title>
                        </tree>
                        <info translate="title" module="catalog">
                            <title>Retrieve category data</title>
                        </info>
                        <attributes module="catalog" model="catalog/category">
                            <title>Allowed Attributes (REST Only)</title>
                            <sort_order>0</sort_order>
                        </attributes>
                        <product translate="title" module="catalog">
                            <title>Assigned Products</title>
                            <sort_order>100</sort_order>
                            <assign translate="title" module="catalog">
                                <title>Assign</title>
                            </assign>
                            <update translate="title" module="catalog">
                                <title>Update</title>
                            </update>
                            <remove translate="title" module="catalog">
                                <title>Remove</title>
                            </remove>
                        </product>
                    </category>
                    <product translate="title" module="catalog">
                        <title>Product</title>
                        <create translate="title" module="catalog">
                            <title>Create</title>
                        </create>
                        <update translate="title" module="catalog">
                            <title>Update</title>
                        </update>
                        <delete translate="title" module="catalog">
                            <title>Delete</title>
                        </delete>
                        <update_tier_price translate="title" module="catalog">
                            <title>Update Tier Price</title>
                        </update_tier_price>
                        <info translate="title" module="catalog">
                            <title>Retrieve products data</title>
                        </info>
                        <listOfAdditionalAttributes>
                            <title>Get list of non-default attributes by product type and attributes set</title>
                        </listOfAdditionalAttributes>
                        <attributes module="catalog" model="catalog/product">
                            <title>Allowed Attributes (REST Only)</title>
                            <sort_order>0</sort_order>
                        </attributes>
                        <attribute translate="title" module="catalog">
                            <title>Product Attributes</title>
                            <sort_order>100</sort_order>
                            <read translate="title" module="catalog">
                                <title>Retrieve attribute data</title>
                            </read>
                            <write translate="title" module="catalog">
                                <title>Change or Retrieve attribute store view</title>
                            </write>
                            <types translate="title" module="catalog">
                                <title>Get list of possible attribute types</title>
                            </types>
                            <create translate="title" module="catalog">
                                <title>Create</title>
                            </create>
                            <update translate="title" module="catalog">
                                <title>Update</title>
                            </update>
                            <remove translate="title" module="catalog">
                                <title>Remove</title>
                            </remove>
                            <info translate="title" module="catalog">
                                <title>Get full information about attribute with list of options</title>
                            </info>
                            <option translate="title" module="catalog">
                                <title>Options</title>
                                <add translate="title" module="catalog">
                                    <title>Add</title>
                                </add>
                                <remove translate="title" module="catalog">
                                    <title>Remove</title>
                                </remove>
                            </option>
                            <set translate="title" module="catalog">
                                <title>Attribute Sets</title>
                                <list translate="title" module="catalog">
                                    <title>List</title>
                                </list>
                                <create translate="title" module="catalog">
                                    <title>Create</title>
                                </create>
                                <remove translate="title" module="catalog">
                                    <title>Remove</title>
                                </remove>
                                <attribute_add translate="title" module="catalog">
                                    <title>Attribute add</title>
                                </attribute_add>
                                <attribute_remove translate="title" module="catalog">
                                    <title>Attribute remove</title>
                                </attribute_remove>
                                <group_add translate="title" module="catalog">
                                    <title>Group add</title>
                                </group_add>
                                <group_rename translate="title" module="catalog">
                                    <title>Rename group</title>
                                </group_rename>
                                <group_remove translate="title" module="catalog">
                                    <title>Group remove</title>
                                </group_remove>
                            </set>
                        </attribute>
                        <link translate="title" module="catalog">
                            <title>Link (Related, Up sell, Cross sell)</title>
                            <sort_order>101</sort_order>
                            <assign translate="title" module="catalog">
                                <title>Assign</title>
                            </assign>
                            <update translate="title" module="catalog">
                                <title>Update</title>
                            </update>
                            <remove translate="title" module="catalog">
                                <title>Remove</title>
                            </remove>
                        </link>
                        <media translate="title" module="catalog">
                            <title>Product Images</title>
                            <sort_order>102</sort_order>
                            <create translate="title" module="catalog">
                                <title>Create (Upload)</title>
                            </create>
                            <update translate="title" module="catalog">
                                <title>Update</title>
                            </update>
                            <remove translate="title" module="catalog">
                                <title>Remove</title>
                            </remove>
                        </media>
                        <option translate="title" module="catalog">
                            <title>Custom options</title>
                            <sort_order>105</sort_order>
                            <add translate="title" module="catalog">
                                <title>Add</title>
                            </add>
                            <update translate="title" module="catalog">
                                <title>Update</title>
                            </update>
                            <types translate="title" module="catalog">
                                <title>List of types</title>
                            </types>
                            <info translate="title" module="catalog">
                                <title>Info</title>
                            </info>
                            <list translate="title" module="catalog">
                                <title>List</title>
                            </list>
                            <remove translate="title" module="catalog">
                                <title>Remove</title>
                            </remove>
                            <value translate="title" module="catalog">
                                <title>Option values</title>
                                <sort_order>107</sort_order>
                                <list translate="title" module="catalog">
                                    <title>List</title>
                                </list>
                                <info translate="title" module="catalog">
                                    <title>Info</title>
                                </info>
                                <add translate="title" module="catalog">
                                    <title>Add</title>
                                </add>
                                <update translate="title" module="catalog">
                                    <title>Update</title>
                                </update>
                                <remove translate="title" module="catalog">
                                    <title>Remove</title>
                                </remove>
                            </value>
                        </option>
                    </product>
                </catalog>
            </resources>
        </acl>
    </api>
</config>
