Update subscription state
/apiplatform/management/v1/applications/{appId}/subscriptions/{subId}/state
Updates the state of the {subId}
subscription for the {appId}
application.
Users requesting this resource must be assigned the Plan Manager, or Application Developer role. If the current subscription state is REQUESTING
, the user must be issued the Plan Manager grant for the associated plan. For all other states, the user must be issued the Manage Plan, Subscribe, Managed Subscribed Application to Plan, or Manage application grant to the associated Aplication.
Request
- application/json
-
appId: string
A unique ID referencing a specific application.
-
subId: string
A unique ID referencing a specific subscription.
object
-
state:
string
The subscription's state. Valid values depend on the current subscription state. If the state is
REQUESTING
, it can be updated toREJECTED
,SUBSCRIBED
, orSUSPENDED
. If the state isSUBSCRIBED
, it can be updated toSUSPENDED
. If the state isSUSPENDED
, it can be updated toSUBSCRIBED
. If the state isREJECTED
, it can't be updated. -
stateComments(optional):
string
Comments regarding the subscription's state.
Response
- application/json
200 Response
403 Response
object
-
detail(optional):
string
Detailed error message
-
errorCode(optional):
string
Application specific error code
-
errorDetails(optional):
array errorDetails
additional errors
-
errorPath(optional):
string
-
instance(optional):
string
URI to the link that provides more detail about the error
-
status(optional):
string
HTTP status code
-
title:
string
Summary error message
-
type:
string
Error type
500 Response
object
-
detail(optional):
string
Detailed error message
-
errorCode(optional):
string
Application specific error code
-
errorDetails(optional):
array errorDetails
additional errors
-
errorPath(optional):
string
-
instance(optional):
string
URI to the link that provides more detail about the error
-
status(optional):
string
HTTP status code
-
title:
string
Summary error message
-
type:
string
Error type
Examples
The following example shows how to update the state of a subscription by submitting a PUT request on the REST resource using cURL. For more information about cURL, see Use cURL
curl -i -X PUT
-H "Authorization: Bearer access_token"
-H "Content-Type:application/json"
-d @update-sub.json
https://example.com/apiplatform/management/v1/applications/{appId}/subscriptions/{subId}/state
where
-
{appId}
is the unique Id for an application. To retrieve available application Ids, see Get Applications. -
{subId}
is the unique Id for a subscription. To retrieve available subscription Ids, see Get subscriptions.
Example of Request Body
The following shows an example of the request body in JSON format (included with the request above in a file named update-sub.json
).
{ "state":"SUBSCRIBED", "stateComments": "Approving subscription" }
The new state depends on the existing state of the subscription:
-
If the existing state is SUBSCRIBED, you can change the state to SUSPENDED.
-
If the existing state is REQUESTING, you can change the state to REJECTED, SUBSCRIBED, SUSPENDED.
-
If the existing state is SUSPENDED you can change the state to SUBSCRIBED.
-
If the existing state is REJECTED, you can not update the state.
Example of Response Headers
The following shows an example of the response headers.
HTTP/1.1 204 No Content Server: Oracle-Traffic-Director/12.2.1.0.0 Date: Tue, 14 Mar 2017 07:38:44 GMT X-oracle-dms-ecid: f102c33f-1c5b-4409-806d-03bf5706c492-0001d7dc X-oracle-dms-rid: 0:1 Via: 1.1 otd_opc Proxy-agent: Oracle-Traffic-Director/12.2.1.0.0