Skip to content

[Feature request]: Stop using GET requests to validate endpoints. #2315

@subomi

Description

@subomi

Is your feature request related to a problem? Please describe.

It's frustrating that Convoy currently uses a GET request to validate an endpoint during configuration or testing. This can cause unintended side effects on user endpoints, especially if GET has side effects or triggers logic on the receiving service.

Describe the solution you'd like

Convoy should issue an OPTIONS request instead of a GET when validating an endpoint. Alternatively, we could simply dial the endpoint to check connectivity (e.g., using a HEAD request or TCP dial) without sending an HTTP method that could be misinterpreted as a meaningful API call.

Describe alternatives you've considered

  • Continuing with GET, but warning users about the side effects (not ideal).
  • Allowing the HTTP method for validation to be configurable.
  • Using HEAD, although not all servers support it correctly.
  • Performing a raw TCP dial to validate connectivity.

Additional context

Using OPTIONS is a common and safe way to probe endpoints without triggering business logic. Some webhook providers (like GitHub) follow this pattern for validation. This change would improve developer experience and reduce the risk of unexpected behavior during setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions