As an alternative, you can use the - wildcard character instead of the project ID:
projects/-/serviceAccounts/{EMAIL_ADDRESS}
projects/-/serviceAccounts/{UNIQUE_ID}
When possible, avoid using the - wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to access the service account projects/-/serviceAccounts/fake@example.com, which does not exist, the response contains an HTTP 403 Forbidden error instead of a 404 Not
Found error.
Authorization requires the following IAM permission on the specified resource name:
iam.serviceAccountKeys.create
Request body
The request body contains data with the following structure:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eThis page details how to create a ServiceAccountKey via an HTTP POST request to a specific URL structure that follows gRPC Transcoding syntax.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires a \u003ccode\u003ename\u003c/code\u003e parameter in the URL, which must follow a specific format indicating the service account's resource name, including the project ID and email or unique ID, with specific authorization.\u003c/p\u003e\n"],["\u003cp\u003eThe request body should include the desired \u003ccode\u003eprivateKeyType\u003c/code\u003e and \u003ccode\u003ekeyAlgorithm\u003c/code\u003e for the ServiceAccountKey, with defaults available if not specified.\u003c/p\u003e\n"],["\u003cp\u003eA successful request will return a newly created instance of the ServiceAccountKey in the response body.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization for this process requires one of two specified OAuth scopes: either \u003ccode\u003ehttps://www.googleapis.com/auth/iam\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]