curl --request PATCH \
--url https://app.withforerunner.com/api/v1/files/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"externalDocumentURL": "https://permits.example.gov/documents/EC-2024-0417"
}
'import requests
url = "https://app.withforerunner.com/api/v1/files/{id}"
payload = { "externalDocumentURL": "https://permits.example.gov/documents/EC-2024-0417" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({externalDocumentURL: 'https://permits.example.gov/documents/EC-2024-0417'})
};
fetch('https://app.withforerunner.com/api/v1/files/{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://app.withforerunner.com/api/v1/files/{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([
'externalDocumentURL' => 'https://permits.example.gov/documents/EC-2024-0417'
]),
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://app.withforerunner.com/api/v1/files/{id}"
payload := strings.NewReader("{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://app.withforerunner.com/api/v1/files/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.withforerunner.com/api/v1/files/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}"
response = http.request(request)
puts response.read_body{
"errors": [],
"file": {
"id": "f8a3b2c1-d4e5-4789-abcd-ef0123456789"
}
}{
"errors": [
{
"message": "Invalid UUID format for id parameter",
"field": "id"
}
],
"file": null
}Update File
Updates the metadata on an existing file. externalDocumentURL is the only field you can change, and it is required. The file’s contents cannot be replaced; upload a new file instead.
curl --request PATCH \
--url https://app.withforerunner.com/api/v1/files/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"externalDocumentURL": "https://permits.example.gov/documents/EC-2024-0417"
}
'import requests
url = "https://app.withforerunner.com/api/v1/files/{id}"
payload = { "externalDocumentURL": "https://permits.example.gov/documents/EC-2024-0417" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({externalDocumentURL: 'https://permits.example.gov/documents/EC-2024-0417'})
};
fetch('https://app.withforerunner.com/api/v1/files/{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://app.withforerunner.com/api/v1/files/{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([
'externalDocumentURL' => 'https://permits.example.gov/documents/EC-2024-0417'
]),
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://app.withforerunner.com/api/v1/files/{id}"
payload := strings.NewReader("{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://app.withforerunner.com/api/v1/files/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.withforerunner.com/api/v1/files/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalDocumentURL\": \"https://permits.example.gov/documents/EC-2024-0417\"\n}"
response = http.request(request)
puts response.read_body{
"errors": [],
"file": {
"id": "f8a3b2c1-d4e5-4789-abcd-ef0123456789"
}
}{
"errors": [
{
"message": "Invalid UUID format for id parameter",
"field": "id"
}
],
"file": null
}Authorizations
Your account's API key, sent as Authorization: Bearer <your API key>. Keys are issued per environment, so a staging key will not work against production.
Path Parameters
UUID of the resource in Forerunner.
Body
Link to display this file in your system. Public website users will be directed here when viewing the file.
"https://permits.example.gov/documents/EC-2024-0417"
Response
Success. errors is empty.
Empty when the request succeeded. Otherwise one entry per failure, and the resource fields on the response are empty: null for single resources, [] for lists, with pageInfo omitted.
Show child attributes
Show child attributes
[]
The updated file. Null when the update failed.
Show child attributes
Show child attributes
Was this page helpful?