# API call gives 404 Error after update to Mattermost 11

**URL:** <https://forum.mattermost.com/t/api-call-gives-404-error-after-update-to-mattermost-11/25517>\
**Category:** Troubleshooting\
**Created:** [November 19, 2025, 10:20am UTC](https://forum.mattermost.com/t/api-call-gives-404-error-after-update-to-mattermost-11/25517 "2025-11-19T10:20:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![horned1](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.mattermost.com/horned1/32/9294_2.png) [@horned1](https://forum.mattermost.com/u/horned1)\
**Post date:** [November 19, 2025, 10:20am UTC](https://forum.mattermost.com/t/api-call-gives-404-error-after-update-to-mattermost-11/25517/1 "2025-11-19T10:20:03Z")

</div>

For feature requests, please see: [https://mattermost.com/suggestions/](https://mattermost.com/suggestions/).

For troubleshooting questions, please post in the following format:

**Summary**  
A ansible playbook using the community.general.mattermost module throws a ‘404 Error’ Channel not found after update to Mattermost 11

**Steps to reproduce**  
Update from 10.8.0 on DB MariaDB (migrated via MySQL → PostgreSQL)  
to  
Server Version: 11.1.0  
Desktop Version: 6.0.1  
Database Schema Version: 143  
Build Number: 19159932738  
Database: postgres

**Expected behavior**  
No changes in urls, channels, ansible code or users. Only Update of Mattermost (and DB migration from mysql to postgres)

Incoming webhook can still be seen in mattermost config, same id as before.

**Observed behavior**  
Mattermost logs are clear, 404 error resource “Channel” not found,

> {“timestamp”:“2025-11-19 10:53:15.434 +01:00”,“level”:“debug”,“msg”:“Incoming webhook received”,“caller”:“web/webhook.go:61”,“webhook\_id”:“XXXXX”,“request\_id”:“9ffkdr9e93fb9qggo5scja6j4c”,“payload”:“{“text”:“ **redacted** ”,“username”:“semaphore\_alarms”,“icon\_url”:“[https://docs.ansible.com/favicon.ico\“,\“channel\”:\“Semaphore\_Provisioning\”,\“props\”:{\“webhook\_display\_name\”:\“Alarms\”},\“attachments\”:null,\“type\”:\”\“,\“icon\_emoji\”:\”\“,\“priority\”:null](https://docs.ansible.com/favicon.ico%5C%E2%80%9C,%5C%E2%80%9Cchannel%5C%E2%80%9D:%5C%E2%80%9CSemaphore_Provisioning%5C%E2%80%9D,%5C%E2%80%9Cprops%5C%E2%80%9D:%7B%5C%E2%80%9Cwebhook_display_name%5C%E2%80%9D:%5C%E2%80%9CAlarms%5C%E2%80%9D%7D,%5C%E2%80%9Cattachments%5C%E2%80%9D:null,%5C%E2%80%9Ctype%5C%E2%80%9D:%5C%E2%80%9D%5C%E2%80%9C,%5C%E2%80%9Cicon_emoji%5C%E2%80%9D:%5C%E2%80%9D%5C%E2%80%9C,%5C%E2%80%9Cpriority%5C%E2%80%9D:null)}”}  
> {“timestamp”:“2025-11-19 10:53:15.434 +01:00”,“level”:“debug”,“msg”:“Failed to handle the payload of media type application/json for incoming webhook XXXXX.”,“caller”:“web/context.go:118”,“path”:”/hooks/XXXXX”,“request\_id”:“9ffkdr9e93fb9qggo5scja6j4c”,“ip\_addr”:“10.76.1.116”,“user\_id”:“”,“method”:“POST”,“err\_where”:“incomingWebhook”,“http\_code”:404,“error”:“incomingWebhook: Failed to handle the payload of media type application/json for incoming webhook XXXXX., HandleIncomingWebhook: Couldn’t find the channel., resource “Channel” not found, id: TeamId=yf1b8u5ry783ipfmqi974e9rdr&Name=Semaphore\_Provisioning”}  
> {“timestamp”:“2025-11-19 10:53:15.434 +01:00”,“level”:“debug”,“msg”:“Received HTTP request”,“caller”:“web/handlers.go:175”,“method”:“POST”,“url”:“/hooks/XXXXX”,“request\_id”:“9ffkdr9e93fb9qggo5scja6j4c”,“status\_code”:“404”}
