---
title: "Deploy a (non-shared) test suite to a specification."
method: POST
path: "/testsuite/deploy"
tags: ["Test suites"]
---

# Deploy a (non-shared) test suite to a specification.

`POST /testsuite/deploy`

## Request body

- TestSuiteDeployViaBase64Request — Common information on the test suite to deploy.
  - `specification` string, required — The API KEY identifying the target specification.
  - `ignoreWarnings` boolean — Whether test suite validation warnings should be ignored.
  - `replaceTestHistory` boolean — Whether the test history linked to the test suite's test cases should be reset. This is the default setting to consider if no test case specific options are defined.
  - `updateSpecification` boolean — Whether the specification's metadata should be updated using the provided test suite's content. For test cases' metadata this setting will be considered as the default, if no test case specific options are defined.
  - `showIdentifiers` boolean — Whether to return the test suite's contained and related identifiers upon successful deployment. These identifiers would be referenced when executing the test suite's tests through the REST API.
  - `testSuite` string, base64, required — The test suite archive to deploy provided as a Base64-encoded string.
  - `testCases` TestCaseDeploymentAction[] — Update choices for specific test cases.
    - `identifier` string — The test case identifier.
    - `updateSpecification` boolean — Whether the metadata for this test case should be updated.
    - `replaceTestHistory` boolean — Whether the testing history for this test case should be reset.

## Response `200`

Test suite deployed

- TestSuiteDeployResponse — Response for the (shared or specification-specific) test suite deploy operation.
  - `completed` boolean, required — Whether or not the deployment was completed.
  - `errors` TestSuiteValidationReportItem[] — The list of errors resulting from the test suite's validation.
    - `description` string, required — The finding's description.
    - `location` string — The path of the resource within the test suite that resulted in this finding.
  - `warnings` TestSuiteValidationReportItem[] — The list of warnings resulting from the test suite's validation.
    - `description` string, required — The finding's description.
    - `location` string — The path of the resource within the test suite that resulted in this finding.
  - `messages` TestSuiteValidationReportItem[] — The list of information messages resulting from the test suite's validation.
    - `description` string, required — The finding's description.
    - `location` string — The path of the resource within the test suite that resulted in this finding.
  - `identifiers` object — The API key identifiers linked to the test suite.
    - `testSuite` string, required — The test suite identifier.
    - `testCases` string[] — The identifiers of the test suite's test cases.
    - `specifications` object[] — The identifiers linked to the test suite's linked specification(s).
      - `name` string, required — The specification's name.
      - `identifier` string, required — The specification's API key.
      - `actors` TestSuiteUploadActorKeys[] — The information for the actors linked to the specification.
        - `name` string, required — The name of the actor.
        - `identifier` string, required — The API key of the actor.

## Other responses

- `429` — Call rate limit threshold exceeded for this operation.
- `default` — The received request was invalid.

## Changes

- **2026-03-19** `7637660a4a6b` — 1 info
  - added the non-success response with the status `429`
- **2025-05-08** `68360700c023` — 2 info
  - added the new optional request property `allOf[#/components/schemas/BaseTestSuiteDeployRequest]/showIdentifiers` (media type: application/json)
  - added the new optional request property `allOf[#/components/schemas/BaseTestSuiteDeployRequest]/showIdentifiers` (media type: multipart/form-data)
- **2024-08-26** `47017afa7060` — 1 info
  - removed the non-success response with the status `400`
- **2024-04-12** `d1203e014562` — 1 info
  - added the optional property `identifiers` to the response with the `200` status
- **2023-01-25** `e5c67297268a` — 5 info
  - added the new optional request property `allOf[subschema #2]/testCaseWithSpecificationUpdate` (media type: multipart/form-data)
  - added the new optional request property `allOf[subschema #2]/testCaseWithTestHistoryReplacement` (media type: multipart/form-data)
  - added the new optional request property `allOf[subschema #2]/testCaseWithoutSpecificationUpdate` (media type: multipart/form-data)
  - added the new optional request property `allOf[subschema #2]/testCaseWithoutTestHistoryReplacement` (media type: multipart/form-data)
  - …1 more

[Full history](https://skmtc.dev/ec-jrc/apis/interoperability-test-bed-rest-api/changes/testsuite/deploy/post.md)

---

[API](https://skmtc.dev/ec-jrc/apis/interoperability-test-bed-rest-api.md) · [All operations](https://skmtc.dev/ec-jrc/apis/interoperability-test-bed-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ec-jrc/interoperability-test-bed-rest-api/revisions/433b3c0ae6d4/schema)
