POST /api/contracts/{ContractID}/actions

Executes workflow actions associated with a specific change of contract status.

Authorization Roles/Permissions: To complete this operation successfully, a user must be a member of the applicable team (App team member or API Admin). However, the workflow itself might enforce additional requirements:

  • The specific workflow action to be executed must be valid for the specific contract the action will be performed on.
  • In addition, each action might require its own conditions. Some workflow actions can only be performed by an API Admin, some by an app admin, and so forth. Depending on the combination of action name and ContractID, this operation might require different roles. For example, Activate can only be done by an API admin or business admin; Resubmit can be done by app team members or API admins. Custom workflow definitions could require different roles for different actions.

For more information, see Executing Workflow Actions.

This topic includes the following sections:

HTTP Method

POST

Back to top

URL

https://{hostname}/api/contracts/{ContractID}/actions

Back to top

Sample Request

The example below shows an API access request being approved.

Request URL

https://{hostname}/api/contracts/contract25519.acmepaymentscorp/actions

Sample request headers

POST /api/contracts/contract25519.acmepaymentscorp/actions HTTP/1.1
Host: {hostname}
Accept: */*
Content-Type: application/json; charset=UTF-8
X-Csrf-Token_{tenant}: {TokenID}

Sample request body #1

Activates a contract.

{
  "ActionName":"apicontract.action.activate",
  "Comments":"Granting production access (activating)."
}

Sample request body #2

Suspends an active contract.

{
  "ActionName":"apicontract.action.suspend",
  "Comments":"Suspending temporarily; apologies for any inconvenience."
}

Back to top

Request Headers

For general information on request header values, refer to HTTP Request Headers.

Header Description
Accept text/plain
Content-Type

Any one of the following media types is valid for the request Content-Type:

application/json

application/vnd.soa.v71+json or application/vnd.soa.v71+xml

application/vnd.soa.v72+json or application/vnd.soa.v72+xml

application/vnd.soa.v80+json or application/vnd.soa.v80+xml

application/vnd.soa.v81+json or application/vnd.soa.v81+xml

X-Csrf-Token_{fedmemberID} The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform.

Back to top

Request Parameters

Parameter Parm Type Data Type Required Description
ContractID Path string Required The unique ID for a specific contract between an app version and an API version.
Action Body Action Required

Contains information about an action performed on a resource as part of a workflow-related activity.For information on possible values for groups, see All Groups: Valid Workflow Actions. For app/API contracts, see App/API Contracts: Valid Workflow Actions. For tickets, see Tickets: Valid Workflow Actions.

Additional actions might be defined in custom workflows.

Back to top

Response

If successful, this operation returns HTTP status code 200, with the new contract status in plain text.

Back to top

Sample Response

The sample response below shows a successful response to a request for an API contract.

Sample response headers

HTTP/1.1 200 OK
Content-Type: text/plain
Date: Wed, 10 Jul 2013 19:57:49 GMT

Sample response body

apicontract.status.activated

Back to top

Response Headers

For general information on response header values, refer to HTTP Response Headers.

Header Description
Content-Type text/plain

Back to top

Response Body

Name Type Description
Response string The updated API Contract State value for the contract.

Back to top

Error Codes/Messages

If the call is unsuccessful an error code/message is returned. One or more examples of possible errors for this operation are shown below.

Item Value
401 Unauthorized. For example, you would get this response if you didn't include the custom X-Csrf-Token_{fedmemberID} header in the request, when it was required by the platform settings; or if you included an invalid or expired value for this header.
404 The resource could not be found.
409 The action attempted was not valid for the current resource state.
500 An An error occurred processing the call.

More information about Akana API Platform API error messages.

Back to top

Related Topics