Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 17, 2025

This PR adds a new API endpoint that returns tags related to a specified tag based on co-occurrence in events.

Endpoint Details

URL: GET /api/tags/{slug}/related-tags

Response: JSON object with related tag names as keys and occurrence counts as values

Example:

GET /api/tags/techno/related-tags
{
  "house": 15,
  "electronic": 12,
  "dance": 8,
  "club": 6,
  "underground": 4
}

Implementation

The endpoint leverages the existing Tag::relatedTags() method which:

  • Analyzes events that contain the specified tag
  • Counts co-occurring tags across those events
  • Returns the top 5 most frequent related tags sorted by occurrence count

Changes Made

  1. Controller: Added relatedTags(Tag $tag) method to Api\TagsController
  2. Route: Added route definition in routes/api.php using Laravel's route model binding
  3. OpenAPI Spec: Updated public/postman/schemas/api.yml with complete endpoint documentation
  4. Tests: Created comprehensive test suite covering success cases, empty results, and 404 errors

Use Cases

This endpoint enables:

  • Tag recommendation systems
  • Related content discovery
  • Event categorization analysis
  • Building tag clouds based on relationships

The implementation follows existing code patterns and conventions, using minimal changes to add the new functionality.

Fixes #1537.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/LaravelCollective/html/zipball/64ddfdcaeeb8d332bd98bef442bef81e39c3910b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/abraham/twitteroauth/zipball/6a68a5e53f72fbb31d4d304dc4752d3adefe0d10
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/anhskohbo/no-captcha/zipball/87666572f0dbe1e3380a2e9ae7574bf3a2d0804e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/aws/aws-sdk-php/zipball/64ccde0a674425ea902232a6f7aa1a07dfcfe861
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/bepsvpt/secure-headers/zipball/946c4050bae960ccc50579dd2d24a2ca3cb7cdf9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/bobthecow/psysh/zipball/85057ceedee50c49d4f6ecaff73ee96adb3b3625
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/composer/ca-bundle/zipball/d665d22c417056996c59019579f1967dfe5c1e82
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/8a5116a7b9dda010e41438380c18eb2576719ef9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/filp/whoops/zipball/59a123a3d459c5a23055802237cb317f609867e5
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/firebase/php-jwt/zipball/d1e91ecf8c598d073d0995afa8cd5c75c6e19e66
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/getsentry/sentry-laravel/zipball/1293e5732f8405e12f000cdf5dee78c927a18de0
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/getsentry/sentry-php/zipball/8859631ba5ab15bc1af420b0eeed19ecc6c9d81d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/jamband/ripple/zipball/71320992990c0412f18ff72fac01ef1ef6ff432b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/kylewm/brevity-php/zipball/9700a3ca666ff9486bd8bed322d7096ef78b6580
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel-notification-channels/twitter/zipball/bd321f16b0baa66aa0c982364b860bc89bf03590
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/framework/zipball/8f7f9247cb8aad1a769d6b9815a6623d89b46b47
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/sanctum/zipball/8c104366459739f3ada0e994bcd3e6fd681ce3d5
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/socialite/zipball/d83639499ad14985c9a6a9713b70073300ce998d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/markuspoerschke/iCal/zipball/3123533f7ff0af015da1d788476204f936d18135
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nicmart/Tree/zipball/c55ba47c64a3cb7454c22e6d630729fc2aab23ff
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nunomaduro/collision/zipball/995245421d3d7593a6960822063bdba4f5d7cf1a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/paragonie/sodium_compat/zipball/a673d5f310477027cead2e2f2b6db5d8368157cb
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/phpseclib/phpseclib/zipball/1d0b5e7e1434678411787c5a0535e68907cf82d9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/predis/predis/zipball/f49e13ee3a2a825631562aa0223ac922ec5d058b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/pusher/pusher-http-php/zipball/148b0b5100d000ed57195acdf548a2b1b38ee3f7
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/ramsey/uuid/zipball/fdf4dd4e2ff1813111bd0ad58d7a1ddbb5b56c28
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/backtrace/zipball/cd37a49fce7137359ac30ecc44ef3e16404cccbe
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/browsershot/zipball/14d75679390b8b84a71b3a17dc5905928deeb887
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/crawler/zipball/f0f73947fdfaf68efdc68b73c4dbb28dfc785113
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/image-optimizer/zipball/4fd22035e81d98fffced65a8c20d9ec4daa9671c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/image/zipball/2f802853aab017aa615224daae1588054b5ab20e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/laravel-package-tools/zipball/d20b1969f836d210459b78683d85c9cd5c5f508c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/laravel-sitemap/zipball/d5115b430de517aaa29a6410f4cd6f1561766579
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/robots-txt/zipball/b1e225dc44b950bf6d02ed4e8d48dee2c2150dec
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/spatie/temporary-directory/zipball/580eddfe9a0a41a902cac6eeb8f066b42e65a32b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/suin/php-rss-writer/zipball/78f45e44a2a7cb0d82e4b9efb6f7b7a075b9051c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/console/zipball/7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/css-selector/zipball/cb23e97813c5837a041b73a6d63a9ddff0778f5e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/dom-crawler/zipball/19073e3e0bb50cbc1cb286077069b3107085206f
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/error-handler/zipball/ce765a2d28b3cce61de1fb916e207767a73171d1
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/http-client/zipball/3294a433fc9d12ae58128174896b5b1822c28dad
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/http-foundation/zipball/6b7c97fe1ddac8df3cc9ba6410c8abc683e148ae
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/http-kernel/zipball/15c105b839a7cfa1bc0989c091bfb6477f23b673
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/mailer/zipball/ada2809ccd4ec27aba9fc344e3efdaec624c6438
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/mailgun-mailer/zipball/ad4e79798a5eb80af99004a4871b4fe5effe33a3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/mime/zipball/fec8aa5231f3904754955fad33c2db50594d22d1
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/0RG9fG /usr/bin/composer install --no-dev (http block)
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/process/zipball/e2a61c16af36c9a07e5c9906498b73e091949a20
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/routing/zipball/1f5234e8457164a3a0038a4c0a4ba27876a9c670
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/translation/zipball/7e3b3b7146c6fab36ddff304a8041174bf6e17ad
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/uid/zipball/18eb207f0436a993fffbdd811b5b8fa35fa5e007
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/symfony/var-dumper/zipball/22560f80c0c5cd58cc0bcaf73455ffd81eb380d5
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/commonmark/zipball/6fbb36d44824ed4091adbcf4c7d4a3923cdb3405
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/c6ff6d4606e48249b63f269eba7fabdb584e76a9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/glide/zipball/b8e946dd87c79a9dce3290707ab90b5b52602813
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/thephpleague/oauth1-client/zipball/f9c94b088837eb1aae1ad7c4f23eb65cc6993055
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/vinkla/laravel-shield/zipball/62b1303f89c013b2c5fe1c7c6a394a1ec68b3270
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)
  • https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/JE6yX1 /usr/bin/composer install --no-interaction --prefer-dist --no-dev (http block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI changed the title [WIP] API GET endpoint for tag related tags Add GET /api/tags/{slug}/related-tags endpoint Sep 17, 2025
Copilot AI requested a review from geoff-maddock September 17, 2025 05:06
@geoff-maddock geoff-maddock marked this pull request as ready for review September 17, 2025 05:18
@geoff-maddock geoff-maddock merged commit 03468b6 into main Sep 30, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API GET endpoint for tag related tags

2 participants