GET /api/apps/versions/{AppVersionID}

Returns a version of an app.

Authorization Roles/Permissions: App team member, Business Admin, or Site Admin.

This topic includes the following sections:

HTTP Method

GET

URL

https://{hostname}/api/apps/versions/{AppVersionID}

Sample Request

The example below requests the version information for the ID in the URL.

Sample request URL #1

https://{hostname}/api/apps/versions/4iXro2Uxs2h4LviCshR9pK9w.acmepaymentscorp

Sample request URL #2

https://{hostname}/api/apps/versions/4iXro2Uxs2h4LviCshR9pK9w.acmepaymentscorp?IncludeSettings=true

Sample request headers

Accept: application/json, text/javascript, */*; q=0.01
Host:{hostname}
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/json, application/vnd.soa.v71+json, application/vnd.soa.v72+json, application/vnd.soa.v80+json, application/vnd.soa.v81+json
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
AppVersionID Path string Required The unique ID for a specific app version.
IncludeSettings Query boolean Optional Indicates whether the settings for the resource should be included in the response. If not specified, defaults to false.
IncludeTags Query boolean Optional Indicates whether tags should be returned in the response. If not specified, defaults to true.
IncludeSecurityMechanism Query boolean Optional Indicates whether security mechanisms should be returned in the response. If not specified, defaults to true.
IdentityAppDeploymentState Query boolean Optional Indicates whether the app's deployment state should be returned in the response. If not specified, defaults to true.

Response

If successful, this operation returns HTTP status code 200, with the version information in a JSON or XML object.

Sample Response

The example below shows the response for version 2.0 of an app.

Sample response headers

Content-Type: application/json
Date: Tue, 27 Mar 2018 19:46:48 GMT

Sample response body #1

{
    "RuntimeID": "w7EmnzK1XlcMR4H6hNYFc25eU0BE3reKQjS9CwRX.acmepaymentscorp",
    "AppID": "b33ae5f2-56b4-4d81-93cf-f2698196a6af.acmepaymentscorp",
    "Name": "v1",
    "Description": "First version.",
    "WebsiteAddress": "http://www.crosfhocal-cm-app.com/",
    "Visibility": "com.soa.visibility.registered.users",
    "InitialEnvironment": "Sandbox",
    "CurrentEnvironment": "Sandbox",
    "Tag": [
        "puzzle",
        "game",
        "crossword",
        "crosfhocal",
        "Irish"
    ],
    "HasKeyInfo": false,
    "Created": "2018-03-27T19:40:01Z",
    "Updated": "2018-03-27T19:45:19Z",
    "State": "com.soa.app.state.initial",
    "SecurityMechanisms": [
        "com.soa.security.mechanism.sharedsecret"
    ],
    "RatingSummary": {
        "Five": 0,
        "Four": 0,
        "Three": 0,
        "Two": 0,
        "One": 0
    },
    "Identity": "12345678900987654321"
}

Sample response body #2

In this example, the IncludeSettings parameter was set to true in the request, so app version settings are included in the response.

{
    "RuntimeID": "4bU0ODUi2TKUvN16z2nn1XlOnYAPnJ3Ik1VyD6Lr.acmepaymentscorp",
    "AppID": "c2f4fad5-850d-48eb-a9b7-82e3ccc33126.acmepaymentscorp",
    "Name": "v2",
    "Description": "",
    "WebsiteAddress": "",
    "Visibility": "Public",
    "InitialEnvironment": "Sandbox",
    "CurrentEnvironment": "Sandbox",
    "Tag": [],
    "HasKeyInfo": false,
    "Created": "2018-06-21T23:42:56Z",
    "Updated": "2018-06-21T23:42:56Z",
    "State": "com.soa.app.state.initial",
    "SecurityMechanisms": [
        "com.soa.security.mechanism.sharedsecret"
    ],
    "RatingSummary": {
        "Five": 0,
        "Four": 0,
        "Three": 0,
        "Two": 0,
        "One": 0
    },
    "Identity": "acmepaymentscorp-4bU0ODUi2TKUvN16z2nn1XlOnYAPnJ3Ik1VyD6Lr",
    "AppVersionSettings": {
        "AppBoardSupport": "com.soa.feature.enabled",
        "AppRatingsSupport": "com.soa.feature.enabled",
        "AppReviewsSupport": "com.soa.feature.enabled",
        "UserDefinedIdentitySupport": "com.soa.feature.enabled.for.siteadmins",
        "SimultaneousSandboxProductAccessSupport": "com.soa.feature.enabled",
        "ReturnPlainTextSharedSecret": "com.soa.feature.enabled"
    }
}

Sample response body #3: domain included in user-defined Identity field

In the example below, the app has a user-defined App Identity that includes a domain. In this scenario, the platform does not collect, regenerate, return, or display the Shared Secret value. The user manages it in the external identity domain, which must be a valid domain set up in the platform. The platform takes the Shared Secret value that the user provides and validates it with the external identity domain.

{
    "RuntimeID": "w7EmnzK1XlcMR4H6hNYFc25eU0BE3reKQjS9CwRX.acmepaymentscorp",
    "AppID": "b33ae5f2-56b4-4d81-93cf-f2698196a6af.acmepaymentscorp",
    "Name": "v1",
    "Description": "First version.",
    "WebsiteAddress": "http://www.crosfhocal-cm-app.com/",
    "Visibility": "com.soa.visibility.registered.users",
    "InitialEnvironment": "Sandbox",
    "CurrentEnvironment": "Sandbox",
    "Tag": [
        "puzzle",
        "game",
        "crossword",
        "crosfhocal",
        "Irish"
    ],
    "HasKeyInfo": false,
    "Created": "2018-03-27T19:40:01Z",
    "Updated": "2018-03-27T19:45:19Z",
    "State": "com.soa.app.state.initial",
    "SecurityMechanisms": [
        "com.soa.security.mechanism.sharedsecret"
    ],
    "RatingSummary": {
        "Five": 0,
        "Four": 0,
        "Three": 0,
        "Two": 0,
        "One": 0
    },
    "Identity" : "Ldapacmepaymentscorp1\\myuserid",
    "AppVersionSettings": {
        "AppRatingsSupport": "com.soa.feature.enabled",
        "AppReviewsSupport": "com.soa.feature.enabled",
        "UserDefinedIdentitySupport": "com.soa.feature.enabled.for.siteadmins",
        "SimultaneousSandboxProductAccessSupport": "com.soa.feature.enabled",
        "ReturnPlainTextSharedSecret": "com.soa.feature.enabled"
    }
}

Response Headers

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

Header Description
Content-Type

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

application/json, application/vnd.soa.v71+json, application/vnd.soa.v72+json, application/vnd.soa.v80+json, application/vnd.soa.v81+json

Response Body

Name Type Description
ApplicationVersion ApplicationVersion Information about the app version. The response includes settings if they were requested.

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
204 No content. The server successfully processed the request, but is not returning any content. For example, you might get this error if you specified an invalid AppVersionID.
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.
404 The resource could not be found.
500 An error occurred processing the call.

More information about Akana API Platform API error messages.