Testim Io Executions API

Get execution results

OpenAPI Specification

testim-io-executions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Testim.io Public API for branches and tests
  version: 1.0.0
  title: Testim.io Public Branches Executions API
  contact:
    email: support@testim.io
servers:
- url: https://api.testim.io
- url: https://api.eu.testim.io
security:
- apiKeyAuth: []
tags:
- name: Executions
  description: Get execution results
paths:
  /runs/executions:
    get:
      summary: Get executions results
      description: Get the list of executions remote runs.
      tags:
      - Executions
      parameters:
      - in: query
        name: page
        required: false
        description: the page number
        schema:
          default: 0
          example: 0
          type: number
      - in: query
        name: pageSize
        required: false
        description: total rows to get on each page.
        schema:
          default: 200
          example: 300
          type: number
      - in: query
        name: fromDate
        required: false
        description: filter data from this given date (ISO 8601 format)
        schema:
          default: start of today
          example: 05-01-2020, 2020-05-01 or 2020-05-01T00:00:00
          format: YYYY-MM-DD, MM-DD-YYYY, YYYY-MM-DDTHH:MM:SSZ
          type: string
      - in: query
        name: toDate
        required: false
        description: filter date to this date (ISO 8601 format)
        schema:
          default: end of today
          example: 05-01-2020, 2020-05-01 or 2020-05-01T10:00:00
          format: YYYY-MM-DD, MM-DD-YYYY, YYYY-MM-DDTHH:MM:SSZ
          type: string
      - in: query
        name: status
        required: false
        description: execution status to filter by.
        schema:
          example: passed
          type: string
      - in: query
        name: browser
        required: false
        description: browser name to filter by.
        schema:
          example: chrome
          type: string
      - in: query
        name: name
        description: execution name to filter by.
        schema:
          type: string
      - in: query
        name: resultLabel
        description: resultLabel or multi resultLabels to filter by.
        schema:
          type: array
          items:
            type: string
      - in: query
        name: branch
        description: branch name or multi branch names to filter by.
        schema:
          example:
          - master
          type: array
          items:
            type: string
      - in: query
        name: strictNameSearch
        description: Search execution with strict name match
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Executions runs result
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalRecords:
                    type: number
                    description: total rows
                    example: 300
                  page:
                    type: number
                    description: current page index
                    example: 0
                  pageSize:
                    type: number
                    description: max items on each page
                    example: 200
                  executions:
                    type: array
                    items:
                      type: object
                      properties:
                        execution:
                          type: string
                          description: The name of the execution
                          example: remote-run
                        executionId:
                          type: string
                          description: The id of the execution
                          example: OSApM0g8f3FRQnvN
                        executionResult:
                          type: string
                          description: Wether the execution passed or failed
                          example: Failed
                        duration:
                          type: number
                          description: The amount of time (MS) the execution took
                        totalTests:
                          type: number
                          description: The amount of tests executed
                          example: 1
                        failedCount:
                          type: number
                          description: The amount of failed tests
                          example: 1
                        concurrency:
                          type: number
                          description: The amount of tests executed in parallel
                          example: 1
                        branch:
                          type: string
                          description: The branch of the tests executed
                          example: master
                        browser:
                          type: array
                          description: The name of the browser the tests were executed in
                          items:
                            type: string
                            example: chrome
                        startTime:
                          type: string
                          description: the state time of the execution
                          example: 2022-05-10 02:39:54.483000+00:00
                        turboMode:
                          type: boolean
                          description: Wether the execution used Testim's Turbo Mode or not
                          example: false
                        success:
                          type: boolean
                          description: indication of the execution result
                          example: false
                        resultLabels:
                          type: array
                          description: hold the result labels as array of string for the execution if exists
                          items:
                            type: string
                            example: scheduler-run
                        link:
                          type: string
                          description: A link to the execution result in Testim editor
                  metaData:
                    $ref: '#/components/schemas/metaData'
        '400':
          $ref: '#/components/responses/InvalidOrMissingProperty'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '403':
          $ref: '#/components/responses/ApiKeyInsufficientPermissions'
        '404':
          $ref: '#/components/responses/ExecutionDoesNotExist'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /runs/executions/{executionId}:
    get:
      summary: Get execution results
      description: Get the result of an execution, together with its failing tests, with a list of the failed steps of the test
      tags:
      - Executions
      parameters:
      - in: path
        name: executionId
        required: true
        description: The ID of the execution to get details
        schema:
          example: EXECUTION_ID
          type: string
      responses:
        '200':
          description: Execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  executionId:
                    type: string
                    description: The execution ID
                  startTime:
                    type: string
                    description: Execution start time in ISO 8601 format
                    example: 2022-05-10 02:39:54.483000+00:00
                  source:
                    type: string
                    description: The method which of execution initiation
                    enum:
                    - cli
                    - scheduler
                    - editor
                    - remote-run
                    - local
                  branch:
                    type: string
                    description: The branch of the tests executed
                    example: master
                  execution:
                    type: string
                    description: The name of the execution
                    example: remote-run
                  concurrency:
                    type: number
                    description: The amount of tests executed in parallel
                    example: 1
                  executionResult:
                    type: string
                    description: Wether the execution passed or failed
                    example: Failed
                  browser:
                    type: string
                    description: The name of the browser the tests were executed in
                    example: chrome
                  failedCount:
                    type: number
                    description: The amount of failed tests
                    example: 1
                  totalTests:
                    type: number
                    description: The amount of tests executed
                    example: 1
                  link:
                    type: string
                    description: A link to the execution result in Testim editor
                  turboMode:
                    type: boolean
                    description: Wether the execution used Testim's Turbo Mode or not
                  duration:
                    type: number
                    description: The amount of time (MS) the execution took
                  failedTests:
                    type: array
                    description: A list of the failed tests
                    items:
                      type: object
                      properties:
                        testId:
                          type: string
                          description: The test ID
                        testName:
                          type: string
                          description: The name of the failed test
                        errorMessage:
                          type: string
                          description: The error message with test failure reason
                        executionResult:
                          type: string
                          description: Wether the execution passed or failed
                        link:
                          type: string
                          description: A link to the test result in Testim editor
                        failedSteps:
                          type: array
                          description: A list of the failed steps in the test
                          items:
                            type: object
                            properties:
                              reason:
                                type: string
                                description: The reason the step failed
                              name:
                                type: string
                                description: The name of the failing step
                        failureType:
                          type: string
                          description: The type of failure the test was tagged with
                          enum:
                          - Bug in app
                          - Environment Issue
                          - Invalid test data
                          - Test design
                          - New UI change
                          - Other
                        failureDescription:
                          type: string
                          description: User supplied description for the particular failure
                        linkToFailureIssue:
                          type: string
                          description: User supplied url to the an issue tracker ticket for the particular issue
                          example: http://demo.jira.com/issue/234234
                        baseUrl:
                          type: string
                          description: The base URL used
                          example: https://api.testim.io
                        startTime:
                          type: string
                          description: Test execution start time in ISO 8601 format
                          example: 2022-05-10 02:39:54.483000+00:00
                        duration:
                          type: string
                          description: Time from startTime to the end of the test (in milliseconds)
                    $ref: '#/components/schemas/metaData'
        '400':
          $ref: '#/components/responses/InvalidOrMissingProperty'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '403':
          $ref: '#/components/responses/ApiKeyInsufficientPermissions'
        '404':
          $ref: '#/components/responses/ExecutionDoesNotExist'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /v2/runs/executions/{executionId}:
    get:
      summary: Get execution results
      description: Get all test results in the given execution
      tags:
      - Executions
      parameters:
      - in: path
        name: executionId
        required: true
        description: The ID of the execution to get details
        schema:
          example: EXECUTION_ID
          type: string
      - in: query
        name: page
        description: the page number
        schema:
          default: 0
          example: 0
          type: number
      - in: query
        name: pageSize
        description: limit return test
        schema:
          default: 200
          example: 200
          type: number
      responses:
        '200':
          description: Execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The execution ID
                  startTime:
                    type: string
                    description: Execution start time in ISO 8601 format
                    example: 2022-05-10 02:39:54.483000+00:00
                  source:
                    type: string
                    description: The method which of execution initiation
                    enum:
                    - cli
                    - scheduler
                    - editor
                    - remote-run
                    - local
                  branch:
                    type: string
                    description: The branch of the tests executed
                    example: master
                  execution:
                    type: string
                    description: The name of the execution
                    example: remote-run
                  concurrency:
                    type: number
                    description: The amount of tests executed in parallel
                    example: 1
                  executionResult:
                    type: string
                    description: Whether the execution passed or failed
                    example: Failed
                  browser:
                    type: string
                    description: The name of the browser the tests were executed in
                    example: chrome
                  failedCount:
                    type: number
                    description: The amount of failed tests
                    example: 1
                  passedCount:
                    type: number
                    description: The amount of passed tests
                    example: 1
                  abortedCount:
                    type: number
                    description: The amount of aborted tests
                    example: 1
                  timedOutTests:
                    type: number
                    description: The amount of timed out tests
                    example: 1
                  totalTests:
                    type: number
                    description: The amount of tests executed
                    example: 1
                  link:
                    type: string
                    description: A link to the execution result in Testim's editor
                  turboMode:
                    type: boolean
                    description: Whether the execution used Testim's Turbo Mode or not
                  duration:
                    type: number
                    description: The amount of time (MS) the execution took
                  tests:
                    type: array
                    description: A list of the all included tests
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The test ID
                        testName:
                          type: string
                          description: The name of the test
                        errorMessage:
                          type: string
                          description: The error message with test failure reason
                        executionStatus:
                          type: string
                          description: test status
                        link:
                          type: string
                          description: A link to the test result in Testim editor
                        failureType:
                          type: string
                          description: The type of failure the test was tagged with
                          enum:
                          - Bug in app
                          - Environment Issue
                          - Invalid test data
                          - Test design
                          - New UI change
                          - Other
                        failureDescription:
                          type: string
                          description: User supplied description for the particular failure
                        linkToFailureIssue:
                          type: string
                          description: User supplied url to the an issue tracker ticket for the particular issue
                          example: http://demo.jira.com/issue/234234
                        baseUrl:
                          type: string
                          description: The base URL used
                          example: https://api.testim.io
                        startTime:
                          type: string
                          description: Test execution start time in ISO 8601 format
                          example: 2022-05-10 02:39:54.483000+00:00
                        duration:
                          type: string
                          description: Time from startTime to the end of the test (in milliseconds)
                        failedSteps:
                          type: array
                          description: A list of the failed steps in the test
                          items:
                            type: object
                            properties:
                              reason:
                                type: string
                                description: The reason the step failed
                              name:
                                type: string
                                description: The name of the failing step
                  metaData:
                    $ref: '#/components/schemas/metaData'
        '400':
          $ref: '#/components/responses/InvalidOrMissingProperty'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '403':
          $ref: '#/components/responses/ApiKeyInsufficientPermissions'
        '404':
          $ref: '#/components/responses/ExecutionDoesNotExist'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /runs/tests/{testResultId}:
    get:
      summary: Get test result
      description: Get the result of a test, together with all its steps. <br> To see run parameters, specify "runParams=true". <br> To see steps results, specify "stepsResults=true". <br> <br> *Only remote runs are supported
      tags:
      - Executions
      parameters:
      - in: path
        name: testResultId
        required: true
        description: The ID of the result to get details
        schema:
          example: RESULT_ID
          type: string
      - in: query
        name: runParams
        description: Retrieve the test's run parameters
        schema:
          example: false
          type: boolean
      - in: query
        name: stepsResults
        description: Retrieve the test's steps results
        schema:
          example: false
          type: boolean
      responses:
        '200':
          description: Test result
          content:
            application/json:
              schema:
                type: object
                properties:
                  testResult:
                    type: object
                    properties:
                      testId:
                        type: string
                        description: The test ID
                      testName:
                        type: string
                        description: The name of the test
                      link:
                        type: string
                        description: Link to open test in Testim editor
                      branch:
                        type: string
                        description: The name of the branch to execute tests from
                      baseURL:
                        type: string
                      configuration:
                        type: string
                        description: The test configuration name
                      executionDate:
                        type: string
                        example: '2022-12-31'
                      executionTime:
                        type: string
                        example: '10:59:59'
                      turboMode:
                        type: boolean
                      testResult:
                        type: string
                        description: Could be 'Passed' or 'Failed'
                        example: Passed
                      errorMessage:
                        type: string
                        description: Test result failure message
                      runParams:
                        type: object
                      duration:
                        type: number
                        description: In seconds
                      testStatus:
                        type: string
                        description: e.g Draft, Evaluating, Active, Quarantine
                      browser:
                        type: string
                        example: chrome
                      owner:
                        type: string
                        example: rosie@testim.io
                        description: The owner user email
                      stepsResults:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                            type:
                              type: string
                            treatAsWarning:
                              type: boolean
                            description:
                              type: string
                            sharedStep:
                              type: boolean
                            duration:
                              type: string
                              description: In seconds
                            status:
                              type: string
                              description: Could be 'Passed' or 'Failed'
                              example: Passed
                            errorMessage:
                              type: string
                            tabURL:
                              type: string
                            screenshot:
                              type: string
                            screenshots:
                              type: object
                              properties:
                                baseline:
                                  type: string
                                result:
                                  type: string
                                highlightedBaseline:
                                  type: string
                                highlightedResult:
                                  type: string
                                accessibleUntil:
                                  type: integer
                                  example: 1693808555043
                            path:
                              type: array
                              items:
                                type: string
                      failureType:
                        type: string
                        description: The type of failure the test was tagged with
                        enum:
                        - Bug in app
                        - Environment Issue
                        - Invalid test data
                        - Test design
                        - New UI change
                        - Other
                      failureDescription:
                        type: string
                        description: The type of failure the test was tagged with
                      linkToFailureIssue:
                        type: string
                        description: User supplied url to the an issue tracker ticket for the particular issue
                        example: http://demo.jira.com/issue/234234
                      startTime:
                        type: string
                        description: Test execution start time in ISO 8601 format
                        example: 2022-05-10 02:39:54.483000+00:00
                  metaData:
                    $ref: '#/components/schemas/metaData'
        '400':
          $ref: '#/components/responses/InvalidOrMissingProperty'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '403':
          $ref: '#/components/responses/ApiKeyInsufficientPermissions'
        '404':
          $ref: '#/components/responses/TestResultDoesNotExist'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  responses:
    TooManyRequests:
      description: Project or API key rate limiting has been reached
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InvalidApiKey:
      description: 'Issue authenticating request: missing or invalid API Key'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TestResultDoesNotExist:
      description: Specified test result ID does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InvalidOrMissingProperty:
      description: A required property is either missing or it's value is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ApiKeyInsufficientPermissions:
      description: API key does not have suffiecient permission to make the request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ExecutionDoesNotExist:
      description: Specified execution ID does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    requestId:
      type: string
      example: RQ-HykKrXuMxrp47BRbdWWO-41ed477e-4052-4904-ab98-034f6285e60e
    metaData:
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/requestId'
      required:
      - requestId
    Error:
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/requestId'
        error:
          type: object
          properties:
            message:
              type: string
            status:
              type: number
              example: 400
          required:
          - status
          - message
      required:
      - string
      - error
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: PAK-[RANDOM_KEY]