Does the management API support setting an expiration when adding a new api key and secret? I tried and it does not appear to respect the ‘expiresAt’ setting. Is setting the expiration only available when creating a completely new application?
The management API for Apigee Edge supports :
1- creating a new app and implicitly generating a new key/secret (aka credential) with a specified expiry.
2- adding a generated key/secret (aka credential) to an existing app with a specified expiry.
3- adding a specific key/secret to an existing app. No specified expiry is supported here.
Example API calls for these cases:
case 1:
curl -i -H 'Authorization: ...' \
-H 'Content-type: application/json' \
-X POST \
'https://api.enterprise.apigee.com/v1/o/ORG/developers/dev@example.org/apps'\
-d '{
"attributes" : [ {
"name" : "attrname",
"value" : "attrvalue"
} ],
"apiProducts": [ "Product1" ],
"keyExpiresIn" : "86400000",
"name" : "AppName"
}'
case 2:
curl -i -H 'Authorization: ...' \
-H 'Content-type: application/json' \
-X POST \
'https://api.enterprise.apigee.com/v1/o/ORG/developers/dev@example.org/apps/App0'\
-d '{
"name" : "App0",
"keyExpiresIn" : "418400000",
"apiProducts": [ "Product1", "Product2" ]
}'
In both cases you mustspecify “keyExpiresIn” not “expiresAt”. This is a relative value, relative to “now”. The “expiresAt” is generated.
The API call for the final case is discussed elsewhere on community.
You can also execute case 1 and case 2 in the Apigee Edge Admin UI. The Admin UI does not currently support case 3.