Update data source
Update source metadata (URL, headers, interval, etc.). Fields are managed via the `/fields` sub-resource.
PUT
/data-sources/{id}
Update source metadata (URL, headers, interval, etc.). Fields are managed via the `/fields` sub-resource.
Authentication
Bearer Token (hu_api_key)
Path Parameters
id
string
required
path
Request Body required
application/jsonname
string
description
unknown
url
string (uri)
method
string
Enum:
GET, POSTheaders
unknown
body
unknown
auth_type
unknown
auth_config
unknown
root_path
unknown
fetch_interval_s
integer
timeout_ms
integer
fields
object[]
Array of:
id
string
path
string
REQUIRED
name_template
string
REQUIRED
rule_type
string
REQUIRED
Enum:
equals, in, diff_lte, truthy, http_okrule_config
object
REQUIRED
degraded_rule_config
unknown
display_order
number
Responses
200
Source updated
application/jsondata
object
id
string
404
Not found
curl -X PUT 'https://happyuptime.com/api/v1/data-sources/string' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "name": "string", "description": "string", "url": "https://example.com", "method": "GET", "headers": {}, "body": "string", "auth_type": "basic", "auth_config": {}, "root_path": "string", "fetch_interval_s": 30, "timeout_ms": 1000, "fields": [ { "id": "string", "path": "string", "name_template": "string", "rule_type": "equals", "rule_config": {}, "degraded_rule_config": {}, "display_order": 0 } ]}'
const response = await fetch('https://happyuptime.com/api/v1/data-sources/string', { method: 'PUT', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "name": "string", "description": "string", "url": "https://example.com", "method": "GET", "headers": {}, "body": "string", "auth_type": "basic", "auth_config": {}, "root_path": "string", "fetch_interval_s": 30, "timeout_ms": 1000, "fields": [ { "id": "string", "path": "string", "name_template": "string", "rule_type": "equals", "rule_config": {}, "degraded_rule_config": {}, "display_order": 0 } ] })});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.put('https://happyuptime.com/api/v1/data-sources/string', headers=headers, json={ "name": "string", "description": "string", "url": "https://example.com", "method": "GET", "headers": {}, "body": "string", "auth_type": "basic", "auth_config": {}, "root_path": "string", "fetch_interval_s": 30, "timeout_ms": 1000, "fields": [ { "id": "string", "path": "string", "name_template": "string", "rule_type": "equals", "rule_config": {}, "degraded_rule_config": {}, "display_order": 0 } ]})print(response.json())
200
Response
{ "data": { "id": "<string>" }}
API Playground
Try this endpoint
PUT
/data-sources/{id}