I have created an unmanaged package containing a Salesforce Platform Profile named "Foo". In the org where I am attempting to install the package, I have also created a Salesforce Platform Profile named "Foo".

I insert a PackageInstallRequest using the REST Tooling API, by POSTing the following JSON to /services/data/v43.0/tooling/sobjects/PackageInstallRequest:

    "SubscriberPackageVersionKey": "04t***************",
    "SecurityType": "Custom",
    "ProfileMappings": {
        "profileMappings": [
                "target": "Foo",
                "source": "Foo"
    "NameConflictResolution": "Block",
    "EnableRss": true

The request succeeds but the subsequent deployment of the package fails with the following error:

Unable to Access Page, Details: The value of the "{0}" parameter contains a character that is not allowed or the value exceeds the maximum allowed length. Remove the character from the parameter value or reduce the value length and resubmit. If the error still persists, report it to our Customer Support team. Provide the URL of the page you were requesting as well as any other related information.

If I change SecurityType to Full and omit ProfileMappings, it succeeds. If I perform the installation through the UI and map the profiles as I am attempting to do here, it succeeds.

What am I doing wrong?


I did eventually figure this out:

target should be the name of the profile contained in the package, or "__noAccess__" or "__allAccess__"

source should be the id of the profile in the org where the package is being installed (not the name as stated in the documentation)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.