Trips
Update a trip budget item
Reads or changes budget items under the organization-owned trip. Amount changes also synchronize the fundraising goal when sync_budget_to_goal is enabled.
PUT
/
admin
/
trips
/
{tripId}
/
budget-items
/
{id}
Update a trip budget item
curl --request PUT \
--url https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"category": "<string>",
"description": "Please review the updated trip details.",
"amount": 40,
"sort_order": 1
}
'import requests
url = "https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}"
payload = {
"category": "<string>",
"description": "Please review the updated trip details.",
"amount": 40,
"sort_order": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
category: '<string>',
description: 'Please review the updated trip details.',
amount: 40,
sort_order: 1
})
};
fetch('https://api.gratona.com/v1/admin/trips/{tripId}/budget-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.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'category' => '<string>',
'description' => 'Please review the updated trip details.',
'amount' => 40,
'sort_order' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}"
payload := strings.NewReader("{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"trip_id": 123,
"category": "<string>",
"description": "<string>",
"amount": 123,
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Trip ID belonging to the authenticated organization.
Record ID within the organization and any parent resource in this route.
Body
application/json
Request fields accepted by this operation. Omitted optional properties retain the behavior described above.
Validation: required|string|max:255.
Maximum string length:
255Validation: nullable|string.
Example:
"Please review the updated trip details."
Validation: required|numeric|min:0|max:999999999.99.
Required range:
0 <= x <= 999999999.99Example:
40
Validation: nullable|integer|min:0.
Required range:
x >= 0Example:
1
⌘I
Update a trip budget item
curl --request PUT \
--url https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"category": "<string>",
"description": "Please review the updated trip details.",
"amount": 40,
"sort_order": 1
}
'import requests
url = "https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}"
payload = {
"category": "<string>",
"description": "Please review the updated trip details.",
"amount": 40,
"sort_order": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
category: '<string>',
description: 'Please review the updated trip details.',
amount: 40,
sort_order: 1
})
};
fetch('https://api.gratona.com/v1/admin/trips/{tripId}/budget-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.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'category' => '<string>',
'description' => 'Please review the updated trip details.',
'amount' => 40,
'sort_order' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}"
payload := strings.NewReader("{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/trips/{tripId}/budget-items/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category\": \"<string>\",\n \"description\": \"Please review the updated trip details.\",\n \"amount\": 40,\n \"sort_order\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"trip_id": 123,
"category": "<string>",
"description": "<string>",
"amount": 123,
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}