"Api validation failed: App Instance" and "Missing app settings" error on trying to update OIDC Application using API

POSTMAN
PUT https://{yourOktaDomain}/api/v1/apps/{appId}
Request:
{
“name”: “oidc_client”,
“label”: “AUTOMATION QA034 BASIC”,
“signOnMode”: “OPENID_CONNECT”,
“settings”: {
“app”: {},
“notifications”: {
“vpn”: {
“network”: {
“connection”: “DISABLED”
},
“message”: null,
“helpUrl”: null
}
},
“manualProvisioning”: false,
“implicitAssignment”: false,
“notes”: {
“admin”: null,
“enduser”: null
},
“oauthClient”: {
“client_uri”: null,
“logo_uri”: null,
“redirect_uris”: [
https://test.tst.com/oauth2/code/U0NfQVBBQzFfVE5CLVFBMDM0LWRlc2t0MDAwMDAwMDAwMDAyODg1
],
“post_logout_redirect_uris”: [
https://test.tst.com
],
“response_types”: [
“code”
],
“grant_types”: [
“authorization_code”,
“client_credentials”
],
“application_type”: “web”,
“consent_method”: “REQUIRED”,
“issuer_mode”: “DYNAMIC”,
“idp_initiated_login”: {
“mode”: “DISABLED”,
“default_scope”:
},
“wildcard_redirect”: “DISABLED”,
“dpop_bound_access_tokens”: false
}
}
}

Response:
{
“errorCode”: “E0000001”,
“errorSummary”: “Api validation failed: App Instance”,
“errorLink”: “E0000001”,
“errorCauses”: [
{
“errorSummary”: “Missing app settings”
}
]
}

Can somebody help with this

Are you trying to update an OpenID connect app that already exists in your org?

When you formed your request payload for this update, did you ensure that it included all the details specific to this application based on what was returned in a GET request for the same application instance?

Yes, it’s an existing OIDC app in my org, I can update it from UI but not via Okta APIs.
yes, I also tried fetching it’s details with GET API and sent the same values in PUT API just to check if it accepts… but it fails with PUT API

this is resolved. Can be closed, the " Replace an application" API needs a few more attributes which are not marked as mandatory in the reference doc

1 Like

So we can better update our documentation (and help anyone else who runs into this issue), were you able to determine which specific attributes were missing?

Worked with this Input JSON for OIDC app, it fails with some or the other required field error if any of the below mentioned attribute is not passed
{
“name”: “oidc_client”,
“label”: “AUTOMATION- QA034 BASIC”,
“signOnMode”: “OPENID_CONNECT”,
“credentials”: {
“oauthClient”: {
“client_id”: “0oalxtp4bnLsQbduI5d7”,
“token_endpoint_auth_method”: “client_secret_basic”
}
},
“settings”: {
“oauthClient”: {
“redirect_uris”: [
https://test.tst.com/oauth2/code/U0NfQVBBQzFfVE5CLVFBMDM0LWRlc2t0MDAwMDAwMDAwMDAyODg1
],
“post_logout_redirect_uris”: [
https://test.tst.com
],
“response_types”: [
“code”
],
“grant_types”: [
“authorization_code”,
“client_credentials”
],
“application_type”: “web”,
“consent_method”: “REQUIRED”,
“issuer_mode”: “DYNAMIC”
}
}
}

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.