Skip to content

Declared and discovered HTTP surfaces with the same base URL are not merged (duplicate REST entries) #58

Description

@czuli

On https://integrations.sh/buddy.works/ the REST API is listed twice: once as discovered (from OpenAPI probing) and once as declared (from our /.well-known/integrations.json), even though both point at the same base URL (https://api.buddy.works) and the discovered entry's auth already cites our integrations.json as evidence.

The MCP surface merges correctly (active mcp:initialize detection absorbed our declared auth into one entry), but for HTTP the two sources stay separate.

Additionally, slugs get incrementing collision suffixes on every forced refetch: after the first run we had buddy-rest-api (discovered) + buddy-rest-api-2 (declared); after the next ?force=1 run they became buddy-rest-api-2 + buddy-rest-api-2-2. Declaring a matching slug on our side doesn't help since slugs appear to be re-generated per run.

Expected: a declared HTTP surface whose url (and/or spec) matches a discovered one should merge into a single entry, same as MCP; slugs should stay stable across refetches.

Happy to provide more details - our declaration is at https://buddy.works/.well-known/integrations.json.

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