GET /api/contracts/{ContractID}/package

Exports a specific app/API contract.

Authorization Roles/Permissions: Must be logged in. To complete this operation successfully, a user must be a member of the applicable team (App team member or API Admin) or a Site Admin or Business Admin.

This topic includes the following sections:

HTTP Method

GET

URL

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

Sample Request

The example below shows a request to export the contract, with all options included.

Request URL#1: no options

https://{hostname}/api/contracts/97509a68-946c-40b0-bbf2-adb58194fd06.acmepaymentscorp/package?download=true&wrapInHTML=true

Request URL #2: all options

https://{hostname}/api/contracts/97509a68-946c-40b0-bbf2-adb58194fd06.acmepaymentscorp/package?migration.export.include.apis=true&migration.export.include.apps=true
&migration.export.include.licenses=true&migration.qospolicy.export=true&download=true&wrapInHTML=true

Sample request headers

GET /api/contracts/{hostname}/package?migration.export.include.apis=true&migration.export.include.apps=true
&migration.export.include.licenses=true&migration.qospolicy.export=true&download=true&wrapInHTML=true HTTP/1.1
Host: {hostname}
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...

Sample request body

Not applicable.

Request Headers

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

Header Description
Accept application/octet-stream
Content-Disposition attachment;filename="apicontract-export.zip"
Cookie AtmoAuthToken_{fedmemberid}={cookie value, which usually starts with TokenID}—The platform cookie. This is the Akana API Platform authorization token, and must be sent with every API request that requires login. For more information and an example, see Session cookies.
X-Csrf-Token_{fedmemberID} The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform. By default, the CSRF header is not required for GET operations and is required for all others, with a few exceptions relating to user login.

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.
download Query string Optional If set to true (the default), the content is downloaded. If set to false, the user is prompted for content disposition.
migration.export.include.apps Query boolean Optional

If specified with value true, include in export file:

  • Apps
migration.export.include.apis Query boolean Optional

If specified with value true, include in export file:

  • APIs
migration.export.include.licenses Query boolean Optional

If specified with value true, include in export file:

  • Licenses
migration.qospolicy.export Query boolean Optional

If specified with value true, include in export file:

  • Quality of Service policies

Note: For information about the wrapInHTML parameter shown in the sample request above, see File Upload with Ajax. This is only used if you are running the API in a browser context.

Response

If successful, this operation returns HTTP status code 200, with the contract information in JSON format.

Sample Response

The sample response below shows successful completion of this operation. The export file is downloaded as specified in the request parameters.

Sample response headers

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=apicontract-export.zip

Sample response body

The response content is sent as the export file named in the Content-Disposition header.

Response Headers

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

Header Description
Content-Type application/octet-stream

Response Body

The response body is a download file that includes information about the contract. The export file is a standard format that can be imported into another instance of the platform for the same tenant. It includes the following folders and files:

  • exportproperties.properties
  • objectdata.xml
  • objectgraph.xml

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. You would also get this response for any operation that requires login (almost all) if the login cookie was missing.
500 An error occurred processing the call.

More information about Akana API Platform API error messages.