openapi: 3.0.3
info:
  title: Zephyr Cloud API
  description: |2

    # Introduction

    This is the **Zephyr Cloud** API. If you are looking for the Server API, please refer to the [documentation](https://support.smartbear.com/zephyr-scale-server/api-docs/v1/) for more information.

    This API uses the OpenAPI specification. If you want to generate clients for different languages, please use the link above to download the API specification and use it with your preferred tools.

    For feature requests or general support, please head to our [support site](https://support.smartbear.com/zephyr/message/).

    # Authentication
    The API authentication is based on JSON Web Token (JWT), which is a key for accessing the API. Authenticating using JWT requires the following steps:
    * Generate a key
    * Make authenticated requests

    ## Generate a Key
    For accessing the API, you must generate an access key in Jira. To generate an access token, click on your profile picture at the page bottom left, and
    choose the option “Zephyr API keys". For more information, please check out the [documentation](https://support.smartbear.com/zephyr/docs/en/rest-api/api-access-tokens-management.html).

    ## Accessing the API
    The API is available at the following base URL:
    ```
    https://api.zephyrscale.smartbear.com/v2
    ```
    For example, the final URL for retrieving test cases would be:
    ```
    https://api.zephyrscale.smartbear.com/v2/testcases
    ```
    For EU region, the API can be accessed at the following base URL:
    ```
    https://eu.api.zephyrscale.smartbear.com/v2
    ```

    ## Making Authenticated Requests
    To authenticate subsequent API requests, you must provide a valid token in an HTTP header, which is the key generated on the previous step:
    ```
    Authorization: Bearer {bearer_token}
    ```
    # Representing Users

    Previous API definitions used Atlassian User Keys to identify users. This parameter is deprecated because of privacy
    changes. Use Atlassian Account ID instead.


    Atlassian Account IDs are globally unique opaque identifiers for identifying a user. Every Atlassian Account has a
    ID which is assigned when the account is created and is immutable. Account IDs contain no personally identifiable
    information and are only used to retrieve user information ondemand. This API does not return any user information
    other than the Account ID (with the exception of the deprecated user keys during the deprecation period).
  version: "2"
  x-logo:
    url: https://smartbear-tm4j-prod-us-west-2-api-docs.s3-us-west-2.amazonaws.com/images/zephyr-logo2.svg
    altText: Zephyr Cloud
    href: https://support.smartbear.com/zephyr/message/
servers:
- url: https://api.zephyrscale.smartbear.com/v2
security:
- AccessToken: []
tags:
- name: Test Cases
  description: |
    Operations related to test cases.<br>
    No operations are enabled on archived test cases.
- name: Test Cycles
  description: Operations related to test cycles.
- name: Test Executions
  description: Operations related to test executions.
- name: Folders
  description: Operations related to folders.
- name: Statuses
  description: Operations related to statuses.
- name: Priorities
  description: Operations related to priorities.
- name: Environments
  description: Operations related to environments.
- name: Projects
  description: Operations related to projects.
- name: Links
  description: Operations related to links.
- name: Issue Links
  description: Operations related to coverage of issue links.
- name: Automations
  description: Operations related to test case automations.
paths:
  /testcases:
    get:
      tags:
      - Test Cases
      summary: Get test cases
      description: |
        Retrieves all test cases. Query parameters can be used to filter the results. If the user who is preforming the API call has access to more than 1000 projects, the `projectKey` query parameter is mandatory.
      operationId: listTestCases
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: folderId
        in: query
        description: Folder ID filter
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCaseList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Cases
      summary: Create test case
      description: |
        Creates a test case. Fields `priorityName` and `statusName` will be set to default values if not informed. Default values are usually “Normal” for `priorityName` and “Draft” for `statusName`. All required test case custom fields should be present in the request.
      operationId: createTestCase
      requestBody:
        description: Test Case Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestCaseInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyedCreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/nextgen:
    get:
      tags:
      - Test Cases
      summary: Get test cases (NextGen)
      description: "Retrieves all test cases. Query parameters can be used to filter\
        \ the results.\n\nUse this endpoint for retrieving large volumes of test cases.\n\
        \nResults are split in different pages, of size equal to the `limit` query\
        \ parameter. \nTo fetch the next page, use the `next` URL returned in the\
        \ response. \nIt should have the same parameters as the original request,\
        \ with the updated value for `startAtId` parameter.\nAlternatively, the same\
        \ request can be made with the `startAtId` parameter set to the `nextStartId`\
        \ value \nreturned in the response.\n"
      operationId: listTestCasesCursorPaginated
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: folderId
        in: query
        description: Folder ID filter
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: limit
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the limit value in the response to confirm how many results were actually returned.
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAtId
        in: query
        description: Zero-indexed starting position for ID-based pagination.
        schema:
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPagedTestCaseList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}:
    get:
      tags:
      - Test Cases
      summary: Get test case
      description: Returns a test case for the given key.
      operationId: getTestCase
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCase'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Test Cases
      summary: Update test case
      description: |
        Updates an existing test case.  Please take into account that for each non-specified field the value will be cleared. If the project has test case custom fields, all custom fields should be present in the request. To leave any of them blank, please set them null if they are not required custom fields.
      operationId: updateTestCase
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      requestBody:
        description: Test Case Update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestCase'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/links:
    get:
      tags:
      - Test Cases
      summary: Get links
      description: Returns links for a test case with specified key.
      operationId: getTestCaseLinks
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCaseLinkList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/links/issues:
    post:
      tags:
      - Test Cases
      summary: Create issue link
      description: Creates a link between a test case and a Jira issue.
      operationId: createTestCaseIssueLink
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      requestBody:
        description: Issue Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/links/weblinks:
    post:
      tags:
      - Test Cases
      summary: Create web link
      description: Creates a link between a test case and a generic URL.
      operationId: createTestCaseWebLink
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      requestBody:
        description: Web Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/versions:
    get:
      tags:
      - Test Cases
      summary: Get versions
      description: Returns all test case versions for a test case with specified key.
        Response is ordered by most recent first.
      operationId: listTestCaseVersions
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCaseVersionLinkList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/versions/{version}:
    get:
      tags:
      - Test Cases
      summary: Get version
      description: Retrieves a specific version of a test case.
      operationId: getTestCaseVersion
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      - name: version
        in: path
        description: Version of the test case to retrieve.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCase'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/testscript:
    get:
      tags:
      - Test Cases
      summary: Get test script
      description: Returns the test script for the given test case
      operationId: getTestCaseTestScript
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestScript'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Cases
      summary: Create test script
      description: "Creates or updates the test script for a test case. If the test\
        \ case currently has a sequence of test steps assigned to it, these will be\
        \ implicitly removed."
      operationId: createTestCaseTestScript
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      requestBody:
        description: Test Script Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestScriptInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcases/{testCaseKey}/teststeps:
    get:
      tags:
      - Test Cases
      summary: Get test steps
      description: "Returns the test steps for the given test case. Provides a paged\
        \ response, with 100 items per page."
      operationId: getTestCaseTestSteps
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestStepsList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Cases
      summary: Post test steps
      description: |
        Assigns a series of test steps to a test case, appending them to any existing sequence of test steps. A maximum of 100 steps can be posted per request. Consumers should not attempt to parallelize this operation, as the order of the steps is defined by the input order. If this endpoint is called on a test case that already has a plain text or BDD test script, that test script will implicitly be removed. All required step custom fields should be present in the request.
      operationId: createTestCaseTestSteps
      parameters:
      - name: testCaseKey
        in: path
        description: "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
        required: true
        schema:
          pattern: "(.+-T[0-9]+)"
          type: string
      requestBody:
        description: Test Step Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestStepsInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcycles:
    get:
      tags:
      - Test Cycles
      summary: Get test cycles
      description: Returns all test cycles. Query parameters can be used to filter
        by project and folder.
      operationId: listTestCycles
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: folderId
        in: query
        description: Folder ID filter
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: jiraProjectVersionId
        in: query
        description: Jira Project Version ID. Relates to 'Version' or 'Releases' in
          Jira projects.
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCycleList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Cycles
      summary: Create a Test Cycle
      description: Creates a Test Cycle. All required test cycle custom fields should
        be present in the request.
      operationId: createTestCycle
      requestBody:
        description: Test Cycle Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestCycleInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyedCreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcycles/{testCycleIdOrKey}:
    get:
      tags:
      - Test Cycles
      summary: Get test cycle
      description: Returns a test cycle for the given key.
      operationId: getTestCycle
      parameters:
      - name: testCycleIdOrKey
        in: path
        description: The ID or key of the test cycle.
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCycle'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Test Cycles
      summary: Update test cycle
      description: |
        Updates an existing test cycle.  Please take into account that for each non-specified field the value will be cleared. If the project has test cycle custom fields, all custom fields should be present in the request. To leave any of them blank, please set them null if they are not required custom fields.
      operationId: updateTestCycle
      parameters:
      - name: testCycleIdOrKey
        in: path
        description: The ID or key of the test cycle.
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      requestBody:
        description: Test Cycle Update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestCycle'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
            location:
              description: URL of the updated Test Cycle
              style: simple
              explode: false
              schema:
                type: string
                format: url
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcycles/{testCycleIdOrKey}/links:
    get:
      tags:
      - Test Cycles
      summary: Get links
      description: Returns links for a test cycle with specified key.
      operationId: getTestCycleLinks
      parameters:
      - name: testCycleIdOrKey
        in: path
        description: The ID or key of the test cycle.
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCycleLinkList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcycles/{testCycleIdOrKey}/links/issues:
    post:
      tags:
      - Test Cycles
      summary: Create issue link
      description: Creates a link between a test cycle and a Jira issue.
      operationId: createTestCycleIssueLink
      parameters:
      - name: testCycleIdOrKey
        in: path
        description: The ID or key of the test cycle.
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      requestBody:
        description: Issue Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
            location:
              description: URL of the created link
              schema:
                type: string
                format: url
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testcycles/{testCycleIdOrKey}/links/weblinks:
    post:
      tags:
      - Test Cycles
      summary: Create web link
      description: Creates a link between a test cycle and a generic URL.
      operationId: createTestCycleWebLink
      parameters:
      - name: testCycleIdOrKey
        in: path
        description: The ID or key of the test cycle.
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      requestBody:
        description: Web Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
            location:
              description: URL of the created link
              schema:
                type: string
                format: url
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testplans:
    get:
      tags:
      - Test Plans
      summary: Get test plans
      description: Retrieves all test plans. Query parameters can be used to filter
        the results.
      operationId: listTestPlans
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestPlanList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Plans
      summary: Create test plan
      description: Creates a test plan. All required test plan custom fields should
        be present in the request.
      operationId: createTestPlan
      requestBody:
        description: Test Case Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestPlanInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyedCreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testplans/{testPlanIdOrKey}:
    get:
      tags:
      - Test Plans
      summary: Get test plan
      description: Returns a test plan for the given id or key.
      operationId: getTestPlan
      parameters:
      - name: testPlanIdOrKey
        in: path
        description: "The ID or key of the test plan. Test plan keys are of the format\
          \ [A-Z]+-P[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-P[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestPlan'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testplans/{testPlanIdOrKey}/links/weblinks:
    post:
      tags:
      - Test Plans
      summary: Create web link
      description: Creates a link between a test plan and a generic URL.
      operationId: createTestPlanWebLink
      parameters:
      - name: testPlanIdOrKey
        in: path
        description: "The ID or key of the test plan. Test plan keys are of the format\
          \ [A-Z]+-P[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-P[0-9]+)"
          type: string
      requestBody:
        description: Web Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebLinkInputWithMandatoryDescription'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testplans/{testPlanIdOrKey}/links/issues:
    post:
      tags:
      - Test Plans
      summary: Create issue link
      description: Creates a link between a test plan and a Jira issue.
      operationId: createTestPlanIssueLink
      parameters:
      - name: testPlanIdOrKey
        in: path
        description: "The ID or key of the test plan. Test plan keys are of the format\
          \ [A-Z]+-P[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-P[0-9]+)"
          type: string
      requestBody:
        description: Issue Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testplans/{testPlanIdOrKey}/links/testcycles:
    post:
      tags:
      - Test Plans
      summary: Create test cycle link
      description: Creates a link between a test plan and a test cycle.
      operationId: createTestPlanTestCycleLink
      parameters:
      - name: testPlanIdOrKey
        in: path
        description: "The ID or key of the test plan. Test plan keys are of the format\
          \ [A-Z]+-P[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-P[0-9]+)"
          type: string
      requestBody:
        description: Test Cycle Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestPlanTestCycleLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions:
    get:
      tags:
      - Test Executions
      summary: Get test executions
      description: Returns all test executions. Query parameters can be used to filter
        by project and folder.
      operationId: listTestExecutions
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: testCycle
        in: query
        description: Test cycle key filter.
        schema:
          pattern: "([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      - name: testCase
        in: query
        description: Test case key filter.
        schema:
          pattern: "([0-9]+)|(.+-T[0-9]+)"
          type: string
      - name: actualEndDateAfter
        in: query
        description: "Filter for 'Actual End Date' after the given time. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
        schema:
          type: string
          format: date-time
      - name: actualEndDateBefore
        in: query
        description: "Filter for 'Actual End Date' before the given time. Format:\
          \ yyyy-MM-dd'T'HH:mm:ss'Z'"
        schema:
          type: string
          format: date-time
      - name: includeStepLinks
        in: query
        description: "If true, execution step issue links will be included in the\
          \ response"
        schema:
          type: boolean
          default: false
      - name: jiraProjectVersionId
        in: query
        description: Jira Project Version ID. Relates to 'Version' or 'Releases' in
          Jira projects.
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: onlyLastExecutions
        in: query
        description: "If true, includes only the last execution of each test cycle\
          \ item (test case), and all ad-hoc test executions."
        schema:
          type: boolean
          default: false
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Test Executions
      summary: Create test execution
      description: Creates a test execution. All required test execution custom fields
        should be present in the request.
      operationId: createTestExecution
      requestBody:
        description: Web Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestExecutionInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/nextgen:
    get:
      tags:
      - Test Executions
      summary: Get test executions (NextGen)
      description: "Retrieves all test executions. Query parameters can be used to\
        \ filter the results. \n\nUse this endpoint for retrieving large volumes of\
        \ test executions.\n\nResults are split into separate pages, each of the same\
        \ size as the `limit` query parameter. \nTo fetch the next page, use the `next`\
        \ URL returned in the response. \nIt should have the same parameters as the\
        \ original request, with the updated value for `startAtId` parameter.\nAlternatively,\
        \ the same request can be made with the `startAtId` parameter set to the `nextStartId`\
        \ value \nreturned in the response.\n"
      operationId: listTestExecutionsNextgen
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: testCycle
        in: query
        description: Test cycle key filter.
        schema:
          pattern: "([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
      - name: testCase
        in: query
        description: Test case key filter.
        schema:
          pattern: "([0-9]+)|(.+-T[0-9]+)"
          type: string
      - name: actualEndDateAfter
        in: query
        description: "Filter for 'Actual End Date' after the given time. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
        schema:
          type: string
          format: date-time
      - name: actualEndDateBefore
        in: query
        description: "Filter for 'Actual End Date' before the given time. Format:\
          \ yyyy-MM-dd'T'HH:mm:ss'Z'"
        schema:
          type: string
          format: date-time
      - name: includeStepLinks
        in: query
        description: "If true, execution step issue links will be included in the\
          \ response"
        schema:
          type: boolean
          default: false
      - name: jiraProjectVersionId
        in: query
        description: Jira Project Version ID. Relates to 'Version' or 'Releases' in
          Jira projects.
        schema:
          minimum: 1
          type: integer
          format: int64
      - name: onlyLastExecutions
        in: query
        description: "If true, includes only the last execution of each test cycle\
          \ item (test case), and all ad-hoc test executions."
        schema:
          type: boolean
          default: false
      - name: limit
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the limit value in the response to confirm how many results were actually returned.
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAtId
        in: query
        description: Zero-indexed starting position for ID-based pagination.
        schema:
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPagedTestExecutionList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/{testExecutionIdOrKey}:
    get:
      tags:
      - Test Executions
      summary: Get test execution
      description: Returns a test execution for the given ID.
      operationId: getTestExecution
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      - name: includeStepLinks
        in: query
        description: "If true, execution step issue links will be included in the\
          \ response"
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecution'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Test Executions
      summary: Update test execution
      description: Update the test execution. This operation only updates specified
        fields in the payload and ignores `null` or `undefined` values.
      operationId: updateTestExecution
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      requestBody:
        description: Test Execution Update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestExecutionUpdate'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
            location:
              description: URL of the updated Test Execution
              style: simple
              explode: false
              schema:
                type: string
                format: url
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/{testExecutionIdOrKey}/teststeps:
    get:
      tags:
      - Test Executions
      summary: Get test steps
      description: Returns the test steps for the given test execution. Provides a
        paged response.
      operationId: getTestExecutionTestSteps
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      - name: testDataRowNumber
        in: query
        description: The id of the test data row to retrieve.
        schema:
          minimum: 0
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionTestStepsList'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Test Executions
      summary: Update test steps
      description: Updates the test steps for the given test execution.
      operationId: putTestExecutionTestSteps
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      requestBody:
        description: Test Steps Update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestStepsUpdate'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestResultNotFoundOrUserAccessError'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionImmutableError'
        "422":
          description: Unprocessable Content
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/TestStepNumberMismatchUnprocessableError'
                - $ref: '#/components/schemas/TestStepTestDataUnprocessableError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/{testExecutionIdOrKey}/teststeps/sync:
    post:
      tags:
      - Test Executions
      summary: Sync test execution
      description: Sync test execution with content of test case script
      operationId: syncTestExecutionScript
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestResultNotFoundOrUserAccessError'
        "409":
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionImmutableError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/{testExecutionIdOrKey}/links:
    get:
      tags:
      - Test Executions
      summary: Get links
      description: Returns links for a test execution with specified ID.
      operationId: listTestExecutionLinks
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionLinkList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /testexecutions/{testExecutionIdOrKey}/links/issues:
    post:
      tags:
      - Test Executions
      summary: Create issue link
      description: Creates a link between a test execution and a Jira issue.
      operationId: createTestExecutionIssueLink
      parameters:
      - name: testExecutionIdOrKey
        in: path
        description: "The ID or key of the test execution. Test execution keys are\
          \ of the format [A-Z]+-E[0-9]+"
        required: true
        schema:
          pattern: "([0-9]+)|(.+-E[0-9]+)"
          type: string
      requestBody:
        description: Issue Link Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueLinkInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
            location:
              description: URL of the created link
              schema:
                type: string
                format: url
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /projects:
    get:
      tags:
      - Projects
      summary: Get projects
      description: Returns all projects.
      operationId: listProjects
      parameters:
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /projects/{projectIdOrKey}:
    get:
      tags:
      - Projects
      summary: Get project
      description: Returns a project for the given ID or key.
      operationId: getProject
      parameters:
      - name: projectIdOrKey
        in: path
        description: The Zephyr project ID or Jira project key
        required: true
        schema:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /folders:
    get:
      tags:
      - Folders
      summary: Get folders
      description: Returns all folder.
      operationId: listFolders
      parameters:
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: folderType
        in: query
        description: "Folder type filter. Either `\"TEST_CASE\"`, `\"TEST_PLAN\"`\
          \ or `\"TEST_CYCLE\"`"
        schema:
          $ref: '#/components/schemas/FolderType'
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Folders
      summary: Create folder
      description: Creates a folder.
      operationId: createFolder
      requestBody:
        description: FolderInput
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /folders/{folderId}:
    get:
      tags:
      - Folders
      summary: Get folder
      description: Returns a folder for the given ID.
      operationId: getFolder
      parameters:
      - name: folderId
        in: path
        description: Folder ID
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /priorities:
    get:
      tags:
      - Priorities
      summary: Get priorities
      description: Returns all priorities.
      operationId: listPriorities
      parameters:
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriorityList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Priorities
      summary: Create a priority
      description: Creates a priority.
      operationId: createPriority
      requestBody:
        description: Priority Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePriorityInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /priorities/{priorityId}:
    get:
      tags:
      - Priorities
      summary: Get priority
      description: Returns a priority for the given ID.
      operationId: getPriority
      parameters:
      - name: priorityId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Priority'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriorityNotFoundOrUserAccessError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Priorities
      summary: Update priority
      description: |
        Update an existing priority.  Please take into account that for each non-specified field the value will be cleared.
      operationId: updatePriority
      parameters:
      - name: priorityId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      requestBody:
        description: Priority Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePriorityInput'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /statuses:
    get:
      tags:
      - Statuses
      summary: Get statuses
      description: Returns all statuses.
      operationId: listStatuses
      parameters:
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: statusType
        in: query
        description: Determines which type of entity the status belongs to.
        schema:
          type: string
          enum:
          - TEST_CASE
          - TEST_PLAN
          - TEST_CYCLE
          - TEST_EXECUTION
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Statuses
      summary: Create a status
      description: Creates a status.
      operationId: createStatus
      requestBody:
        description: Status Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStatusInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /statuses/{statusId}:
    get:
      tags:
      - Statuses
      summary: Get status
      description: Returns a status for the given ID.
      operationId: getStatus
      parameters:
      - name: statusId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusNotFoundOrUserAccessError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Statuses
      summary: Update status
      description: |
        Update an existing status.  Please take into account that for each non-specified field the value will be cleared.
      operationId: updateStatus
      parameters:
      - name: statusId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      requestBody:
        description: Status Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStatusInput'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /environments:
    get:
      tags:
      - Environments
      summary: Get environments
      description: Returns all environments.
      operationId: listEnvironments
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: maxResults
        in: query
        description: |
          Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.

          Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.
        schema:
          minimum: 1
          type: integer
          format: int64
          default: 10
      - name: startAt
        in: query
        description: Zero-indexed starting position. Should be a multiple of maxResults.
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int64
          default: 0
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    post:
      tags:
      - Environments
      summary: Create an environment
      description: Creates an environment.
      operationId: createEnvironment
      requestBody:
        description: Environment Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEnvironmentInput'
        required: true
      responses:
        "201":
          description: Created
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedResource'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DuplicatedNameError'
                - $ref: '#/components/schemas/EmptyNameError'
                - $ref: '#/components/schemas/UserAccessError'
                - $ref: '#/components/schemas/ProjectKeyMismatchError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /environments/{environmentId}:
    get:
      tags:
      - Environments
      summary: Get environment
      description: Returns an environment for the given ID.
      operationId: getEnvironment
      parameters:
      - name: environmentId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentNotFoundOrUserAccessError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
    put:
      tags:
      - Environments
      summary: Update an environment
      description: |
        Update an existing environment.  Please take into account that for each non-specified field the value will be cleared.
      operationId: updateEnvironment
      parameters:
      - name: environmentId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      requestBody:
        description: Environment Input
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEnvironmentInput'
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DuplicatedNameError'
                - $ref: '#/components/schemas/EmptyNameError'
                - $ref: '#/components/schemas/UserAccessError'
                - $ref: '#/components/schemas/ProjectKeyMismatchError'
                - $ref: '#/components/schemas/IndexValueError'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /links/{linkId}:
    delete:
      tags:
      - Links
      summary: Delete link
      description: Deletes a link for the given ID.
      operationId: deleteLink
      parameters:
      - name: linkId
        in: path
        required: true
        schema:
          minimum: 1
          type: integer
          format: int64
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /issuelinks/{issueKey}/testcases:
    get:
      tags:
      - Issue Links
      summary: Get test cases
      description: Get test case keys and versions linked to the given Jira issue.
      operationId: getIssueLinkTestCases
      parameters:
      - name: issueKey
        in: path
        description: The key of the Jira issue
        required: true
        schema:
          pattern: ".+-[0-9]+"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCaseKeyAndVersionList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /issuelinks/{issueKey}/testcycles:
    get:
      tags:
      - Issue Links
      summary: Get test cycles
      description: Get test cycle IDs linked to the given Jira issue.
      operationId: getIssueLinkTestCycles
      parameters:
      - name: issueKey
        in: path
        description: The key of the Jira issue
        required: true
        schema:
          pattern: ".+-[0-9]+"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCycleIdList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /issuelinks/{issueKey}/testplans:
    get:
      tags:
      - Issue Links
      summary: Get test plans
      description: Get test plan IDs linked to the given Jira issue.
      operationId: getIssueLinkTestPlans
      parameters:
      - name: issueKey
        in: path
        description: The key of the Jira issue
        required: true
        schema:
          pattern: ".+-[0-9]+"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestPlanIdList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /issuelinks/{issueKey}/executions:
    get:
      tags:
      - Issue Links
      summary: Get test executions
      description: Get test execution IDs linked to the given Jira issue.
      operationId: getIssueLinkTestExecutions
      parameters:
      - name: issueKey
        in: path
        description: The key of the Jira issue
        required: true
        schema:
          pattern: ".+-[0-9]+"
          type: string
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestExecutionIdList'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /automations/executions/custom:
    post:
      tags:
      - Automations
      summary: Custom format
      description: Create results using Zephyr's custom results format.
      operationId: createCustomExecutions
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        required: true
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: autoCreateTestCases
        in: query
        description: Indicate if test cases should be created if non existent.
        schema:
          type: boolean
          default: false
      - name: content-length
        in: header
        description: "The content-length header indicates the size of the message\
          \ body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
        required: true
        schema:
          type: integer
      requestBody:
        description: "The zip file containing custom execution results. The max file\
          \ size is 10MB. Optionally, you can send a `testCycle` part in your form\
          \ data to customize the created test cycle."
        content:
          multipart/form-data:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  format: binary
                testCycle:
                  $ref: '#/components/schemas/AutomationTestCycleInput'
            encoding:
              testCycle:
                contentType: application/json
                style: form
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationResult'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /automations/executions/cucumber:
    post:
      tags:
      - Automations
      summary: Cucumber format
      description: Create results using the Cucumber results format.
      operationId: createCucumberExecutions
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        required: true
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: autoCreateTestCases
        in: query
        description: Indicate if test cases should be created if non existent.
        schema:
          type: boolean
          default: false
      - name: content-length
        in: header
        description: "The content-length header indicates the size of the message\
          \ body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
        required: true
        schema:
          type: integer
      requestBody:
        description: "The zip file containing [Cucumber execution results](https://github.com/cucumber/cucumber-json-schema/blob/main/schemas/canonical.json)\
          \ as one or more files. The max file size is 2MB. Optionally, you can send\
          \ a `testCycle` part in your form data to customize the created test cycle."
        content:
          multipart/form-data:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  format: binary
                testCycle:
                  $ref: '#/components/schemas/AutomationTestCycleInput'
            encoding:
              testCycle:
                contentType: application/json
                style: form
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationResult'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /automations/executions/junit:
    post:
      tags:
      - Automations
      summary: JUnit XML format
      description: "Create results using the JUnit XML results format. Optionally,\
        \ you can send a `testCycle` part in your form data to customize the created\
        \ test cycle."
      operationId: createJUnitExecutions
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        required: true
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: autoCreateTestCases
        in: query
        description: Indicate if test cases should be created if non existent.
        schema:
          type: boolean
          default: false
      - name: content-length
        in: header
        description: "The content-length header indicates the size of the message\
          \ body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
        required: true
        schema:
          type: integer
      requestBody:
        description: The zip or single file containing JUnit execution results. The
          max file size is 10MB
        content:
          multipart/form-data:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  format: binary
                testCycle:
                  $ref: '#/components/schemas/AutomationTestCycleInput'
            encoding:
              testCycle:
                contentType: application/json
                style: form
        required: true
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationResult'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /automations/testcases:
    get:
      tags:
      - Automations
      summary: Retrieve a zip file containing Cucumber Feature Files that matches
        the query passed as parameter.
      operationId: retrieveBDDTestCases
      parameters:
      - name: projectKey
        in: query
        description: Jira project key filter
        required: true
        schema:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
          enum:
          - application/zip
      responses:
        "200":
          description: A Zip file containing BDD feature files
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/zip:
              schema:
                type: string
                format: binary
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
  /healthcheck:
    get:
      tags:
      - Healthcheck
      summary: Check the health of this API
      operationId: healthcheck
      responses:
        "200":
          description: OK
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
        default:
          description: An error has occurred. Please check the code and the error
            message.
          headers:
            Access-Control-Allow-Headers:
              $ref: '#/components/headers/Access-Control-Allow-Headers'
            Access-Control-Allow-Methods:
              $ref: '#/components/headers/Access-Control-Allow-Methods'
            Access-Control-Allow-Origin:
              $ref: '#/components/headers/Access-Control-Allow-Origin'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-amazon-integration:
        x-amazon-apigateway-request-validator: basic
        x-amazon-apigateway-integration:
          httpMethod: post
          type: aws_proxy
          uri:
            Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
        security:
        - AccessToken: []
components:
  schemas:
    TestCaseList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestCase'
    PagedList:
      required:
      - maxResults
      - startAt
      type: object
      properties:
        next:
          type: string
          description: "URL to the next page of results, or null if there are no more\
            \ results."
          format: uri
          nullable: true
        startAt:
          minimum: 0
          type: integer
          description: Indicates the index of the first item returned in the page
            of results.
          format: int64
        maxResults:
          minimum: 1
          type: integer
          description: "Indicates the maximum number of results in this response.\
            \ Note that the server may enforce a lower limit than requested, depending\
            \ on resource availability or other internal constraints."
          format: int64
          example: 1
        total:
          minimum: 0
          type: integer
          description: Indicates the total number of items available across all pages.
          format: int64
          example: 1
        isLast:
          type: boolean
          description: Indicates if this is the last page of results.
          example: true
    TestCase:
      required:
      - id
      - key
      - name
      - priority
      - project
      - status
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        key:
          pattern: ".+-T[0-9]+"
          type: string
          description: The test case key
          example: SA-T10
        name:
          $ref: '#/components/schemas/EntityName'
        project:
          $ref: '#/components/schemas/ProjectLink'
        createdOn:
          $ref: '#/components/schemas/CreatedOn'
        objective:
          $ref: '#/components/schemas/Objective'
        precondition:
          $ref: '#/components/schemas/Precondition'
        estimatedTime:
          minimum: 0
          type: integer
          description: Estimated duration in milliseconds.
          format: int64
          nullable: true
          example: 138000
        labels:
          $ref: '#/components/schemas/Labels'
        component:
          $ref: '#/components/schemas/JiraComponent'
        priority:
          $ref: '#/components/schemas/PriorityLink'
        status:
          $ref: '#/components/schemas/StatusLink'
        folder:
          $ref: '#/components/schemas/FolderLink'
        owner:
          $ref: '#/components/schemas/JiraUserLink'
        testScript:
          $ref: '#/components/schemas/TestCaseTestScriptLink'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        links:
          $ref: '#/components/schemas/TestCaseLinkList'
    EntityId:
      minimum: 1
      type: integer
      format: int64
      example: 1
    EntityName:
      maxLength: 255
      minLength: 1
      pattern: ^(?!\\s*$).+
      type: string
      example: Check axial pump
    ProjectLink:
      description: ID and link relative to Zephyr project.
      example:
        id: 10005
        self: https://<api-base-url>/projects/10005
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    ResourceId:
      required:
      - id
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
      description: The ID of the resource
    Link:
      type: object
      properties:
        self:
          type: string
          description: The REST API endpoint to get more resource details.
          format: uri
    CreatedOn:
      type: string
      description: |
        Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.
      format: date-time
      example: 2018-05-15T13:15:13Z
    Objective:
      type: string
      description: A description of the objective.
      nullable: true
      example: To ensure the axial pump can be enabled
    Precondition:
      type: string
      description: Any conditions that need to be met.
      nullable: true
      example: Latest version of the axial pump available
    Labels:
      maxItems: 50
      type: array
      description: Array of labels associated to this entity.
      example:
      - Regression
      - Performance
      - Automated
      items:
        type: string
    JiraComponent:
      nullable: true
      example:
        id: 10001
        self: https://<jira-instance>.atlassian.net/rest/api/2/component/10001
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    PriorityLink:
      example:
        id: 10002
        self: https://<api-base-url>/priorities/10002
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    StatusLink:
      example:
        id: 10000
        self: https://<api-base-url>/statuses/10000
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    FolderLink:
      nullable: true
      example:
        id: 100006
        self: https://<api-base-url>/folders/10006
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    JiraUserLink:
      required:
      - accountId
      properties:
        accountId:
          $ref: '#/components/schemas/JiraUserAccountId'
        self:
          type: string
          description: The Jira REST API endpoint to get the full representation of
            the Jira user.
          format: uri
      nullable: true
      example:
        self: https://<jira-instance>.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g
        accountId: 5b10a2844c20165700ede21g
    JiraUserAccountId:
      pattern: "^[-:a-zA-Z0-9]{1,128}$"
      type: string
      description: Atlassian Account ID of the Jira user.
      nullable: true
      example: 5b10a2844c20165700ede21g
    TestCaseTestScriptLink:
      example:
        self: https://<api-base-url>/testCases/PROJ-T1/testscript
      allOf:
      - $ref: '#/components/schemas/Link'
    CustomFields:
      type: object
      additionalProperties: {}
      description: |
        Multi-line text fields support HTML and should denote new lines with the \<br\> tag.
        Dates should be in the format 'yyyy-MM-dd'.
        Users should have values of Jira User Account IDs.
      example:
        Build Number: 20
        Release Date: 2020-01-01
        Pre-Condition(s): User should have logged in. <br> User should have navigated
          to the administration panel.
        Implemented: false
        Category:
        - Performance
        - Regression
        Tester: fa2e582e-5e15-521e-92e3-47e6ca2e7256
    TestCaseLinkList:
      description: This property is ignored on updates.
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          issues:
            $ref: '#/components/schemas/IssueLinkList'
          webLinks:
            $ref: '#/components/schemas/WebLinkList'
    IssueLinkList:
      type: array
      description: A list of Jira issues linked to this entity
      items:
        $ref: '#/components/schemas/IssueLink'
    IssueLink:
      allOf:
      - $ref: '#/components/schemas/IssueLinkInput'
      - properties:
          self:
            type: string
            description: The Zephyr REST API endpoint relative to the link between
              the entity and the Jira issue.
            format: uri
          id:
            minimum: 1
            type: integer
            description: The ID that represents the link between the entity and the
              Jira issue.
            format: int64
            example: 1
          target:
            type: string
            description: The Jira Cloud REST API endpoint to get the full representation
              of the issue
            format: uri
            example: https://<jira-instance>.atlassian.net/rest/api/2/issue/10000
          type:
            type: string
            description: The link type
            enum:
            - COVERAGE
            - BLOCKS
            - RELATED
    IssueLinkInput:
      required:
      - issueId
      type: object
      properties:
        issueId:
          minimum: 1
          type: integer
          description: The Jira issue ID
          format: int64
          example: 10100
    WebLinkList:
      type: array
      description: A list of web links for this entity
      items:
        $ref: '#/components/schemas/WebLink'
    WebLink:
      allOf:
      - $ref: '#/components/schemas/WebLinkInput'
      - properties:
          self:
            type: string
            description: The Zephyr REST API endpoint relative to the link between
              the entity and this web link.
            format: uri
          id:
            $ref: '#/components/schemas/EntityId'
          type:
            type: string
            description: The link type
            enum:
            - COVERAGE
            - BLOCKS
            - RELATED
    WebLinkInput:
      required:
      - url
      type: object
      properties:
        description:
          type: string
          description: The web link description
          example: A link to atlassian.com
        url:
          type: string
          description: The web link URL
          format: uri
          example: https://atlassian.com
    Error:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: projectKey must not be null
    TestCaseInput:
      required:
      - name
      - projectKey
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/EntityName'
        objective:
          $ref: '#/components/schemas/Objective'
        precondition:
          $ref: '#/components/schemas/Precondition'
        estimatedTime:
          minimum: 0
          type: integer
          description: Estimated duration in milliseconds.
          format: int64
          example: 138000
        componentId:
          minimum: 0
          type: integer
          description: ID of a component from Jira.
          format: int64
          example: 10001
        priorityName:
          $ref: '#/components/schemas/PriorityName'
        statusName:
          $ref: '#/components/schemas/StatusName'
        folderId:
          minimum: 1
          type: integer
          description: ID of a folder to place the entity within.
          format: int64
        ownerId:
          $ref: '#/components/schemas/JiraUserAccountId'
        labels:
          $ref: '#/components/schemas/Labels'
        customFields:
          $ref: '#/components/schemas/CustomFields'
    ProjectKey:
      pattern: "([A-Z][A-Z_0-9]+)"
      type: string
      description: Jira project key.
      example: TIS
    PriorityName:
      maxLength: 255
      minLength: 1
      type: string
      description: The priority name.
      example: Critical
    StatusName:
      maxLength: 255
      minLength: 1
      type: string
      description: The status name.
      example: In Progress
    KeyedCreatedResource:
      allOf:
      - $ref: '#/components/schemas/CreatedResource'
      - properties:
          key:
            type: string
    CreatedResource:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        self:
          type: string
    CursorPagedTestCaseList:
      allOf:
      - $ref: '#/components/schemas/CursorPagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestCase'
    CursorPagedList:
      required:
      - limit
      - nextStartAtId
      type: object
      properties:
        next:
          type: string
          format: uri
          nullable: true
        nextStartAtId:
          minimum: 0
          type: integer
          format: int64
          nullable: true
        limit:
          minimum: 0
          type: integer
          format: int64
          example: 1
    TestCaseVersionLinkList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            description: A list of versions for a test case
            items:
              $ref: '#/components/schemas/TestCaseVersionLink'
    TestCaseVersionLink:
      example:
        id: 10002
        self: https://<api-base-url>/testcases/PROJ-T1/versions/1
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          id:
            $ref: '#/components/schemas/EntityId'
    TestScript:
      description: Response body when retrieving test scripts
      allOf:
      - $ref: '#/components/schemas/TestScriptInput'
      - properties:
          id:
            $ref: '#/components/schemas/EntityId'
    TestScriptInput:
      required:
      - text
      - type
      type: object
      properties:
        type:
          type: string
          description: |
            Test scripts can be written in plain text or BDD format. The BDD type supports
            remote execution on a build system via API plugin.

            Supported Keywords for BDD:
            Given, When, Then, And, But.

            For more information about BDD and Gherkin syntax, see:
            https://support.smartbear.com/zephyr/docs/en/test-cases/gherkin-behavior-driven-development--bdd-.html

            For Plain Text scripts, we support HTML fragments.
            To create a step-by-step test script, you should use the POST /testcases/{testCaseKey}/teststeps endpoint.
          example: plain
          enum:
          - plain
          - bdd
        text:
          minLength: 1
          type: string
          example: e.g. Attempt to login to the application
      description: Request body for creating test scripts
    TestStepsList:
      description: Response body when retrieving test steps
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            description: The list of test steps
            items:
              $ref: '#/components/schemas/TestStep'
    TestStep:
      type: object
      properties:
        inline:
          type: object
          properties:
            description:
              type: string
              description: The instruction to be followed
              example: Attempt to login to the application
            testData:
              type: string
              description: Any test data required to perform the instruction (optional).
                The fields values provided can be interpolated into the description.
              example: Username = SmartBear Password = weLoveAtlassian
            expectedResult:
              type: string
              description: The expected outcome of executing the instruction
              example: "Login succeeds, web-app redirects to the dashboard view"
            customFields:
              $ref: '#/components/schemas/CustomFields'
            reflectRef:
              type: string
              description: The AI reference. Zephyr only feature
              example: Not available yet
        testCase:
          $ref: '#/components/schemas/TestStepTestCase'
      description: "An instruction to be followed as part of a step-by-step test script.\
        \ The test step can have either an inline definition, or delegate execution\
        \ to another test case. One of these options must be specified."
    TestStepTestCase:
      required:
      - testCaseKey
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          testCaseKey:
            pattern: "(.+-T[0-9]+)"
            type: string
            description: The key of the other test case that the test step should
              delegate execution to. This cannot be the parent test case.
            example: PROJ-T123
          parameters:
            type: array
            description: The list of parameters of the call to test step
            items:
              $ref: '#/components/schemas/TestStepTestCaseParameters'
    TestStepTestCaseParameters:
      type: object
      properties:
        name:
          type: string
          description: Name of the parameter
          example: username
        type:
          type: string
          description: Type of the parameter. It is manual inputs for parameters or
            the default values.
          example: DEFAULT_VALUE
          enum:
          - MANUAL_INPUT
          - DEFAULT_VALUE
        value:
          type: string
          description: Value of the parameter
          example: admin
    TestStepsInput:
      required:
      - items
      - mode
      type: object
      properties:
        mode:
          type: string
          description: |
            Valid values: `"APPEND"`, `"OVERWRITE"`. <br> `OVERWRITE` deletes and recreates the test steps and associated custom field values using the provided input. Attachments for existing steps are kept, but those for missing steps are deleted permanently <br> `APPEND` only adds extra steps to your test steps.
          example: APPEND
        items:
          type: array
          description: The list of test steps. Each step should be an object containing
            `inline` or `testCase`. **They should only include one of these fields
            at a time**.
          items:
            $ref: '#/components/schemas/TestStep'
      description: "Request body for creating test steps. A maximum of 100 test steps\
        \ can be added in one request. To add more than 100 steps, you can submit\
        \ multiple requests. The mode property allows you to specify whether you want\
        \ to delete the current test steps and create a new list, or append more items\
        \ to the end of the current list."
    TestCycleList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestCycle'
    TestCycle:
      required:
      - id
      - key
      - name
      - project
      - status
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        key:
          pattern: "([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
          description: Unique key of the test cycle
          example: SA-R40
        name:
          pattern: ^(?!\s*$).+
          type: string
          description: Name of the Test Cycle
          example: Sprint 1 Regression Test Cycle
        project:
          $ref: '#/components/schemas/ProjectLink'
        jiraProjectVersion:
          $ref: '#/components/schemas/JiraProjectVersion'
        status:
          $ref: '#/components/schemas/StatusLink'
        folder:
          $ref: '#/components/schemas/FolderLink'
        description:
          $ref: '#/components/schemas/EntityDescription'
        plannedStartDate:
          $ref: '#/components/schemas/TestCycleUpdatePlannedStartDate'
        plannedEndDate:
          $ref: '#/components/schemas/TestCycleUpdatePlannedEndDate'
        owner:
          $ref: '#/components/schemas/JiraUserLink'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        links:
          $ref: '#/components/schemas/TestCycleLinkList'
      description: Details of a test cycle
    JiraProjectVersion:
      description: ID and Link to fetch information about Jira Project version. Relates
        to 'Version' or 'Releases' in Jira projects.
      nullable: true
      example:
        id: 10000
        self: https://<jira-instance>.atlassian.net/rest/api/2/version/10000
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    EntityDescription:
      type: string
      description: Description outlining the scope.
      nullable: true
      example: Regression test cycle 1 to ensure no breaking changes
    TestCycleUpdatePlannedStartDate:
      type: string
      description: "Planned start date of the test cycle. This field cannot be blank.\
        \ Setting it as null or excluding it from the request will leave the field\
        \ values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
      format: date-time
      nullable: true
      example: 2018-05-19T13:15:13Z
    TestCycleUpdatePlannedEndDate:
      type: string
      description: "The planned end date of the test cycle. This field cannot be blank.\
        \ Setting it as null or excluding it from the request will leave the field\
        \ values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
      format: date-time
      nullable: true
      example: 2018-05-20T13:15:13Z
    TestCycleLinkList:
      description: Represents all links that a Test Cycle has. This property is ignored
        on update operations.
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          issues:
            $ref: '#/components/schemas/IssueLinkList'
          webLinks:
            $ref: '#/components/schemas/WebLinkList'
          testPlans:
            $ref: '#/components/schemas/TestCycleTestPlanLinkList'
    TestCycleTestPlanLinkList:
      type: array
      description: A list of test plans linked to a test cycle
      items:
        $ref: '#/components/schemas/TestCycleTestPlanLink'
    TestCycleTestPlanLink:
      example:
        id: 1
        self: https://<api-base-url>/links/1
        type: RELATED
        testPlanId: 2
        target: https://<jira-instance>.atlassian.net/rest/api/2/testplan/123
      allOf:
      - properties:
          id:
            minimum: 1
            type: integer
            description: The ID that represents the link between the Test Cycle and
              the Test Plan.
            format: int64
            example: 1
          self:
            type: string
            description: The Zephyr REST API endpoint relative to the link between
              the entity and the Jira issue.
            format: uri
          testPlanId:
            type: integer
            description: The ID of the test plan
            format: int64
          type:
            type: string
            description: The link type
            enum:
            - COVERAGE
            - BLOCKS
            - RELATED
          target:
            type: string
            description: The Zephyr REST API endpoint to get the full representation
              of the test plan
            format: uri
    TestCycleInput:
      required:
      - name
      - projectKey
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/EntityName'
        description:
          $ref: '#/components/schemas/EntityDescription'
        plannedStartDate:
          $ref: '#/components/schemas/PlannedStartDate'
        plannedEndDate:
          $ref: '#/components/schemas/PlannedEndDate'
        jiraProjectVersion:
          $ref: '#/components/schemas/JiraProjectVersionId'
        statusName:
          $ref: '#/components/schemas/StatusName'
        folderId:
          minimum: 1
          type: integer
          description: ID of a folder to place the entity within.
          format: int64
        ownerId:
          $ref: '#/components/schemas/JiraUserAccountId'
        customFields:
          $ref: '#/components/schemas/CustomFields'
    PlannedStartDate:
      type: string
      description: "Planned start date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
      format: date-time
      example: 2018-05-19T13:15:13Z
    PlannedEndDate:
      type: string
      description: "The planned end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
      format: date-time
      example: 2018-05-20T13:15:13Z
    JiraProjectVersionId:
      minimum: 1
      type: integer
      description: Jira Project Version ID. Relates to 'Version' or 'Releases' in
        Jira projects.
      format: int64
      example: 10000
    TestPlanList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestPlan'
    TestPlan:
      required:
      - id
      - key
      - name
      - project
      - status
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        key:
          pattern: ".+-P[0-9]+"
          type: string
          description: Key of the test plan
          example: SA-P10
        name:
          $ref: '#/components/schemas/EntityName'
        objective:
          $ref: '#/components/schemas/Objective'
        project:
          $ref: '#/components/schemas/ProjectLink'
        status:
          $ref: '#/components/schemas/StatusLink'
        folder:
          $ref: '#/components/schemas/FolderLink'
        owner:
          $ref: '#/components/schemas/JiraUserLink'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        labels:
          $ref: '#/components/schemas/Labels'
        links:
          properties:
            webLinks:
              $ref: '#/components/schemas/WebLinkList'
            issues:
              $ref: '#/components/schemas/IssueLinkList'
            testCycles:
              $ref: '#/components/schemas/TestPlanCycleLinkList'
    TestPlanCycleLinkList:
      type: array
      description: A list of test cycle links for a test plan
      items:
        $ref: '#/components/schemas/TestPlanTestCycleLink'
    TestPlanTestCycleLink:
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
      - properties:
          testCycleId:
            $ref: '#/components/schemas/EntityId'
          type:
            type: string
            description: The link type
            enum:
            - COVERAGE
            - BLOCKS
            - RELATED
          target:
            type: string
            description: The test cycle resource
        example:
          id: 1
          self: https://<api-base-url>/links/1
          type: RELATED
          testCycleId: 2
          target: https://<api-base-url>/testcycles/2
    TestPlanInput:
      required:
      - name
      - projectKey
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/EntityName'
        objective:
          $ref: '#/components/schemas/Objective'
        folderId:
          minimum: 1
          type: integer
          description: ID of a folder to place the entity within.
          format: int64
        statusName:
          $ref: '#/components/schemas/StatusName'
        ownerId:
          $ref: '#/components/schemas/JiraUserAccountId'
        labels:
          $ref: '#/components/schemas/Labels'
        customFields:
          $ref: '#/components/schemas/CustomFields'
    WebLinkInputWithMandatoryDescription:
      allOf:
      - $ref: '#/components/schemas/WebLinkInput'
      - required:
        - description
        - url
    TestPlanTestCycleLinkInput:
      required:
      - testCycleIdOrKey
      type: object
      properties:
        testCycleIdOrKey:
          pattern: "([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
          description: The ID or key of the test cycle.
    TestExecutionList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestExecution'
    TestExecution:
      required:
      - id
      - project
      - testCase
      - testExecutionStatus
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        key:
          pattern: ".+-E[0-9]+"
          type: string
          description: Test execution key
          example: SA-E10
        project:
          $ref: '#/components/schemas/ProjectLink'
        testCase:
          $ref: '#/components/schemas/TestCaseVersionLink'
        environment:
          $ref: '#/components/schemas/EnvironmentLink'
        jiraProjectVersion:
          $ref: '#/components/schemas/JiraProjectVersion'
        testExecutionStatus:
          $ref: '#/components/schemas/StatusLink'
        actualEndDate:
          $ref: '#/components/schemas/ActualEndDate'
        estimatedTime:
          minimum: 0
          type: integer
          description: Estimated duration in milliseconds.
          format: int64
          nullable: true
          example: 138000
        executionTime:
          minimum: 0
          type: integer
          description: Actual test execution time in milliseconds.
          format: int64
          nullable: true
          example: 120000
        executedById:
          $ref: '#/components/schemas/JiraUserAccountId'
        assignedToId:
          $ref: '#/components/schemas/JiraUserAccountId'
        comment:
          $ref: '#/components/schemas/Comment'
        automated:
          type: boolean
          description: Indicates if the test execution was done manually or not.
        testCycle:
          $ref: '#/components/schemas/TestCycleLink'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        links:
          $ref: '#/components/schemas/TestExecutionLinkList'
    EnvironmentLink:
      nullable: true
      example:
        id: 10005
        self: https://example.com/rest/api/v2/environment/10005
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    ActualEndDate:
      type: string
      description: "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
      format: date-time
      example: 2018-05-20T13:15:13Z
    Comment:
      type: string
      description: Comment added against overall test case execution.
      nullable: true
      example: Test failed user could not login
    TestCycleLink:
      nullable: true
      example:
        id: 10010
        self: https://<api-base-url>/testcycles/10010
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          id:
            $ref: '#/components/schemas/EntityId'
    TestExecutionLinkList:
      allOf:
      - $ref: '#/components/schemas/Link'
      - properties:
          issues:
            $ref: '#/components/schemas/IssueLinkList'
    TestExecutionInput:
      required:
      - projectKey
      - statusName
      - testCaseKey
      - testCycleKey
      type: object
      properties:
        projectKey:
          pattern: "([A-Z][A-Z_0-9]+)"
          type: string
          description: Jira project key.
          example: TIS
        testCaseKey:
          pattern: "(.+-T[0-9]+)"
          type: string
          description: "Key of test case the execution applies to. NOTE: Test cases\
            \ with call to test, parameters and test data are not supported."
          example: SA-T10
        testCycleKey:
          pattern: "([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
          description: Key of test cycle the execution applies to.
          example: SA-R10
        statusName:
          $ref: '#/components/schemas/StatusName'
        testScriptResults:
          type: array
          items:
            $ref: '#/components/schemas/TestScriptResultInput'
        environmentName:
          type: string
          description: Environment assigned to the test case.
          example: Chrome Latest Version
        actualEndDate:
          $ref: '#/components/schemas/ActualEndDate'
        executionTime:
          minimum: 0
          type: integer
          description: Actual test execution time in milliseconds.
          format: int64
          example: 120000
        executedById:
          $ref: '#/components/schemas/JiraUserAccountId'
        assignedToId:
          $ref: '#/components/schemas/JiraUserAccountId'
        comment:
          $ref: '#/components/schemas/Comment'
        customFields:
          $ref: '#/components/schemas/CustomFields'
    TestScriptResultInput:
      required:
      - statusName
      type: object
      properties:
        statusName:
          $ref: '#/components/schemas/StatusName'
        actualEndDate:
          $ref: '#/components/schemas/ActualEndDate'
        actualResult:
          type: string
          description: free text field to provide more info on result of step execution.
          example: User logged in successfully
    CursorPagedTestExecutionList:
      allOf:
      - $ref: '#/components/schemas/CursorPagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/TestExecution'
    TestExecutionUpdate:
      type: object
      properties:
        statusName:
          $ref: '#/components/schemas/StatusName'
        environmentName:
          type: string
          description: Environment assigned to the test case.
          example: Chrome Latest Version
        actualEndDate:
          $ref: '#/components/schemas/ActualEndDate'
        executionTime:
          minimum: 0
          type: integer
          description: Actual test execution time in milliseconds.
          format: int64
          example: 120000
        executedById:
          $ref: '#/components/schemas/JiraUserAccountId'
        assignedToId:
          $ref: '#/components/schemas/JiraUserAccountId'
        comment:
          $ref: '#/components/schemas/Comment'
    TestExecutionTestStepsList:
      description: Response body when retrieving test steps for a test execution
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            description: The list of test steps
            items:
              $ref: '#/components/schemas/TestExecutionStep'
    TestExecutionStep:
      type: object
      properties:
        inline:
          type: object
          properties:
            description:
              type: string
              description: The instruction to be followed
              example: Attempt to login to the application
            testData:
              type: string
              description: Any test data required to perform the instruction (optional).
                The fields values provided can be interpolated into the description.
              example: Username = SmartBear Password = weLoveAtlassian
            expectedResult:
              type: string
              description: The expected outcome of executing the instruction
              example: "Login succeeds, web-app redirects to the dashboard view"
            actualResult:
              type: string
              description: The actual outcome of executing the instruction
              example: "Login succeeded, web-app redirected to the dashboard view"
            testDataRowNumber:
              type: integer
              description: The id of the test data row
              example: 1
            reflectRef:
              type: string
              description: The AI reference. Zephyr only feature
              example: Not available yet
            status:
              $ref: '#/components/schemas/StatusLink'
      description: Inline test step
    TestStepsUpdate:
      type: object
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/TestStepUpdate'
    TestStepUpdate:
      type: object
      properties:
        actualResult:
          $ref: '#/components/schemas/ActualResult'
        statusName:
          $ref: '#/components/schemas/StatusName'
    ActualResult:
      type: string
      description: The actual result.
      example: User logged in successfully
    TestResultNotFoundOrUserAccessError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 404
        message:
          type: string
          example: Test execution does not exist or you do not have access to it
    TestExecutionImmutableError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 409
        message:
          type: string
          example: The test execution you are trying to update is immutable. Please
            check if there's a more recent execution for this test case
    TestStepNumberMismatchUnprocessableError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 422
        message:
          type: string
          example: Sent steps are not matching test execution steps
    TestStepTestDataUnprocessableError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 422
        message:
          type: string
          example: Update of test execution containing test data is not supported
    ProjectList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/Project'
    Project:
      required:
      - enabled
      - id
      - jiraProjectId
      - key
      type: object
      properties:
        id:
          type: integer
          description: The ID of the project in Zephyr.
          format: int64
        jiraProjectId:
          type: integer
          description: The ID of the project in Jira.
          format: int64
        key:
          type: string
        enabled:
          type: boolean
          description: Indicates whether the project has Zephyr enabled on it.
    FolderType:
      type: string
      description: "Valid values: `\"TEST_CASE\"`, `\"TEST_PLAN\"`, `\"TEST_CYCLE\"\
        `"
    FolderList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/Folder'
    Folder:
      required:
      - folderType
      - id
      - index
      - name
      - parentId
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        parentId:
          $ref: '#/components/schemas/EntityId'
        name:
          $ref: '#/components/schemas/EntityName'
        index:
          $ref: '#/components/schemas/Index'
        folderType:
          $ref: '#/components/schemas/FolderType'
        project:
          $ref: '#/components/schemas/ProjectLink'
    Index:
      minimum: 0
      type: integer
      format: int64
      example: 1
    FolderInput:
      required:
      - folderType
      - name
      - projectKey
      type: object
      properties:
        parentId:
          minimum: 1
          type: integer
          description: Folder ID of the parent folder. Must be `null` for root folders.
          format: int64
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Folder name. Folder name must not contain `/` and `\` characters.
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        folderType:
          $ref: '#/components/schemas/FolderType'
    PriorityList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/Priority'
    Priority:
      example:
        id: 1
        project:
          id: 10005
          self: https://<api-base-url>/projects/10005
        name: Critical
        description: Top level priority
        index: 1
        color: '#FFF'
        default: false
      allOf:
      - $ref: '#/components/schemas/OptionValue'
      - properties:
          color:
            $ref: '#/components/schemas/EntityColor'
          default:
            type: boolean
            default: false
    OptionValue:
      required:
      - id
      - index
      - name
      - project
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        project:
          $ref: '#/components/schemas/ProjectLink'
        name:
          $ref: '#/components/schemas/EntityName'
        description:
          $ref: '#/components/schemas/EntityDescription'
        index:
          $ref: '#/components/schemas/Index'
    EntityColor:
      pattern: "#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})"
      type: string
      description: A color in hexadecimal format
      example: "#FFF or #FFFFFF"
    CreatePriorityInput:
      required:
      - name
      - projectKey
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/PriorityName'
        description:
          $ref: '#/components/schemas/PriorityDescription'
        color:
          $ref: '#/components/schemas/EntityColor'
    PriorityDescription:
      maxLength: 255
      minLength: 1
      type: string
      description: The priority description.
      example: Top level priority
    PriorityNotFoundOrUserAccessError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 404
        message:
          type: string
          example: Priority '1' does not exist or you do not have access to it
    UpdatePriorityInput:
      required:
      - default
      - id
      - index
      - name
      - project
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        project:
          $ref: '#/components/schemas/ProjectLink'
        name:
          $ref: '#/components/schemas/PriorityName'
        description:
          $ref: '#/components/schemas/PriorityDescription'
        index:
          $ref: '#/components/schemas/Index'
        default:
          type: boolean
        color:
          $ref: '#/components/schemas/EntityColor'
    StatusList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/Status'
    Status:
      allOf:
      - $ref: '#/components/schemas/OptionValue'
      - properties:
          color:
            type: string
          archived:
            type: boolean
            description: Determines whether the status is archived. Archived statuses
              are read-only and cannot be assigned to entities.
            default: false
          default:
            type: boolean
            default: false
    CreateStatusInput:
      required:
      - name
      - projectKey
      - type
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/StatusName'
        type:
          $ref: '#/components/schemas/StatusType'
        description:
          $ref: '#/components/schemas/StatusDescription'
        color:
          $ref: '#/components/schemas/EntityColor'
    StatusType:
      type: string
      description: Determines which type of entity the status belongs to.
      enum:
      - TEST_CASE
      - TEST_PLAN
      - TEST_CYCLE
      - TEST_EXECUTION
    StatusDescription:
      maxLength: 255
      minLength: 1
      type: string
      description: The status description.
      example: An important status
    StatusNotFoundOrUserAccessError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 404
        message:
          type: string
          example: Status '1' does not exist or you do not have access to it
    UpdateStatusInput:
      required:
      - archived
      - default
      - id
      - index
      - name
      - project
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        project:
          $ref: '#/components/schemas/ProjectLink'
        name:
          $ref: '#/components/schemas/StatusName'
        description:
          $ref: '#/components/schemas/StatusDescription'
        index:
          $ref: '#/components/schemas/Index'
        archived:
          type: boolean
        default:
          type: boolean
        color:
          $ref: '#/components/schemas/EntityColor'
    EnvironmentList:
      allOf:
      - $ref: '#/components/schemas/PagedList'
      - properties:
          values:
            type: array
            items:
              $ref: '#/components/schemas/Environment'
    Environment:
      allOf:
      - $ref: '#/components/schemas/OptionValue'
      - properties:
          archived:
            type: boolean
            default: false
    CreateEnvironmentInput:
      required:
      - name
      - projectKey
      type: object
      properties:
        projectKey:
          $ref: '#/components/schemas/ProjectKey'
        name:
          $ref: '#/components/schemas/EnvironmentName'
        description:
          $ref: '#/components/schemas/EnvironmentDescription'
    EnvironmentName:
      maxLength: 255
      minLength: 1
      type: string
      description: The environment name.
      example: Development
    EnvironmentDescription:
      maxLength: 255
      minLength: 1
      type: string
      description: The environment description.
      example: New development environment
    DuplicatedNameError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: An environment with this name already exists.
    EmptyNameError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: The name field cannot be null or empty
    UserAccessError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: Cannot access projects 'ProjectKey'
    ProjectKeyMismatchError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: Provided project does not match the current project.
    EnvironmentNotFoundOrUserAccessError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 404
        message:
          type: string
          example: Environment '1' does not exist or you do not have access to it
    UpdateEnvironmentInput:
      required:
      - id
      - index
      - name
      - project
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        project:
          $ref: '#/components/schemas/ProjectLink'
        name:
          $ref: '#/components/schemas/EnvironmentName'
        description:
          $ref: '#/components/schemas/EnvironmentDescription'
        index:
          $ref: '#/components/schemas/Index'
    IndexValueError:
      required:
      - errorCode
      - message
      type: object
      properties:
        errorCode:
          type: integer
          example: 400
        message:
          type: string
          example: Index must be an integer greater or equal to 0
    TestCaseKeyAndVersionList:
      type: array
      description: A list of test case keys and versions
      items:
        $ref: '#/components/schemas/TestCaseKeyAndVersion'
    TestCaseKeyAndVersion:
      example:
        key: PROJ-42
        version: 1
        self: https://<api-base-url>/testcases/PROJ-42/versions/1
      allOf:
      - $ref: '#/components/schemas/KeyAndVersion'
      - $ref: '#/components/schemas/Link'
    KeyAndVersion:
      type: object
      properties:
        key:
          type: string
        version:
          type: integer
          format: int64
    TestCycleIdList:
      type: array
      description: A list of test cycles
      items:
        $ref: '#/components/schemas/TestCycleId'
    TestCycleId:
      example:
        id: 1
        self: https://<api-base-url>/testcycles/1
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    TestPlanIdList:
      type: array
      description: A list of test plans
      items:
        $ref: '#/components/schemas/TestPlanId'
    TestPlanId:
      example:
        id: 1
        self: https://<api-base-url>/testplans/1
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    TestExecutionIdList:
      type: array
      description: A list of test executions
      items:
        $ref: '#/components/schemas/TestExecutionId'
    TestExecutionId:
      example:
        id: 1
        self: https://<api-base-url>/testexecutions/1
      allOf:
      - $ref: '#/components/schemas/ResourceId'
      - $ref: '#/components/schemas/Link'
    AutomationTestCycleInput:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/EntityName'
        description:
          $ref: '#/components/schemas/EntityDescription'
        jiraProjectVersion:
          $ref: '#/components/schemas/JiraProjectVersionId'
        folderId:
          minimum: 1
          type: integer
          description: ID of a folder to place the entity within.
          format: int64
        customFields:
          $ref: '#/components/schemas/CustomFields'
      description: Pass this object as a JSON in your form-data alongside the file.
        Make sure you set the type of this object as `application/json` otherwise
        the object will be ignored.
    AutomationResult:
      type: object
      properties:
        testCycle:
          $ref: '#/components/schemas/AutomationTestCycle'
    AutomationTestCycle:
      type: object
      properties:
        id:
          minimum: 1
          type: integer
          description: The id of the newly created test cycle.
          format: int64
        url:
          type: string
          description: The URL pointing to the newly created test cycle.
        key:
          pattern: "([A-Z][A-Z_0-9]+-R[0-9]+)"
          type: string
          description: The key of the newly created test cycle.
  responses:
    DefaultError:
      description: An error has occurred. Please check the code and the error message.
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    KeyCreatedResource:
      description: Created
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/KeyedCreatedResource'
    OkNoContent:
      description: OK
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
    CreatedResource:
      description: Created
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreatedResource'
    CreatedWithLocationHeaders:
      description: Created
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
        location:
          description: URL of the created link
          schema:
            type: string
            format: url
    AutomationResult:
      description: OK
      headers:
        Access-Control-Allow-Headers:
          $ref: '#/components/headers/Access-Control-Allow-Headers'
        Access-Control-Allow-Methods:
          $ref: '#/components/headers/Access-Control-Allow-Methods'
        Access-Control-Allow-Origin:
          $ref: '#/components/headers/Access-Control-Allow-Origin'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AutomationResult'
  headers:
    Access-Control-Allow-Headers:
      schema:
        type: string
    Access-Control-Allow-Methods:
      schema:
        type: string
    Access-Control-Allow-Origin:
      schema:
        type: string
  securitySchemes:
    AccessToken:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: custom
      x-amazon-apigateway-authorizer:
        type: token
        authorizerUri:
          Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${CustomAuthorizerFunction.Arn}/invocations"
        authorizerCredentials:
          Fn::Sub: "${ApiGatewayAuthorizerRole.Arn}"
        authorizerResultTtlInSeconds: 60
x-tagGroups:
- name: API Endpoints
  tags:
  - Test Cases
  - Test Cycles
  - Test Plans
  - Test Executions
  - Folders
  - Statuses
  - Priorities
  - Environments
  - Projects
  - Links
  - Issue Links
  - Automations
  - Healthcheck
x-amazon-apigateway-api-key-source: AUTHORIZER
x-amazon-apigateway-request-validators:
  basic:
    validateRequestBody: true
    validateRequestParameters: true
  params-only:
    validateRequestBody: false
    validateRequestParameters: true
x-amazon-integration:
  x-amazon-apigateway-request-validator: basic
  x-amazon-apigateway-integration:
    httpMethod: post
    type: aws_proxy
    uri:
      Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
  security:
  - AccessToken: []
x-amazon-apigateway-binary-media-types:
- multipart/form-data
- application/zip
