<@U04S8PLJWMT> in a declarative connector yaml, wh...
# replication-ask-ai
m
@kapa.ai in a declarative connector yaml, whats the difference between including request params in $parameters vs request_parameters?
k
Great question! These two approaches serve very different purposes in the declarative YAML framework. $parameters vs request_parameters request_parameters This directly sets query parameters on the outgoing HTTP request. Whatever you put here is sent to the API as URL query parameters (or via the request options provider). [Request Options]
Copy code
requester:
  type: HttpRequester
  url_base: "https://api.example.com/v1/"
  request_parameters:
    team_id: "{{ config['teamid'] }}"
    sort_order: "ASC"
$parameters This is a component-level configuration mechanism for passing values down through the component hierarchy — it does not directly set HTTP request parameters. Its purposes are: [Parameters] 1. Avoid repetition by defining a value once at a parent level and reusing it in child components. 2. Automatically populate component fields — if a parameter key matches a field name on a child component (like
path
on an
HttpRequester
), it is automatically assigned. [Auto Propagation] 3. String interpolation — values can be referenced via
{{ parameters['MyKey'] }}
.
Copy code
streams:
  shipping_rates:
    $ref: "#/definitions/base_stream"
    $parameters:
      path: shipping_rates   # automatically sets requester.path
      name: shipping_rates   # automatically sets stream.name
Can $parameters set request_parameters? Yes — indirectly. You can use
$parameters
to pass a value and then reference it inside
request_parameters
via interpolation:
Copy code
outer:
  $parameters:
    my_filter: "active"
  requester:
    request_parameters:
      status: "{{ parameters['my_filter'] }}"
Also, as seen in the Stripe connector,
request_parameters
itself can be passed as a
$parameters
value to propagate down to a requester: [Stripe manifest]
Copy code
retriever:
  $ref: "#/definitions/events_objects_retriever"
  $parameters:
    request_parameters:
      types[]: '{{["charge.captured", "charge.updated"]}}'
Summary 👍 0 button 👎 0 button â„šī¸ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help., with interactive elements