[ST Schema] - How to publish a new version of SmartThings Cloud Connector App

I want to publish a new version of the Schema Connector to integrate a third-party cloud-connected device with SmartThings.

Schema App is currently published.

I want to add another device and change the hosting url.

But when I try to edit it, it says ‘You cannot make changes to the app because this project is published’.

Also, when I try to click New request, the message ‘Cannot publish a project that has a device profile using the deprecated metadata service.’ is displayed.

Do I need to create a new project to modify the app?

If I need to create a new project, is there any way to make it available to users of my existing app when I publish the new project?

Tagging @nayelyz @erickv

2 Likes

Hey, @111199

Regarding the update on the registered URLs, you can apply this change through the SmartThings CLI. The following commands will be enough to update the references:

# collect the connector's info
smartthings schema <app_id> -j -o connector.json

# push update to API
smartthings schema:update <app_id> -i connector.json

And about the certification of your new device model, please send an email to build@smartthings.com to escalate and follow up on this request properly.

1 Like

hi @erickv

I tried schema:update using SmartThings CLI as you said, but it doesn’t work because it’s currently published.

The error contents are as follows.

Error: Request failed with status code 403: {“requestId”:“0DB6D4D0-14B0-47
4F-A19B-26CD0C5C9EC6”,“error”:{“code”:“Forbidden”,“message”:“Updating
endpointApp not allowed for certified endpointApps”}}

@111199 hmm… really interesting

I’ll submit a report right away because if I recall correctly, a few weeks ago this was still possible… even for published connectors.

One last thing, how did you authenticate your ST CLI?

@erickv Thank you for caring me.

I triggered the built-in OAuth flow.

Can you try the update command again, but passing a personal access token instead? i.e.:

smartthings schema:update -i connector.json -t <personal_access_token>

Let me know if you get the same error.

@erickv i got the same error.

Error: Request failed with status code 403: {“requestId”:“419FE85A-810E-44
42-AFD2-2A5CA7E69617”,“error”:{“code”:“Forbidden”,“message”:“Updating
endpointApp not allowed for certified endpointApps”}}

1 Like

@111199 Thanks for taking the time to test this out.

I’ll share the outcome with our team right away!