This document details the compatibility status of the service_description-v10.json file with Discord API version 10.
Status: ✅ COMPATIBLE
All compatibility tests pass successfully:
- 8 tests executed
- 557 assertions validated
- 0 failures
- Base URI: Updated from
https://discord.com/api/v9tohttps://discord.com/api/v10 - Version: Updated from
9to10
The most significant change in Discord API v10 is the transition from singular embed to plural embeds:
Affected Operations:
channel/createMessagechannel/editMessagewebhook/executeWebhookwebhook/executeSlackCompatibleWebhook(if applicable)
v9 Parameter:
{
"embed": {
"type": "object",
"description": "embedded rich content"
}
}v10 Parameter:
{
"embeds": {
"type": "array",
"description": "embedded rich contents"
}
}Impact:
⚠️ Breaking Change: Code using the singularembedparameter will need to be updated to useembeds(plural) as an array- This allows messages to contain multiple embeds (up to 10 per message)
- Existing code must be migrated from
embed: {...}toembeds: [{...}]
- ✅ Base URI correctly set to
/api/v10 - ✅ Version number correctly set to
10
- ✅
createMessageoperation usesembeds(array) parameter - ✅
editMessageoperation usesembeds(array) parameter - ✅
embed(singular) parameter has been removed from message operations
- ✅ All v9 operations still exist in v10 (threads, interactions, application commands)
- ✅ All operations map to valid PHP interface methods
- ✅ All response types map to valid model classes
- ✅ Return type annotations match service description
- ✅ All model resources map to valid PHP model classes
- ✅ All model properties exist as PHP class properties
- ✅ No model schema changes required
- ✅ Guild operations (createGuild, getGuild, modifyGuild)
- ✅ Channel operations (getChannel, modifyChannel, createMessage, editMessage)
- ✅ User operations (getCurrentUser)
- ✅ Application command operations (slash commands)
- ✅ Thread operations (startThreadFromMessage)
- ✅ Interaction operations (createInteractionResponse)
The v10 service description contains:
- 13 resource types: guild, channel, user, webhook, voice, emoji, invite, gateway, oauth2, audit-log, permissions, application-command, interaction
- 121 total operations across all resources
- 12 model resources with comprehensive property definitions
The following remain unchanged from v9:
- ✅ Total number of operations
- ✅ Total number of resources
- ✅ Model schemas and structures
- ✅ Operation URLs and HTTP methods
- ✅ Authentication mechanisms
- ✅ Response types and formats
-
Update Message Creation/Editing Code:
// OLD (v9): $message = $discord->channel->createMessage([ 'channel.id' => $channelId, 'content' => 'Hello', 'embed' => [ 'title' => 'My Embed', 'description' => 'Description' ] ]); // NEW (v10): $message = $discord->channel->createMessage([ 'channel.id' => $channelId, 'content' => 'Hello', 'embeds' => [ [ 'title' => 'My Embed', 'description' => 'Description' ] ] ]);
-
Multiple Embeds Support: You can now send multiple embeds in a single message:
$message = $discord->channel->createMessage([ 'channel.id' => $channelId, 'content' => 'Multiple embeds!', 'embeds' => [ ['title' => 'First Embed'], ['title' => 'Second Embed'], ['title' => 'Third Embed'] ] ]);
-
Testing: Run the compatibility test suite:
./vendor/bin/phpunit tests/ServiceDescriptionV10Test.php
A comprehensive test suite has been created at tests/ServiceDescriptionV10Test.php to validate:
testBaseUri()- Validates correct v10 base URItestVersion()- Validates version number is 10testV10EmbedsParameter()- Validates embed → embeds parameter changetestV9OperationsExistInV10()- Ensures v9 features still worktestOperationResources()- Validates all operations and interfacestestModels()- Validates all models and propertiestestCriticalV10Operations()- Validates critical API operationstestWebhookEmbedsParameter()- Validates webhook embed parameters
The service_description-v10.json file is fully compatible with Discord API v10. The implementation correctly reflects the Discord API v10 specification, with proper handling of the breaking change from embed to embeds.
All operations, models, and interfaces are properly defined and validated. The library is ready for use with Discord API v10.
Report Generated: 2026-03-13 Test Framework: PHPUnit 8.5.52 PHP Version: 8.3.6 RestCord Version: Latest