live activity push channel management request return "TopicMismatch" when bundle in include capital letter

When I request channel list for bundle id "com.apnspush.LiveActivityPushDemo", the request returns "TopicMismatch".

Then when I request channel list for bundle id "com.apnspush.liveactivitypush", the request return is normal.

I have tried all my bundle ids that include capital letters, they all failed with "TopicMismatch".

Does anyone know the reason?

curl -v -X GET \
-H "authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg" \
-H "apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127" \
--http2 \
https://api-manage-broadcast.sandbox.push.apple.com:2195/1/apps/com.apnspush.LiveActivityPushDemo/all-channels

Note: Unnecessary use of -X or --request, GET is already inferred.
* Host api-manage-broadcast.sandbox.push.apple.com:2195 was resolved.
* IPv6: (none)
* IPv4: 17.138.176.4
*   Trying 17.138.176.4:2195...
* Connected to api-manage-broadcast.sandbox.push.apple.com (17.138.176.4) port 2195
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Request CERT (13):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Certificate (11):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; O=Apple Inc.; CN=api-manage-broadcast.sandbox.push.apple.com
*  start date: May 30 17:31:41 2024 GMT
*  expire date: Apr 10 00:00:00 2025 GMT
*  subjectAltName: host "api-manage-broadcast.sandbox.push.apple.com" matched cert's "api-manage-broadcast.sandbox.push.apple.com"
*  issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://api-manage-broadcast.sandbox.push.apple.com:2195/1/apps/com.apnspush.LiveActivityPushDemo/all-channels
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: api-manage-broadcast.sandbox.push.apple.com:2195]
* [HTTP/2] [1] [:path: /1/apps/com.apnspush.LiveActivityPushDemo/all-channels]
* [HTTP/2] [1] [user-agent: curl/8.7.1]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg]
* [HTTP/2] [1] [apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127]
> GET /1/apps/com.apnspush.LiveActivityPushDemo/all-channels HTTP/2
> Host: api-manage-broadcast.sandbox.push.apple.com:2195
> User-Agent: curl/8.7.1
> Accept: */*
> authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg
> apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127
>
* Request completely sent off
< HTTP/2 403
< apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127
<
* Connection #0 to host api-manage-broadcast.sandbox.push.apple.com left intact
{"reason":"TopicMismatch"}%
curl -v -X GET \
-H "authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg" \
-H "apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127" \
--http2 \
https://api-manage-broadcast.sandbox.push.apple.com:2195/1/apps/com.apnspush.liveactivitypush/all-channels
Note: Unnecessary use of -X or --request, GET is already inferred.
* Host api-manage-broadcast.sandbox.push.apple.com:2195 was resolved.
* IPv6: (none)
* IPv4: 17.138.176.4
*   Trying 17.138.176.4:2195...
* Connected to api-manage-broadcast.sandbox.push.apple.com (17.138.176.4) port 2195
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Request CERT (13):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Certificate (11):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; O=Apple Inc.; CN=api-manage-broadcast.sandbox.push.apple.com
*  start date: May 30 17:31:41 2024 GMT
*  expire date: Apr 10 00:00:00 2025 GMT
*  subjectAltName: host "api-manage-broadcast.sandbox.push.apple.com" matched cert's "api-manage-broadcast.sandbox.push.apple.com"
*  issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://api-manage-broadcast.sandbox.push.apple.com:2195/1/apps/com.apnspush.liveactivitypush/all-channels
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: api-manage-broadcast.sandbox.push.apple.com:2195]
* [HTTP/2] [1] [:path: /1/apps/com.apnspush.liveactivitypush/all-channels]
* [HTTP/2] [1] [user-agent: curl/8.7.1]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg]
* [HTTP/2] [1] [apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127]
> GET /1/apps/com.apnspush.liveactivitypush/all-channels HTTP/2
> Host: api-manage-broadcast.sandbox.push.apple.com:2195
> User-Agent: curl/8.7.1
> Accept: */*
> authorization: bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IkdZSDM5WEZMREEifQ.eyJpYXQiOjE3Mjg3MDM4MDksImlzcyI6IjNXSkdFRjI4R1kifQ.wruX6J4qaovq2X-ZlO7g0YyMWjt50g8YoMoZ4G9ZsLDI5wC8u7PFTaG05BmDvbEzLpzrK9ifwPeo5BJ2eZ3hTg
> apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127
>
* Request completely sent off
< HTTP/2 200
< apns-request-id: 2288cf3f-70d8-46a6-97d7-dd5d00867127
<
* Connection #0 to host api-manage-broadcast.sandbox.push.apple.com left intact
{"channels":["vtVPwIhLEe8AAG79CdMNuQ=="]}%

FB16058280 (Creating a broadcast channel via APNS API fails if app bundle ID includes upper-case characters)

live activity push channel management request return "TopicMismatch" when bundle in include capital letter
 
 
Q