# rye:signed:2026-04-01T06:26:12Z:935e4b703dbc96851781f0ac01c14854a8fe43d7318886550496aa897f6b550d:hDG7VuFPVF0XfR_RIudzJyq6QbdpWJ_Zxum_Y3UUNQ_9T413h8WmhHB4TGuTT6RGjKVwLJy358dK-0ITOR5RAg:6ea18199041a1ea8
version: "1.0.0"
tool_type: primitive
executor_id: null
category: rye/core/primitives
description: "HTTP client primitive - execute HTTP requests with configurable method, headers, and retry"

config_schema:
  type: object
  properties:
    method:
      type: string
      enum: [GET, POST, PUT, DELETE, PATCH]
      default: GET
    url:
      type: string
      description: "Request URL (supports ${VAR} templating)"
    headers:
      type: object
      description: Request headers
    body:
      type: object
      description: "Request body (for POST/PUT/PATCH)"
    timeout:
      type: integer
      default: 30
      description: Timeout in seconds
    auth:
      type: object
      properties:
        type:
          type: string
          enum: [bearer, api_key]
        token:
          type: string
          description: "Bearer token (supports ${VAR})"
        key:
          type: string
          description: "API key (supports ${VAR})"
        header:
          type: string
          default: X-API-Key
    retry:
      type: object
      properties:
        max_attempts:
          type: integer
          default: 1
        backoff:
          type: string
          enum: [exponential, linear]
          default: exponential
  required: [url]
