HttpRequester
Requester submitting HTTP requests and extracting records from the response.
- type:
object - required:
["type"]
type
- Required: Yes
- type:
string - enum:
["HttpRequester"]
url_base
Deprecated, use the url instead. Base URL of the API source. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
- Required: No
- type:
string - Deprecated:
true— Useurlfield instead. - Available variables:
config,next_page_token,stream_interval,stream_partition,stream_slice,creation_response,polling_response,download_target
Examples:
https://connect.squareup.com/v2
{{ config['base_url'] or 'https://app.posthog.com'}}/api
https://connect.squareup.com/v2/quotes/{{ stream_partition['id'] }}/quote_line_groups
https://example.com/api/v1/resource/{{ next_page_token['id'] }}
url
The URL of the source API endpoint. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
- Required: No
- type:
string - Available variables:
config,next_page_token,stream_interval,stream_partition,stream_slice,creation_response,polling_response,download_target
Examples:
https://connect.squareup.com/v2
{{ config['url'] or 'https://app.posthog.com'}}/api
https://connect.squareup.com/v2/quotes/{{ stream_partition['id'] }}/quote_line_groups
https://example.com/api/v1/resource/{{ next_page_token['id'] }}
path
Deprecated, use the url instead. Path the specific API endpoint that this stream represents. Do not put sensitive information (e.g. API tokens) into this field - Use the Authenticator component for this.
- Required: No
- type:
string - Deprecated:
true— Useurlfield instead. - Available variables:
config,next_page_token,stream_interval,stream_partition,stream_slice,creation_response,polling_response,download_target
Examples:
/products
/quotes/{{ stream_partition['id'] }}/quote_line_groups
/trades/{{ config['symbol_id'] }}/history
http_method
The HTTP method used to fetch data from the source (can be GET or POST).
- Required: No
- type:
string - default:
GET - enum:
["GET","POST"]
Examples:
GET
POST
authenticator
Authentication method to use for requests sent to the API.
-
Required: No
-
anyOf:
- Allowed type:
ApiKeyAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
BasicHttpAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
BearerAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
OAuthAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
JwtAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
SessionTokenAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
SelectiveAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
CustomAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
NoAuth
- Allowed type:
-
anyOf:
- Allowed type:
LegacySessionTokenAuthenticator
- Allowed type:
-
anyOf:
- Allowed type:
RateLimitedMultipleTokenAuthenticator
- Allowed type:
fetch_properties_from_endpoint
Allows for retrieving a dynamic set of properties from an API endpoint which can be injected into outbound request using the stream_partition.extra_fields.
- Required: No
- Deprecated:
true— Usequery_propertiesfield instead. - Allowed type:
PropertiesFromEndpoint
query_properties
For APIs that require explicit specification of the properties to query for, this component will take a static or dynamic set of properties (which can be optionally split into chunks) and allow them to be injected into an outbound request by accessing stream_partition.extra_fields.
- Required: No
- Allowed type:
QueryProperties
request_parameters
Specifies the query parameters that should be set on an outgoing HTTP request given the inputs.
- Required: No
- Available variables:
next_page_token,stream_interval,stream_partition,stream_slice
Examples:
unit: day
query: last_event_time BETWEEN TIMESTAMP "{{ stream_interval.start_time }}" AND TIMESTAMP "{{ stream_interval.end_time }}"
searchIn: '{{ '',''.join(config.get(''search_in'', [])) }}'
sort_by[asc]: updated_at
-
anyOf:
-
type:
object -
additionalProperties:
-
anyOf:
- type:
string
- type:
-
anyOf:
- Allowed type:
QueryProperties
- Allowed type:
-
-
-
anyOf:
- type:
string
- type:
request_headers
Return any non-auth headers. Authentication headers will overwrite any overlapping headers returned from this method.
- Required: No
- Available variables:
next_page_token,stream_interval,stream_partition,stream_slice
Examples:
Output-Format: JSON
Version: '{{ config[''version''] }}'
-
anyOf:
-
type:
object -
additionalProperties:
- type:
string
- type:
-
-
anyOf:
- type:
string
- type:
request_body_data
Specifies how to populate the body of the request with a non-JSON payload. Plain text will be sent as is, whereas objects will be converted to a urlencoded form.
- Required: No
- Deprecated:
true— Userequest_bodyfield instead. - Available variables:
next_page_token,stream_interval,stream_partition,stream_slice
Examples:
[{"clause": {"type": "timestamp", "operator": 10, "parameters":
[{"value": {{ stream_interval['start_time'] | int * 1000 }} }]
}, "orderBy": 1, "columnName": "Timestamp"}]/
-
anyOf:
-
type:
object -
additionalProperties:
- type:
string
- type:
-
-
anyOf:
- type:
string
- type:
request_body_json
Specifies how to populate the body of the request with a JSON payload. Can contain nested objects.
- Required: No
- Deprecated:
true— Userequest_bodyfield instead. - Available variables:
next_page_token,stream_interval,stream_partition,stream_slice
Examples:
sort_order: ASC
sort_field: CREATED_AT
key: '{{ config[''value''] }}'
sort:
field: updated_at
order: ascending
-
anyOf:
- type:
object
- type:
-
anyOf:
- type:
string
- type:
request_body
Specifies how to populate the body of the request with a payload. Can contain nested objects.
-
Required: No
-
Available variables:
next_page_token,stream_interval,stream_partition,stream_slice -
anyOf:
- Allowed type:
RequestBodyPlainText
- Allowed type:
-
anyOf:
- Allowed type:
RequestBodyUrlEncodedForm
- Allowed type:
-
anyOf:
- Allowed type:
RequestBodyJsonObject
- Allowed type:
-
anyOf:
- Allowed type:
RequestBodyGraphQL
- Allowed type:
error_handler
Error handler component that defines how to handle errors.
-
Required: No
-
anyOf:
- Allowed type:
DefaultErrorHandler
- Allowed type:
-
anyOf:
- Allowed type:
CompositeErrorHandler
- Allowed type:
-
anyOf:
- Allowed type:
CustomErrorHandler
- Allowed type:
use_cache
Enables stream requests caching. When set to true, repeated requests to the same URL will return cached responses. Parent streams automatically have caching enabled. Only set this to false if you are certain that caching should be disabled, as it may negatively impact performance when the same data is needed multiple times (e.g., for scroll-based pagination APIs where caching causes duplicate records).
- Required: No
- type:
boolean - default:
false
connect_timeout_in_seconds
Maximum time to establish the connection (TCP + TLS handshake). When unset, no connect timeout is applied.
- Required: No
- type:
number - exclusiveMinimum:
0
Examples:
30
read_timeout_in_seconds
The maximum time to wait for the server to send any data (the first byte of the response, or the next chunk while the body is read). It is NOT a limit on the total request duration. When unset, no read timeout is applied. Only set it when every endpoint served by this requester responds well within the value; synchronous report or export endpoints can stay silent for minutes. Each timed-out attempt counts against the error handler's retry window (600 s for manifest connectors), so a value near 300 allows only a few retries.
- Required: No
- type:
number - exclusiveMinimum:
0
Examples:
300
use_tcp_keepalive
Enables TCP keepalive (60 s idle, 10 s probe interval, 6 probes) on this requester's connections, so dead or NAT-dropped connections are detected and fail instead of hanging forever. Does not fail slow but alive servers; use read_timeout_in_seconds to bound those.
- Required: No
- type:
boolean - default:
false
Examples:
true
$parameters
- Required: No
- type:
object