We are trying to invoke a describeSObject via SOAP Api on a custom object for a specific user, and the call fails with:

sObject type "MyObject__c" is not supported. If you are attempting to use a custom object, append the "__c" after the entity name. Check your security setting for the object.

In the past, when we experience this issue, we had some missing field level security permissions for that object. Is there a way we can simply find out what is missing for that specific user?


1 Answer 1


There are exactly three reasons why you can't describe an object that generate this exact message.

Not Enabled In Org

For standard objects that can be enabled in Setup (e.g. Quote), or by Sales/Support (e.g. WorkOrder), you can get this error. If it's a standard object, see if you can describe it as an admin. If not, it's not enabled, and you need to visit a Setup page somewhere, or contact Sales or Support to get it enabled.

Not In Production

For custom objects that are created in the org, if the Status is set to "In Development," only users with "Modify All Data" and "View Setup & Configuration" permissions can view the object. This is true even if the user has CRUD access; if they are not Administrators, they can't see it. Check this on the Object's detail page in Setup, or check its deploymentStatus and make sure it's set to Deployed.

Missing Read Permission

For standard and custom objects in the org, if the user lacks at least Read Permission, they cannot query or describe the object. Check the user's Profile, or add a Permission Set that includes at least View access to the Object.

There are other errors that can occur, but are related to different types of permissions.

Can Not Be Described

sObject type 'X' is not supported.

The object was recognized as a valid object in the org, and the user has permission to it, but it's describe flag is turned off, so you can't actually see the contents of the object.

Unknown Field

No such column 'X' on entity 'Y'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

The user has access to the object, but the field X either doesn't exist, or the user doesn't have View access to the field.

API Not Enabled For Org

The X API is not enabled for this Organization.

Your org doesn't have the correct permission to use a particular API.

API Not Enabled For User

API is disabled for this User.

The user doesn't have API access (API Enabled is set to false).

There's lot of other possible messages a user can get as well, but the point of this answer is to state that there are only a very limited number of circumstances where this exact error message can occur.

  • The object was in status in Development so only superuser could see it
    – Edmondo
    Apr 26, 2018 at 7:19
  • @Edmondo1984 Glad I could help!
    – sfdcfox
    Apr 26, 2018 at 7:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .