Create a terminal application beta

Create a new terminal application.

To access this endpoint using an access token you'll need to specify the /terminal-applications.write scope.

POST
/terminal-applications
cURL Python TypeScript Java Ruby (beta) PHP
1
2
3
4
5
6
7
8
9
curl -X POST "https://api.moov.io/terminal-applications" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "platform": "ios",
    "appBundleID": "com.example.app",
    "packageName": "com.example.app",
    "sha256Digest": "1234567890",
    "versionCode": "1.0.0"
  }'\
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from moovio_sdk import Moov
from moovio_sdk.models import components


with Moov(
    x_moov_version="v2024.01.00",
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

    res = moov.terminal_applications.create(platform=components.TerminalApplicationPlatform.ANDROID, package_name="com.example.app", sha256_digest="AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD", version_code="20332277")

    # Handle response
    print(res)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  xMoovVersion: "v2024.01.00",
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.terminalApplications.create({
    platform: "android",
    packageName: "com.example.app",
    sha256Digest: "AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD",
    versionCode: "20332277",
  });

  console.log(result);
}

run();
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package hello.world;

import java.lang.Exception;
import org.openapis.openapi.Moov;
import org.openapis.openapi.models.components.*;
import org.openapis.openapi.models.errors.GenericError;
import org.openapis.openapi.models.errors.TerminalApplicationError;
import org.openapis.openapi.models.operations.CreateTerminalApplicationResponse;

public class Application {

    public static void main(String[] args) throws GenericError, TerminalApplicationError, Exception {

        Moov sdk = Moov.builder()
                .xMoovVersion("v2024.01.00")
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

        CreateTerminalApplication req = CreateTerminalApplication.builder()
                .platform(TerminalApplicationPlatform.ANDROID)
                .packageName("com.example.app")
                .sha256Digest("AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD")
                .versionCode("20332277")
                .build();

        CreateTerminalApplicationResponse res = sdk.terminalApplications().create()
                .request(req)
                .call();

        if (res.terminalApplication().isPresent()) {
            // handle response
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
      x_moov_version: 'v2024.01.00',
      security: Models::Components::Security.new(
        username: '',
        password: '',
      ),
    )

res = s.terminal_applications.create(create_terminal_application: Models::Components::CreateTerminalApplication.new(
  platform: Models::Components::TerminalApplicationPlatform::ANDROID,
  package_name: 'com.example.app',
  sha256_digest: 'AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD',
  version_code: '20332277',
))

unless res.terminal_application.nil?
  # handle response
end
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setXMoovVersion('v2024.01.00')
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$createTerminalApplication = new Components\CreateTerminalApplication(
    platform: Components\TerminalApplicationPlatform::Android,
    packageName: 'com.example.app',
    sha256Digest: 'AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD',
    versionCode: '20332277',
);

$response = $sdk->terminalApplications->create(
    createTerminalApplication: $createTerminalApplication
);

if ($response->terminalApplication !== null) {
    // handle response
}
200 400 401 403 404 409 422 429 500 504
The request completed successfully.
application/json
{
  "packageName": "com.example.app",
  "platform": "android",
  "sha256Digest": "AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD",
  "status": "pending",
  "terminalApplicationID": "12345678-1234-1234-1234-123456789012",
  "versionCode": "20332277"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The server could not understand the request due to invalid syntax.
application/json
{
  "error": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request conflicted with the current state of the target resource.
application/json
{
  "error": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.
application/json
{
  "platform": "string",
  "appBundleID": "string",
  "packageName": "string",
  "sha256Digest": "string",
  "versionCode": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string <uuid> required
A unique identifier used to trace requests.

Headers

x-moov-version

string
API version

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release.

Default: v2024.01.00

Body

application/json
Describes a create terminal application request.

platform

string<enum> required
Platform of the terminal application.
Possible values: undefined, ios, android

appBundleID

string
The app bundle identifier of the terminal application. Required if platform is ios.

packageName

string
The app package name of the terminal application. Required if platform is android.

sha256Digest

string
The SHA-256 digest of the signing key for the application. Required if platform is android.

versionCode

string
The version code of the Android application. Required if platform is android.

Response

application/json
Describes a terminal application.

platform

string<enum> required
Platform of the terminal application.
Possible values: undefined, ios, android

status

string<enum> required
Status of the terminal application.
Possible values: undefined, pending, enabled, disabled

terminalApplicationID

string<uuid> required
ID of the terminal application.

appBundleID

string
The app bundle identifier of the terminal application. Will be returned if platform is ios.

packageName

string
The app package name of the terminal application. Will be returned if platform is android.

sha256Digest

string
A cryptographic hash of the signing key for the application. Will be returned if platform is android.

versionCode

string
The app version code of the terminal application. Will be returned if platform is android.