curl --request PATCH \
--url https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"quantity": 3
}'import requests
url = "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}"
payload = { "quantity": 3 }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({quantity: 3})
};
fetch('https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'quantity' => 3
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}"
payload := strings.NewReader("{\n \"quantity\": 3\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quantity\": 3\n}"
response = http.request(request)
puts response.read_body{
"id": "si_2c4mDfkPLLrLTCJ3wPCEHGYpkVf",
"object": "subscription_item",
"price": {
"currency": "CLP",
"product": {
"id": "prod_2c4mDgwQqkNwMHnXSc4DBjkbcWz",
"object": "product",
"created_at": "2026-06-01T15:00:00Z",
"description": null,
"image_url": null,
"metadata": {},
"mode": "live",
"name": "Updated seat"
},
"recurring": {
"interval": "month",
"interval_count": 1
},
"unit_amount": 9000
},
"quantity": 3
}{
"error": {
"type": "invalid_request_error",
"code": "invalid_positive_integer",
"param": "quantity",
"message": "Invalid positive integer: 0. It should be greater than zero.",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "id",
"message": "No such invoicing/subscription_item: si_2c4mDfkPLLrLTCJ3wPCEHGYpkVf",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "currency_mismatch",
"message": "Each subscription item's price currency must be compatible with the subscription's billing currency"
}
}Update a subscription item
Updates an item of a subscription. Pass quantity to change the number of units, and price_data to replace the item’s price with a newly created one. When the subscription has other items, the new price must use a currency compatible with theirs (a CLF price bills within a CLP subscription) and the same recurring interval. You can replace the price of a subscription’s only item with any currency. Changes take effect on the subscription’s next invoice, with no proration for the current billing period.
curl --request PATCH \
--url https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"quantity": 3
}'import requests
url = "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}"
payload = { "quantity": 3 }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({quantity: 3})
};
fetch('https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'quantity' => 3
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}"
payload := strings.NewReader("{\n \"quantity\": 3\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"quantity\": 3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/subscriptions/{subscription_id}/items/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quantity\": 3\n}"
response = http.request(request)
puts response.read_body{
"id": "si_2c4mDfkPLLrLTCJ3wPCEHGYpkVf",
"object": "subscription_item",
"price": {
"currency": "CLP",
"product": {
"id": "prod_2c4mDgwQqkNwMHnXSc4DBjkbcWz",
"object": "product",
"created_at": "2026-06-01T15:00:00Z",
"description": null,
"image_url": null,
"metadata": {},
"mode": "live",
"name": "Updated seat"
},
"recurring": {
"interval": "month",
"interval_count": 1
},
"unit_amount": 9000
},
"quantity": 3
}{
"error": {
"type": "invalid_request_error",
"code": "invalid_positive_integer",
"param": "quantity",
"message": "Invalid positive integer: 0. It should be greater than zero.",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "id",
"message": "No such invoicing/subscription_item: si_2c4mDfkPLLrLTCJ3wPCEHGYpkVf",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "invalid_request_error",
"code": "currency_mismatch",
"message": "Each subscription item's price currency must be compatible with the subscription's billing currency"
}
}Autorizaciones
Parámetros de ruta
The id of the subscription the item belongs to.
The id of the subscription item to update.
Cuerpo
Respuesta
The updated subscription item.
Unique identifier of the subscription item.
"si_2c4mDfkPLLrLTCJ3wPCEHGYpkVf"
Type of the object. Always subscription_item.
Price the item bills for on every billing cycle.
Show child attributes
Show child attributes
Number of units of the price the item bills for.
1
¿Esta página le ayudó?