Samsung IAP Publish API
samsung iap publish api the samsung iap publish api is used to view, register, modify, and remove samsung in-app purchase iap items before you can start using the iap publish api, you must meet all requirements and use the required authorization header parameters in your requests see get started with the iap apis for more information noteusing the iap publish api to register, modify, or delete an item immediately changes it within the content, even when the content is in the for sale state the publish api can only be used for item product types it cannot be used for subscription product types see the iap programming guide for more information about item and subscription product types the following is a quick reference to the iap publish apis name request description view item list get /iap/v6/applications/ packagename/items request a list of item information within a scope appropriate for the page and size view individual item get /iap/v6/applications/ packagename/items/ id request detailed information on one item create item post /iap/v6/applications/ packagename/items register an in-app item modify item put /iap/v6/applications/ packagename/items modify an in-app item partial item modification patch /iap/v6/applications/ packagename/items modify the specified parameters of an in-app item remove item delete /iap/v6/applications/ packagename/items/ id remove an in-app item see in-app purchase for more information about iap functionality in seller portal view item list request a list of item information within a scope appropriate for the page and size request get /iap/v6/applications/ packagename/items?page={}&size={} name type in description page int query required number of pages of content to return size int query required number of items to be returned on a page curl \ -x get \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ "https //devapi samsungapps com/iap/v6/applications/com package name/items?page=1&size=20" response parameters name type description id string unique identifier of the in-app item registered in seller portal title string title of the in-app item registered in seller portal description string brief explanation of the in-app item registered in seller portal type string in-app item type item goods and services that charge users on a one-time basis non_consumable an item that is purchased only once and remains effective or available in the app at all times, even after deletion and re‑installation of the app for example, game boards or an upgrade starting from june 2025, the non_consumable type has been deprecated, and the ability to register new non-consumable items through the publish api will no longer be possible please refer to the programming guide for more information status string item distribution status in seller portal published item is for sale in galaxy store unpublished item is not available in galaxy store removed item has been removed from galaxy store itempaymentmethod phonebillstatus boolean whether or not the item is paid with an automatic payment on a phone bill true the item is paid by an automatic payment on a phone bill false the item is not paid by an automatic payment on a phone bill usdprice number the base price in usd united states of america dollars of the item the price can be set between 0 and 999 99 prices[] countryid string three-character country code iso 3166 of the country where the item is sold prices[] currency string three-character currency code iso 4217 of the specified country's currency for example, eur, gbp, usd prices[] localprice string price of the item in the specified country's currency totalcount number number of items listed in the response success status 200 success { "itemlist" [ { "id" "one_gallon_gas", "title" "1 gallon gas", "description" "fuel for driving game", "type" "item", "status" "published", "itempaymentmethod" { "phonebillstatus" true }, "usdprice" 0 900, "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 900" }, ] }, ], "totalcount" 3 } see failure response codes for a list of possible response codes when a request fails view individual item request detailed information about one item request get /iap/v6/applications/ packagename/items/ id name type description id string required unique identifier of the in-app item registered in seller portal curl \ -x get -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ "https //devapi samsungapps com/iap/v6/applications/com package name/items/one_gallon_gas" response see view item response parameters for a description of the response parameters success status 200 success { "id" "one_gallon_gas", "title" "1 gallon gas", "description" "fuel for driving game", "type" "item", "status" "published", "itempaymentmethod" { "phonebillstatus" true }, "usdprice" 0 900, "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 900" }, ] } see failure response codes for a list of possible response codes when a request fails create item register an in-app item request post /iap/v6/applications/com package name/items name type description id string required unique identifier of the in-app item registered in seller portal title string required title of the in-app item registered in seller portal description string required brief explanation of the in-app item registered in seller portal type string optional in-app product type item goods and services that charge users on a one-time basis status string required item distribution status in seller portal published item is for sale in galaxy store unpublished item is not available in galaxy store removed item has been removed from galaxy store itempaymentmethod phonebillstatus boolean required whether or not the item is paid with an automatic payment on a phone bill true the item is paid by an automatic payment on a phone bill false the item is not paid by an automatic payment on a phone bill usdprice number required the base price in usd united states of america dollars of the item the price can be set between 0 and 999 99 prices[] countryid string required three-character country code iso 3166 of the country where the item is sold prices[] currency string three-character currency code iso 4217 of the specified country's currency for example, eur, gbp, usd prices[] localprice string required price of the item in the specified country's currency curl \ -x post \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "1 gallon gas","description" "fuel for driving game","type" "item","status" "published","itempaymentmethod" {"phonebillstatus" true},"usdprice" 0 99,"prices" [{"countryid" "kor","currency" "krw","localprice" "1000"},{"countryid" "usa","currency" "usd","localprice" "0 99"}]}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published", "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "0 99" }, ] } see failure response codes for a list of possible response codes when a request fails modify item modify an in-app item the request replaces all existing information, except the content id, of the item tipto modify an app, use the response from view individual item to create the input required for this request request put /iap/v6/applications/ packagename/items see create item request for a description of the request parameters curl \ -x put \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "1 gallon gas","description" "fuel for driving game fix","type" "item","status" "published","itempaymentmethod" {"phonebillstatus" true},"usdprice" 1,"prices" [{"countryid" "kor","currency" "krw","localprice" "1000"},{"countryid" "usa","currency" "usd","localprice" "1"}]}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published", "prices" [ { "countryid" "kor", "currency" "krw", "localprice" "1000 000" }, { "countryid" "usa", "currency" "usd", "localprice" "1" }, ] } see failure response codes for a list of possible response codes when a request fails partial item modification modify the title, countryid, or localprice of an in-app item the id cannot be modified parameters that are not specified are not modified request patch /iap/v6/applications/ packagename/items name type description id string required unique identifier of the in-app item registered in seller portal title string title of the in-app item registered in seller portal prices[] countryid string three-character country code iso 3166 of the country where the item is sold prices[] localprice string price of the item in the specified country's currency curl \ -x patch \ -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ -d '{"id" "one_gallon_gas","title" "2 gallon gas"}' \ "https //devapi samsungapps com/iap/v6/applications/com package name/items" response success status 200 success { "id" "one_gallon_gas", "type" "item", "status" "published" } see failure response codes for a list of possible response codes when a request fails remove item remove an in-app item request delete /iap/v6/applications/ packagename/items/ id name type in description id string path required unique identifier of the in-app item registered in seller portal curl \ -x delete -h "content-type application/json" \ -h "authorization bearer <your-access-token>" \ -h "service-account-id <your-service-account-id>" \ "https //devapi samsungapps com/iap/v6/applications/com package name/items/one_gallon_gas" response success status 200 ok { "id" "one_gallon_gas" } see failure response codes for a list of possible response codes when a request fails failure response codes the following are response codes you may see when the request fails status code and message 400bad request 109 subscription is not yet supported117 price is under minimum value for example, the local price of 0 69 is lower than the minimum price of 0 99 118 price is lower than minimum unit for example, the local price of 1 099 does not match the minimal price unit of 0 01119 price exceeds maximum value120 non-consumable type is no longer supported400 bad request with wrong in-app product information 401unauthorized 101 user doesn't have permission to change this app103 failed to verify gateway server authorization 404not found 104 content doesn't exist please create content first 106 itemgroup doesn't exist in production level need to publish iap-supported app 110 product does not exist 409conflict 105 the product already exists with the requested id107 there are multiple itemgroupids or itemids with the requested packagename